Skip to main content

Kom i gang med ArgoKit

Installer ArgoKit i ditt apps reop

Om du ikke har installert argokit enda, ser du hvordan her!

Importer ArgoKit V2

Import path er relativ til hvord du befinner deg i koden.

local argokit = import '../argokit/v2/jsonnet/argokit.libsonnet';

Definer en applikasjon

Lag en ny Skiperator-applikasjon med ArgoKit appAndObjects-abstraksjonen:

Tips! Lag en ny variabel for application for å få kortere uttrykk.

local application = argokit.appAndObjects.application;

application.new('app-name', 'test-image', 3000)

🎉 Sånn! Der har du en minimal applikasjon som kan kjøres på SKIP!

🤔 Lurer du på om manifestet ditt er gyldig? Installer skipctl og kjør:

skipctl manifests validate --path=<ditt-manifest.jsonnet>

så slipper du å lure. 😎


Bygge spec-en

Miljøvariabler

Med ArgoKit kan du legge til variabler med withEnvironmentVariable funksjonen

application.new('app-name', 'test-image', 3000)
+ application.withEnvironmentVariable('NAME', value)

Du kan også legge til miljøvariabler fra secrets:

application.new('app-name', 'test-image', 3000)
+ application.withEnvironmentVariablesFromSecret('API_KEY', 'secretRef')

Access Policies

Det finnes en rekke funksjoner for å sette access policies i ArgoKit, her kan vi sette opp tilgang til en Postgres-database fra en SKIP-app:

application.new('app-name', 'test-image', 3000)
+ application.withOutboundPostgres(host='database-host.com', ip='10.0.0.1')
+ application.withInboundSkipApp(appname='other-app', namespace='other-namespace')

Ingress

Konfigurering av ingress gjøres slik:

application.new('app-name', 'test-image', 3000)
+ application.forHostnames('public-api-url.com')

Replicas

Replicas settes enkelt opp slik:

application.new('app-name', 'test-image', 3000)
+ application.withReplicas(initial=2, max=10)

Probes

Probes for startup, liveness og readiness legges til slik:

local livenessProbe = application.probe(
path='/health',
port=8080,
failureThreshold=5,
timeout=0,
initialDelay=5
);

local readinessProbe = application.probe(path='/health', port=8080);

application.new('app-name', 'test-image', 3000)
+ application.withLiveness(livenessProbe)
+ application.withStartup(livenessProbe)
+ application.withReadiness(readinessProbe)

Legge til flere ressursser

Azure AD Application

Azure AD kan legges til slik, dette vil legge AzureAdApplication til som en kubernetes ressurss i manifestet ditt, i tillegg til å legge til access policies og en secret i applikasjonen din.

application.new('app-name', 'test-image', 3000)
+ application.withAzureAdApplication(
name='app-name-ad',
namespace='team-namespace',
groups=['12345-12345-12345-12345'],
logoutUrl='some-url.com',
)