Skip to main content

ArgoKit v2 API Reference

Jsonnet ArgoKit API​

argokit.appAndObjects.application.new()​

Oppretter en Skiperator‑applikasjon ved Ă„ bruke appAndObjects‑konvensjonen (dette er standard).

navntypeobligatoriskstandardverdibeskrivelse
namestringtrue-navn pÄ applikasjonen
imagestringtrue-image som skal kjĂžres
portnumbertrue-port applikasjonen skal kjÞre pÄ

Eksempel: examples/application.jsonnet

argokit.appAndObjects.application.withObjects()​

Legg til ekstra objekter i objects-listen til appAndObjects-strukturen.

navntypeobligatoriskstandardverdibeskrivelse
objectsarray or objecttrue-objekter som skal legges til i manifestet

Eksempel: examples/additionalObjects.jsonnet

ArgoKit's Replicas API​

OBS! Det anbefales ikke Ă„ kjĂžre med fĂŠrre enn 2 replikaer. Dette antallet er satt for at du skal ha god nok tilgjengelighet for applikasjonen din, med Ă„ legge til redundans.

argokit.appAndObjects.application.withReplicas()​

Sett replikaer for en applikasjon med autoskalering basert pÄ CPU og minne.

navntypeobligatoriskstandardverdibeskrivelse
initialnumbertrue-initialt antall replikaer (2 er anbefalt)
maxnumberfalse-maksimum antall replikaer (hvis satt, aktiverer autoskalering)
targetCpuUtilizationnumberfalse-CPU-terskel i prosent fĂžr autoskalering
targetMemoryUtilizationnumberfalse-Minneterskel i prosent fĂžr autoskalering

Eksempel: examples/replicas.jsonnet

ArgoKit's Resources API​

Konfigurer CPU og minneressurser for applikasjoner. Requests definerer minimumsressurser containeren trenger, mens limits definerer maksimalressurser containeren kan bruke.

argokit.appAndObjects.application.resources.withRequests()​

Sett ressurskrav (requests) for applikasjonscontaineren.

navntypeobligatoriskstandardverdibeskrivelse
cpustring or numberfalse-CPU-krav. Kan vĂŠre tall (f.eks. 1, 0.5) eller string med "m" suffiks (f.eks. "100m")
memorystring or numberfalse-Minnekrav. Kan vĂŠre tall (bytes) eller string med suffiks (f.eks. "128Mi", "1Gi"). StĂžttede suffikser: Ei, Pi, Ti, Gi, Mi, Ki, E, P, T, G, M, k

Eksempel: examples/appWithResources.jsonnet

argokit.appAndObjects.application.resources.withLimits()​

Sett ressursgrenser (limits) for applikasjonscontaineren.

navntypeobligatoriskstandardverdibeskrivelse
cpustring or numberfalse-CPU-grense. Kan vĂŠre tall (f.eks. 1, 2.0) eller string med "m" suffiks (f.eks. "500m")
memorystring or numberfalse-Minnegrense. Kan vĂŠre tall (bytes) eller string med suffiks (f.eks. "512Mi", "2Gi"). StĂžttede suffikser: Ei, Pi, Ti, Gi, Mi, Ki, E, P, T, G, M, k

Eksempel: examples/appWithResources.jsonnet

ArgoKit's Environment API​

argokit.appAndObjects.application.withEnvironmentVariable()​

Oppretter en miljĂžvariabel for en applikasjon.

navntypeobligatoriskstandardverdibeskrivelse
namestringtrue-navn pÄ miljÞvariabelen
valuestringtrue-verdi for miljĂžvariabelen

Eksempel: examples/environment.jsonnet

argokit.appAndObjects.application.withEnvironmentVariables()​

Oppretter flere miljĂžvariabler for en applikasjon.

navntypeobligatoriskstandardverdibeskrivelse
envVarsobjecttrue-objekt med nĂžkkelverdi par for miljĂžvariabler

Eksempel: examples/environment.jsonnet

argokit.appAndObjects.application.withEnvironmentVariableFromSecret()​

Oppretter en miljĂžvariabel fra en hemmelighet.

navntypeobligatoriskstandardverdibeskrivelse
namestringtrue-navn pÄ miljÞvariabelen
secretRefstringtrue-navn pÄ hemmelighet
keystringfalsenamenĂžkkel i hemmelighet (default er samme som name)

Eksempel: examples/environment.jsonnet

argokit.appAndObjects.application.withEnvironmentVariablesFromSecret()​

Oppretter miljĂžvariabler fra en hemmelighet.

navntypeobligatoriskstandardverdibeskrivelse
secretNamestringtrue-navn pÄ hemmelighet

