ArgoKit v2 API Reference
Jsonnet ArgoKit APIâ
argokit.appAndObjects.application.new()â
Oppretter en Skiperatorâapplikasjon ved Ă„ bruke appAndObjectsâkonvensjonen (dette er standard).
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
name | string | true | - | navn pÄ applikasjonen |
image | string | true | - | image som skal kjĂžres |
port | number | true | - | port applikasjonen skal kjÞre pÄ |
Eksempel: examples/application.jsonnet
argokit.appAndObjects.application.withObjects()â
Legg til ekstra objekter i objects-listen til appAndObjects-strukturen.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
objects | array or object | true | - | 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.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
initial | number | true | - | initialt antall replikaer (2 er anbefalt) |
max | number | false | - | maksimum antall replikaer (hvis satt, aktiverer autoskalering) |
targetCpuUtilization | number | false | - | CPU-terskel i prosent fĂžr autoskalering |
targetMemoryUtilization | number | false | - | 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.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
cpu | string or number | false | - | CPU-krav. Kan vĂŠre tall (f.eks. 1, 0.5) eller string med "m" suffiks (f.eks. "100m") |
memory | string or number | false | - | 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.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
cpu | string or number | false | - | CPU-grense. Kan vĂŠre tall (f.eks. 1, 2.0) eller string med "m" suffiks (f.eks. "500m") |
memory | string or number | false | - | 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.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
name | string | true | - | navn pÄ miljÞvariabelen |
value | string | true | - | verdi for miljĂžvariabelen |
Eksempel: examples/environment.jsonnet
argokit.appAndObjects.application.withEnvironmentVariables()â
Oppretter flere miljĂžvariabler for en applikasjon.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
envVars | object | true | - | objekt med nĂžkkelverdi par for miljĂžvariabler |
Eksempel: examples/environment.jsonnet
argokit.appAndObjects.application.withEnvironmentVariableFromSecret()â
Oppretter en miljĂžvariabel fra en hemmelighet.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
name | string | true | - | navn pÄ miljÞvariabelen |
secretRef | string | true | - | navn pÄ hemmelighet |
key | string | false | name | nĂžkkel i hemmelighet (default er samme som name) |
Eksempel: examples/environment.jsonnet
argokit.appAndObjects.application.withEnvironmentVariablesFromSecret()â
Oppretter miljĂžvariabler fra en hemmelighet.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
secretName | string | true | - | navn pÄ hemmelighet |
Eksempel: examples/environment.jsonnet
ArgoKit's Ingress APIâ
argokit.appAndObjects.application.forHostnames()â
Oppretter ingress for en applikasjon.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
ingress | array or string or object | true | - | 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.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
host | string | true | - | vertsnavn til Postgres-instansen |
ip | string | true | - | IP-adresse til Postgres-instansen |
Eksempel: examples/accessPolicies.jsonnet
argokit.appAndObjects.application.withOutboundOracle()â
Tillat utgĂ„ende trafikk til en Oracleâdatabase.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
host | string | true | - | vertsnavn til Oracle-databasen |
ip | string | true | - | IP-adresse til Oracle-databasen |
Eksempel: examples/accessPolicies.jsonnet
argokit.appAndObjects.application.withOutboundSsh()â
Tillat utgÄende SSH.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
host | string | true | - | vertsnavn til SSH-serveren |
ip | string | true | - | IP-adresse til SSH-serveren |
Eksempel: examples/accessPolicies.jsonnet
argokit.appAndObjects.application.withOutboundLdaps()â
Tillat utgĂ„ende sikker LDAPâport.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
host | string | true | - | vertsnavn til LDAP-serveren |
ip | string | true | - | IP-adresse til LDAP-serveren |
Eksempel: examples/accessPolicies.jsonnet
argokit.appAndObjects.application.withOutboundHttp()â
Tillat utgÄende HTTPS/HTTP til en vert.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
host | string | true | - | vertsnavn til serveren |
portname | string | false | - | navn pÄ porten |
port | number | false | 443 | portnummer |
protocol | string | false | - | protokoll (HTTP/HTTPS) |
Eksempel: examples/accessPolicies.jsonnet
argokit.appAndObjects.application.withOutboundSkipApp()â
Tillat utgĂ„ende trafikk til en annen SKIPâapplikasjon (utgĂ„ende regel).
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
| appname | string | true | - | navn pÄ SKIP-applikasjonen |
| namespace | string | false | - | namespace til applikasjonen |
Eksempel: examples/accessPolicies.jsonnet
argokit.appAndObjects.application.withInboundSkipApp()â
Tillat en annen SKIPâapplikasjon Ă„ nĂ„ denne (inngĂ„ende regel).
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
appname | string | true | - | navn pÄ SKIP-applikasjonen |
namespace | string | false | - | 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)
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
path | string | true | - | sti til probe-endepunktet |
port | number | true | - | port for probe |
failureThreshold | number | false | 3 | antall feil fĂžr probe feiler |
timeout | number | false | 1 | timeout i sekunder |
initialDelay | number | false | 0 | forsinkelse 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).
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
probe | object | true | - | probe-objekt opprettet med probe() |
Eksempel: examples/probes.jsonnet
argokit.appAndObjects.application.withLiveness()â
Legger til en livenessâprobe (restarter container ved feil).
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
probe | object | true | - | probe-objekt opprettet med probe() |
Eksempel: examples/probes.jsonnet
argokit.appAndObjects.application.withStartup()â
Legger til en startupâprobe (blokkerer andre prober til den lykkes).
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
probe | object | true | - | 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).
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
path | string | true | - | sti hvor metrics er eksponert (f.eks. /metrics, /actuator/prometheus) |
port | number | true | - | portnummer hvor metrics er eksponert |
allowAllMetrics | boolean | false | false | hvis 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.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
name | string | true | - | navn pÄ rute-objektet |
hostname | string | true | - | vertsnavn for ruten |
redirectToHTTPS | boolean | false | true | om trafikk skal omdirigeres til HTTPS |
Eksempel: examples/routing.jsonnet
argokit.routing.withRoute()â
Legg til rute i routingâobjektet.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
pathPrefix | string | true | - | prefix for ruten |
targetApp | string | true | - | mÄlapplikasjon |
rewriteUri | boolean | true | - | om URI skal omskrives |
port | number | false | null | port 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.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
| - | - | - | - | ingen parametere |
Eksempel: examples/rolebinding.jsonnet
argokit.k8s.rolebinding.withUsers()â
Legg til en liste over brukere som subjects.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
users | array | true | - | liste over brukernavn |
Eksempel: examples/rolebinding.jsonnet
argokit.k8s.rolebinding.withNamespaceAdminGroup()â
Legg til en namespaceâadmin-group som subject.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
groupName | string | true | - | navn pÄ gruppen |
Eksempel: examples/rolebinding.jsonnet
ArgoKit's ExternalSecret APIâ
Konfigurer ExternalSecrets og SecretStore.
argokit.externalSecrets.secret.new()â
Opprett en ny ekstern secret.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
name | string | true | - | navn pÄ hemmelighet |
secrets | array | false | [] | array av secret objekter med fromSecret |
allKeysFrom | array | false | [] | array av secret objekter med fromSecret for Ă„ hente alle keys |
secretStoreRef | string | false | '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.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
name | string | false | 'gsm' | navn pÄ store |
gcpProject | string | true | - | 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.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
name | string | true | - | navn pÄ ConfigMap |
data | object | true | - | data i ConfigMap |
addHashToName | boolean | false | false | om 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.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
name | string | true | - | navn pÄ ConfigMap |
data | object | true | - | data i ConfigMap |
addHashToName | boolean | false | false | om 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.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
name | string | true | - | navn pÄ ConfigMap |
mountPath | string | true | - | mountPath i container |
data | object | true | - | data i ConfigMap |
addHashToName | boolean | false | false | om 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.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
name | string | true | - | navn pÄ ExternalSecret |
creationPolicy | string | null | false | null |
secrets | array | false | [] | array av secret objekter med {toKey (pÄkrevd), fromSecret (pÄkrevd), property, decodingStrategy, conversionStrategy, metadataPolicy} |
allKeysFrom | array | false | [] | array av secret objekter med fromSecret for Ă„ hente alle keys |
secretStoreRef | string | false | '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.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
name | string | true | - | navn pÄ AzureAdApplication-ressursen |
namespace | string | false | - | namespace for ressursen |
groups | array | false | [] | Azure AD grupper for claims |
secretPrefix | string | false | 'azuread' | prefix for secret-navnet |
allowAllUsers | boolean | false | false | om alle brukere skal ha tilgang |
logoutUrl | string | false | - | logout URL |
replyUrls | array | false | [] | liste over reply URLs |
preAuthorizedApplications | array | false | [] | liste over forhÄndsautoriserte applikasjoner |
Eksempel: examples/newAzureAdApplication.jsonnet
argokit.appAndObjects.application.withAzureAdApplication()â
Legg til en AzureADApplication-ressurs og konfigurerer applikasjonen.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
name | string | true | - | navn pÄ AzureAdApplication-ressursen |
namespace | string | false | - | namespace for ressursen |
groups | array | false | [] | Azure AD grupper for claims |
secretPrefix | string | false | 'azuread' | prefix for secret navnet |
allowAllUsers | boolean | false | false | om alle brukere skal ha tilgang |
logoutUrl | string | false | - | logout URL |
replyUrls | array | false | [] | liste over reply URLs |
preAuthorizedApplications | array | false | [] | 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.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
secretName | string | true | - | navn pÄ hemmeligheten som skal monteres |
mountPath | string | true | - | stien hvor hemmeligheten skal monteres |
Eksempel: examples/mounts.jsonnet
argokit.appAndObjects.application.withPersistentVolumeClaimAsMount()â
Monter en Persistent Volume Claim (PVC) pÄ angitt sti.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
pvcName | string | true | - | navn pÄ PVC som skal monteres |
mountPath | string | true | - | stien for montering |
Eksempel: examples/mounts.jsonnet
argokit.appAndObjects.application.withEmptyDirAsMount()â
Monter en emptyDir-volum pÄ angitt sti.
| navn | type | obligatorisk | standardverdi | beskrivelse |
|---|---|---|---|---|
mountPath | string | true | - | stien for montering |
emptyDir | string | true | - | navn pÄ volum |
Eksempel: examples/mounts.jsonnet