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',
)