Eksempel: examples/environment.jsonnet

ArgoKit's Ingress API​

argokit.appAndObjects.application.forHostnames()​

Oppretter ingress for en applikasjon.

navntypeobligatoriskstandardverdibeskrivelse
ingressarray or string or objecttrue-kan vĂŠre en string med hostname, en array av hostnames/objekter, eller et objekt med customCert

Eksempel: examples/ingress.jsonnet

ArgoKit's accessPolicies API​

Du kan definere hvilke eksterne tjenester (verter/IP‑er) og interne SKIP‑applikasjoner appen din kan kommunisere med.

argokit.appAndObjects.application.withOutboundPostgres()​

Tillat utgĂ„ende trafikk til en Postgres‑instans.

navntypeobligatoriskstandardverdibeskrivelse
hoststringtrue-vertsnavn til Postgres-instansen
ipstringtrue-IP-adresse til Postgres-instansen

Eksempel: examples/accessPolicies.jsonnet

argokit.appAndObjects.application.withOutboundOracle()​

Tillat utgĂ„ende trafikk til en Oracle‑database.

navntypeobligatoriskstandardverdibeskrivelse
hoststringtrue-vertsnavn til Oracle-databasen
ipstringtrue-IP-adresse til Oracle-databasen

Eksempel: examples/accessPolicies.jsonnet

argokit.appAndObjects.application.withOutboundSsh()​

Tillat utgÄende SSH.

navntypeobligatoriskstandardverdibeskrivelse
hoststringtrue-vertsnavn til SSH-serveren
ipstringtrue-IP-adresse til SSH-serveren

Eksempel: examples/accessPolicies.jsonnet

argokit.appAndObjects.application.withOutboundLdaps()​

Tillat utgĂ„ende sikker LDAP‑port.

navntypeobligatoriskstandardverdibeskrivelse
hoststringtrue-vertsnavn til LDAP-serveren
ipstringtrue-IP-adresse til LDAP-serveren

Eksempel: examples/accessPolicies.jsonnet

argokit.appAndObjects.application.withOutboundHttp()​

Tillat utgÄende HTTPS/HTTP til en vert.

navntypeobligatoriskstandardverdibeskrivelse
hoststringtrue-vertsnavn til serveren
portnamestringfalse-navn pÄ porten
portnumberfalse443portnummer
protocolstringfalse-protokoll (HTTP/HTTPS)

Eksempel: examples/accessPolicies.jsonnet

argokit.appAndObjects.application.withOutboundSkipApp()​

Tillat utgĂ„ende trafikk til en annen SKIP‑applikasjon (utgĂ„ende regel).

navntypeobligatoriskstandardverdibeskrivelse
appnamestringtrue-navn pÄ SKIP-applikasjonen
namespacestringfalse-namespace til applikasjonen

Eksempel: examples/accessPolicies.jsonnet

argokit.appAndObjects.application.withInboundSkipApp()​

Tillat en annen SKIP‑applikasjon Ă„ nĂ„ denne (inngĂ„ende regel).

navntypeobligatoriskstandardverdibeskrivelse
appnamestringtrue-navn pÄ SKIP-applikasjonen
namespacestringfalse-namespace til applikasjonen

Eksempel: examples/accessPolicies.jsonnet

ArgoKit's Probe API​

Konfigurer helseprober for applikasjoner.

argokit.appAndObjects.application.probe()​

Bygger et probe‑objekt (sti, port, terskler)

navntypeobligatoriskstandardverdibeskrivelse
pathstringtrue-sti til probe-endepunktet
portnumbertrue-port for probe
failureThresholdnumberfalse3antall feil fĂžr probe feiler
timeoutnumberfalse1timeout i sekunder
initialDelaynumberfalse0forsinkelse fĂžr fĂžrste probe

Eksempel: examples/probes.jsonnet

argokit.appAndObjects.application.withReadiness()​

Legger til en readiness‑probe (styrer nĂ„r trafikk sendes til poden).

navntypeobligatoriskstandardverdibeskrivelse
probeobjecttrue-probe-objekt opprettet med probe()

Eksempel: examples/probes.jsonnet

argokit.appAndObjects.application.withLiveness()​

Legger til en liveness‑probe (restarter container ved feil).

navntypeobligatoriskstandardverdibeskrivelse
probeobjecttrue-probe-objekt opprettet med probe()

Eksempel: examples/probes.jsonnet

argokit.appAndObjects.application.withStartup()​

Legger til en startup‑probe (blokkerer andre prober til den lykkes).

navntypeobligatoriskstandardverdibeskrivelse
probeobjecttrue-probe-objekt opprettet med probe()

Eksempel: examples/probes.jsonnet

ArgoKit's Prometheus API​

Konfigurer Prometheus metrics scraping for applikasjoner.

argokit.appAndObjects.application.withPrometheus()​

Konfigurer hvordan Prometheus‑kompatible metrics skal hentes (scraped).

navntypeobligatoriskstandardverdibeskrivelse
pathstringtrue-sti hvor metrics er eksponert (f.eks. /metrics, /actuator/prometheus)
portnumbertrue-portnummer hvor metrics er eksponert
allowAllMetricsbooleanfalsefalsehvis true, vil alle eksponerte metrics bli skrapet. Ellers vil en forhÄndsdefinert liste med metrics bli droppet. Ref: https://github.com/kartverket/skiperator/blob/main/pkg/util/constants.go#L19-L23

Eksempel: examples/application-with-prometheus.jsonnet

Alternativ syntaks: Du kan ogsÄ sette prometheus direkte via objektsyntaks:

+ {
application+: {
spec+: {
prometheus: {
path: '/kommuneinfo/v1/metrics',
port: 5000,
},
},
},
}

ArgoKit's routing API​

Konfigurer ruting for applikasjoner pÄ SKIP.

argokit.routing.new()​

Bygger et rute‑objekt.

navntypeobligatoriskstandardverdibeskrivelse
namestringtrue-navn pÄ rute-objektet
hostnamestringtrue-vertsnavn for ruten
redirectToHTTPSbooleanfalsetrueom trafikk skal omdirigeres til HTTPS

Eksempel: examples/routing.jsonnet

argokit.routing.withRoute()​

Legg til rute i routing‑objektet.

navntypeobligatoriskstandardverdibeskrivelse
pathPrefixstringtrue-prefix for ruten
targetAppstringtrue-mÄlapplikasjon
rewriteUribooleantrue-om URI skal omskrives
portnumberfalsenullport for mÄlapplikasjonen

Eksempel: examples/routing.jsonnet

ArgoKit's Rolebinding API​

Konfigurer rolebinding‑ressurser for applikasjoner pĂ„ SKIP. Opprett ressursen med funksjonen new(), og legg deretter til enten brukere eller en gruppe som subject.

argokit.k8s.rolebinding.new()​

Opprett en ny rolebinding‑ressurs.

OBS: Denne funksjonen mÄ utvides med enten withUsers() eller withNamespaceAdminGroup() for Ä vÊre komplett.

navntypeobligatoriskstandardverdibeskrivelse
----ingen parametere

Eksempel: examples/rolebinding.jsonnet

argokit.k8s.rolebinding.withUsers()​

Legg til en liste over brukere som subjects.

navntypeobligatoriskstandardverdibeskrivelse
usersarraytrue-liste over brukernavn

Eksempel: examples/rolebinding.jsonnet

argokit.k8s.rolebinding.withNamespaceAdminGroup()​

Legg til en namespace‑admin-group som subject.

navntypeobligatoriskstandardverdibeskrivelse
groupNamestringtrue-navn pÄ gruppen

Eksempel: examples/rolebinding.jsonnet

ArgoKit's ExternalSecret API​

Konfigurer ExternalSecrets og SecretStore.

argokit.externalSecrets.secret.new()​

Opprett en ny ekstern secret.

navntypeobligatoriskstandardverdibeskrivelse
namestringtrue-navn pÄ hemmelighet
secretsarrayfalse[]array av secret objekter med fromSecret
allKeysFromarrayfalse[]array av secret objekter med fromSecret for Ă„ hente alle keys
secretStoreRefstringfalse'gsm'navn pÄ store

OBS: Enten secrets eller allKeysFrom mÄ inneholde minst ett element.

Eksempel: examples/externalSecrets.jsonnet

argokit.externalSecrets.store.new()​

Opprett en ny ekstern SecretStore.

navntypeobligatoriskstandardverdibeskrivelse
namestringfalse'gsm'navn pÄ store
gcpProjectstringtrue-GCP prosjekt ID

Eksempel: examples/externalSecrets.jsonnet

ArgoKit's ConfigMap API​

Konfigurer ConfigMap‑ressurser for applikasjoner pĂ„ SKIP. Alle metoder har parameteren addHashToName for Ă„ opprette ConfigMap med et unikt navn (hashet suffiks).

argokit.k8s.configMap.new()​

Opprett en ny ConfigMap.

navntypeobligatoriskstandardverdibeskrivelse
namestringtrue-navn pÄ ConfigMap
dataobjecttrue-data i ConfigMap
addHashToNamebooleanfalsefalseom hash skal legges til navnet

Eksempel: examples/configMap.jsonnet

argokit.appAndObjects.application.withConfigMapAsEnv()​

Opprett en ny ConfigMap og legg innholdet som env i applikasjonen. Hver nĂžkkel i ConfigMap blir en egen miljĂžvariabel med en tilsvarende verdi i applikasjonen.

navntypeobligatoriskstandardverdibeskrivelse
namestringtrue-navn pÄ ConfigMap
dataobjecttrue-data i ConfigMap
addHashToNamebooleanfalsefalseom hash skal legges til navnet

Eksempel: examples/withConfigMap.jsonnet

argokit.appAndObjects.application.withConfigMapAsMount()​

Opprett en ny ConfigMap og monter filer i applikasjonens filsystem. Hver nĂžkkel i ConfigMap blir en egen fil med verdien som filinnhold.

navntypeobligatoriskstandardverdibeskrivelse
namestringtrue-navn pÄ ConfigMap
mountPathstringtrue-mountPath i container
dataobjecttrue-data i ConfigMap
addHashToNamebooleanfalsefalseom hash skal legges til navnet

Eksempel: examples/withConfigMap.jsonnet

ArgoKit's ExternalSecrets API​

argokit.appAndObjects.application.withEnvironmentVariablesFromExternalSecret()​

Opprett en ExternalSecret og legg til miljĂžvariabler fra den i applikasjonen.

navntypeobligatoriskstandardverdibeskrivelse
namestringtrue-navn pÄ ExternalSecret
creationPolicystringnullfalsenull
secretsarrayfalse[]array av secret objekter med {toKey (pÄkrevd), fromSecret (pÄkrevd), property, decodingStrategy, conversionStrategy, metadataPolicy}
allKeysFromarrayfalse[]array av secret objekter med fromSecret for Ă„ hente alle keys
secretStoreRefstringfalse'gsm'navn pÄ store

OBS: Enten secrets eller allKeysFrom mÄ inneholde minst ett element.

Eksempel: examples/externalSecrets.jsonnet

ArgoKit's AzureAD API​

argokit.azureAdApplication.new()​

Opprett en frittstÄende AzureADApplication-ressurs.

navntypeobligatoriskstandardverdibeskrivelse
namestringtrue-navn pÄ AzureAdApplication-ressursen
namespacestringfalse-namespace for ressursen
groupsarrayfalse[]Azure AD grupper for claims
secretPrefixstringfalse'azuread'prefix for secret-navnet
allowAllUsersbooleanfalsefalseom alle brukere skal ha tilgang
logoutUrlstringfalse-logout URL
replyUrlsarrayfalse[]liste over reply URLs
preAuthorizedApplicationsarrayfalse[]liste over forhÄndsautoriserte applikasjoner

Eksempel: examples/newAzureAdApplication.jsonnet

argokit.appAndObjects.application.withAzureAdApplication()​

Legg til en AzureADApplication-ressurs og konfigurerer applikasjonen.

navntypeobligatoriskstandardverdibeskrivelse
namestringtrue-navn pÄ AzureAdApplication-ressursen
namespacestringfalse-namespace for ressursen
groupsarrayfalse[]Azure AD grupper for claims
secretPrefixstringfalse'azuread'prefix for secret navnet
allowAllUsersbooleanfalsefalseom alle brukere skal ha tilgang
logoutUrlstringfalse-logout URL
replyUrlsarrayfalse[]liste over reply URLs
preAuthorizedApplicationsarrayfalse[]liste over forhÄndsautoriserte applikasjoner

Eksempel: examples/withAzureAdApplication.jsonnet

ArgoKit's Mounts API​

argokit.appAndObjects.application.withSecretAsMount()​

Monter en eksisterende hemmelighet som filer pÄ angitt sti.

navntypeobligatoriskstandardverdibeskrivelse
secretNamestringtrue-navn pÄ hemmeligheten som skal monteres
mountPathstringtrue-stien hvor hemmeligheten skal monteres

Eksempel: examples/mounts.jsonnet

argokit.appAndObjects.application.withPersistentVolumeClaimAsMount()​

Monter en Persistent Volume Claim (PVC) pÄ angitt sti.

navntypeobligatoriskstandardverdibeskrivelse
pvcNamestringtrue-navn pÄ PVC som skal monteres
mountPathstringtrue-stien for montering

Eksempel: examples/mounts.jsonnet

argokit.appAndObjects.application.withEmptyDirAsMount()​

Monter en emptyDir-volum pÄ angitt sti.

navntypeobligatoriskstandardverdibeskrivelse
mountPathstringtrue-stien for montering
emptyDirstringtrue-navn pÄ volum

Eksempel: examples/mounts.jsonnet