From 862e43f81bb883be6f2ebe90b6bebcbe0cf9a27c Mon Sep 17 00:00:00 2001 From: andrstor Date: Mon, 20 Jun 2022 15:59:14 +0200 Subject: [PATCH] =?UTF-8?q?Refaktorering=20av=20dokumentasjon=20(p=C3=A5be?= =?UTF-8?q?gynt)=20(#28)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Refaktorering av dokumentasjon (påbegynt) Co-authored-by: Andreas Hage Storlien --- README.md | 87 +++++++++++++++++-- charts/_templates.gotmpl | 12 +++ charts/helsenorge-application/Chart.yaml | 8 +- charts/helsenorge-application/README.md | 68 ++++++++------- .../helsenorge-application/README.md.gotmpl | 17 ++++ .../templates/deployment.yaml | 2 +- charts/helsenorge-application/values.yaml | 57 ++++++------ charts/helsenorge-common/Chart.yaml | 7 +- charts/helsenorge-job/Chart.yaml | 6 +- charts/helsenorge-job/README.md | 33 ++++--- charts/helsenorge-job/README.md.gotmpl | 17 ++++ 11 files changed, 228 insertions(+), 86 deletions(-) create mode 100644 charts/_templates.gotmpl create mode 100644 charts/helsenorge-application/README.md.gotmpl create mode 100644 charts/helsenorge-job/README.md.gotmpl diff --git a/README.md b/README.md index 55de3bb..6ee14a1 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,87 @@ # helsenorge-helm-charts +Helm-charts skrevet for å deploy Helsenorge til kubernetes. -### Generer dokumentasjon ### +Inneholder følgende charts +- [helsenorge-application](charts/helsenorge-application/README.md) - chart for å deploye en helsenorge-applikasjon (api, webapp, batchjobb etc). +- [helsenorge-job](charts/helsenorge-job/README.md) - chart for å deploye en helsenorge-engangsjobb (databasemigrering, console-app etc). +- [helsenorge-common](charts/helsenorge-common/READNE.md) - [library-chart](https://helm.sh/docs/topics/library_charts/) de ovenstående chartene har en avhengighet til. Felles templates osv. + +## Installasjon av repo +For å få tilgang til repoet lokalt, kjøre følgende kommando: +```console +$ helm repo add helsenorge http://helsenorge.github.io/helm-charts +``` +## Ta i bruk i løsningsområde +Chartene i dette repoet skal benyttes som endel av et umbrella-chart for å installere et helsenorge-løsningsområde. + +### Opprette chart for løsningsområde + +Stå i helsenorge-repoet du ønsker å deploye til kubernetes. Hvis losningsområdet ditt heter "okonomi" + +Opprett nytt helm-chart under folder ```/charts``` +```console +mkdir charts +helm create okonomi +``` +Vi skal bare lage et umbrella chart der vi inkluderer allerede eksisterende helm-charts, så du trenger ikke den templatingen ```helm create``` gir by default. +```console +rm -rf okonomi/templates/* +``` +Du sitter nå igjen med en ```Chart.yml```, en ```.helmignore``` og en ```values.yaml``` under /charts i ditt repo. + +### Konfigurere chart +```chart.yaml``` beskriver metadata om chartet vi akkurat har laget. Les mer om ```chart.yaml``` og hva den bør inneholde [her](https://helm.sh/docs/topics/charts/#the-chartyaml-file). Minimum så bør den ha en kort beskrivelse, en versjon og en peker til hvem som er ansvarlige. ```Values.yaml``` inneholder konfigurasjonen som benyttes når chartet deployes til kubernetes. Her overkriver vi alle default-verdiene som gjør vår deployment unik for løsningsområdet. ```.helmignore``` brukes for å ignorere filer når vi senere skal kjøre bygging av helm-chart til en pakke. + +#### chart.yaml + +```yaml +apiVersion: v2 +name: okonomi +description: Et umbrella chart som beskriver deployment av løsningsområde 'okonomi' til et helsenorge kubernetes miljø +type: application +version: 0.1.0 + +maintainers: + - name: Plattform +``` +I tillegg så må chart ```chart.yaml``` inneholde èn dependency per applikasjon, migrering eller console som løsningsområde inneholder. Les mer om helm-dependencies [her](https://helm.sh/docs/helm/helm_dependency/) + +Hvis løsningsområdet inneholder 2 apier og 1 migrering så kunne det sett ut som under. Legg merke til bruken av alias. Dette gir oss mulighetene til å gjenbruke samme chart mange ganger, og samtidig konfigurere de ulikt. + +```yaml +dependencies: +- name: helsenorge-applikasjon + version: "~0.0.1" + repository: "https://helsenorge.github.io/helm-charts/" + alias: externalapi +- name: helsenorge-applikasjon + version: "~0.0.1" + repository: "https://helsenorge.github.io/helm-charts/" + alias: internalapi +- name: helsenorge-job + version: "~0.0.1" + repository: "https://helsenorge.github.io/helm-charts/" + alias: database +``` + +#### Values.yaml +```values.yaml``` brukes for å konfigurere et helm-chart. ```values.yaml``` filen er en av flere måter å gjøre dette på, men den mest vanlige. Les mer om dette [her](https://helm.sh/docs/chart_template_guide/values_files/) + +Todo... + + +#### Extensions +Hvis felles-chartene ikke dekker dine behov, kan du extende dette... + +Todo... + +## Generer dokumentasjon Benytter oss av [helm-docs](https://github.com/norwoodj/helm-docs) for å auto-generere helm-chart dokumentasjon. -1. Ha docker-desktop kjørende +1. Ha docker kjørende 2. Stå på rot i repoet -3. Kjør i powershell terminal: +3. Kjør i terminal: -```powershell -docker run --rm --volume "$(pwd):/helm-docs" jnorwood/helm-docs:latest -``` \ No newline at end of file +```console +docker run --rm --volume "$(pwd):/src" jnorwood/helm-docs:latest --chart-search-root=/src/. --template-files=/src/charts/_templates.gotmpl --template-files=README.md.gotmpl +``` \ No newline at end of file diff --git a/charts/_templates.gotmpl b/charts/_templates.gotmpl new file mode 100644 index 0000000..7ce45ab --- /dev/null +++ b/charts/_templates.gotmpl @@ -0,0 +1,12 @@ +{{ define "common.fellesInstall" -}} + +## Installasjon + +Dette chartet er ment for å inkluderes i et [umbrella chart](https://helm.sh/docs/howto/charts_tips_and_tricks/#complex-charts-with-many-dependencies) for å deploye et helsenorge-løsningsområde, men kan også installeres enkeltvis. Les mer om dette her. + +For å installere chartet med navnet "my-release" +```console +$ helm repo add helsenorge http://helsenorge.github.io/helm-charts +$ helm install my-release helsenorge/{{ template "chart.name" . }} +``` +{{- end }} \ No newline at end of file diff --git a/charts/helsenorge-application/Chart.yaml b/charts/helsenorge-application/Chart.yaml index 54a5abb..7804f72 100644 --- a/charts/helsenorge-application/Chart.yaml +++ b/charts/helsenorge-application/Chart.yaml @@ -1,14 +1,12 @@ apiVersion: v2 name: helsenorge-applikasjon -description: Helm chart for installere en helsenorge-applikasjon på kuberntes. En helsenorge-applikasjon dekker typene API, WebApp, Service, Batch. Dvs, applikasjoner som utfører arbeid kontinuerlig. +description: Helm chart for installere en helsenorge-applikasjon på kubernetes. En helsenorge-applikasjon dekker typene API, WebApp, Service, Batch. Dvs, applikasjoner som utfører arbeid kontinuerlig. type: application maintainers: - - name: Team Plattform - email: "utv-hn-plattform@norskhelsenett.slack.com" - url: "https://www.nhn.no/" + - name: Plattform -version: 0.0.31 +version: 0.0.32 dependencies: - name: helsenorge-common diff --git a/charts/helsenorge-application/README.md b/charts/helsenorge-application/README.md index 540c1c1..e93f038 100644 --- a/charts/helsenorge-application/README.md +++ b/charts/helsenorge-application/README.md @@ -1,46 +1,45 @@ -# helsenorge-applikasjon -![Version: 0.0.31](https://img.shields.io/badge/Version-0.0.31-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) +# helsenorge-applikasjon -Helm chart for installere en helsenorge-applikasjon på kuberntes. En helsenorge-applikasjon dekker typene API, WebApp, Service, Batch. Dvs, applikasjoner som utfører arbeid kontinuerlig. +Helm chart for installere en helsenorge-applikasjon på kubernetes. En helsenorge-applikasjon dekker typene API, WebApp, Service, Batch. Dvs, applikasjoner som utfører arbeid kontinuerlig. -## Maintainers +![Version: 0.0.32](https://img.shields.io/badge/Version-0.0.32-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) -| Name | Email | Url | -| ---- | ------ | --- | -| Team Plattform | utv-hn-plattform@norskhelsenett.slack.com | https://www.nhn.no/ | +## Installasjon -## Requirements +Dette chartet er ment for å inkluderes i et [umbrella chart](https://helm.sh/docs/howto/charts_tips_and_tricks/#complex-charts-with-many-dependencies) for å deploye et helsenorge-løsningsområde, men kan også installeres enkeltvis. Les mer om dette her. -| Repository | Name | Version | -|------------|------|---------| -| https://helsenorge.github.io/helm-charts/ | helsenorge-common | ~0.0.1 | +For å installere chartet med navnet "my-release" +```console +$ helm repo add helsenorge http://helsenorge.github.io/helm-charts +$ helm install my-release helsenorge/helsenorge-applikasjon +``` ## Values | Key | Type | Default | Description | |-----|------|---------|-------------| -| args | string | `nil` | Ovveride default container args - Les mer om Command and Arguments for kontainere [her](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/). | +| args | list | `[]` | Ovveride default container args - Les mer om Command and Arguments for kontainere [her](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/). Les mer under ```command```. | | certificateStore | string | `"root/.dotnet/corefx/cryptography/x509stores/my"` | Path til certificate-store som sertifikater installeres til ved bruk av [certificate tool](https://github.com/gsoft-inc/dotnet-certificate-tool). Fallback plassering for [CurrentUser\My](https://docs.microsoft.com/nb-no/dotnet/standard/security/cross-platform-cryptography#the-my-store) på linux. | | clientId | string | `""` | ClientId for applikasjonen | | clientSecret | string | `""` | Tilhørende secret | -| command | string | `nil` | Ovveride default container command - defaulter til "dotnet" - Les mer om Command and Arguments for kontainere [her](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/). | -| debug | object | `{"configShare":"/config-share/","debugConfigMap":"debug-environment"}` | Debugmodus - Settings for debugmodus | +| command | list | `[]` | Ovveride default container command - defaulter til "dotnet" - Les mer om Command and Arguments for kontainere [her](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/). Eks for å kjøre en dotnet applikasjon ```dotnet myassembly.dll``` bruk command: ``` command: ["dotnet"] ``` og args ``` args: ["myassembly.dll"] ``` | +| debug | object | {} | Debugmodus - Settings for debugmodus | | debug.configShare | string | `"/config-share/"` | Path til hvor debug-fil mountes i pod'en. | | debug.debugConfigMap | string | `"debug-environment"` | Navn på config-map som inneholder debug-dll. Denne må eksistere i namespace fra før. | | dnsZone | string | `"aks-helsenorge.utvikling"` | Dns-sonen til miljøet. | | enableTokenValidation | bool | `true` | Muligjor tokenvalidering i applikasjonen ved å tilgjengeliggjøre sertifikatet i podden. | -| extraEnvVars | string | `nil` | Environment variabler som tilgjengeliggjøres podden - Brukes for å overstyre config-settings Skrives på formen key: value Husk å bruke prefix HN_ for at environment-variabelen skal leses inn av config-systemet HN_ConfigurationSettings_Connectionstring: "Server=sql;Database=databasename;User Id=user;Password=password;" Kan også overstyres globalt: global: extraEnvVars: HN_ConfigurationSettings_Connectionstring: "Server=sql;Database=databasename;User Id=user;Password=password;" | -| extraEnvVarsCM | string | `nil` | | -| extraEnvVarsSecret | string | `nil` | Navn på eksisterende secret som inneholder extra env-vars - må skrives på formen for en gyldig secretRef og secret må eksistere fra før. Hvis du legger til flere, husk å bevare eventuelle defaults ved å ekplisitt definere i tillegg i din values-fil. - secretRef: name: mysecret | -| extraVolumeMounts | string | `nil` | Definisjon på extra volume mount som skal mountes til podden | -| extraVolumes | string | `nil` | Definisjon på extra volume som skal tilgjengeliggjøres til deploymenten | +| extraEnvVars | list | `[]` | List av environment variabler som tilgjengeliggjøres podden - Brukes for å overstyre config-settings Skrives på formen key: value Husk å bruke prefix HN_ for at environment-variabelen skal leses inn av config-systemet ```HN_ConfigurationSettings_Connectionstring: "Server=sql;Database=databasename;User Id=user;Password=password;"``` Kan også overstyres globalt: ```global: extraEnvVars: HN_ConfigurationSettings_Connectionstring: "Server=sql;Database=databasename;User Id=user;Password=password;"``` | +| extraEnvVarsCM | list | `[]` | | +| extraEnvVarsSecret | list | `[]` | Navn på eksisterende secret som inneholder extra env-vars. Må skrives på yaml-formen for et gyldig envFrom secret referanse. | +| extraVolumeMounts | list | `[]` | Liste over extra volume mounts som skal mountes til podden. Må skrives på yaml-formen for et gyldig volume mount. | +| extraVolumes | list | `[]` | Liste over extra volumes som skal tilgjengeliggjøres til deploymenten. Må skrives på yaml-formen for et gyldig volume. | | fullnameOverride | string | `""` | Overrider navn på chart. | | helsenorgeUtilImage | string | `"helsenorge.azurecr.io/utils/certificate-tool:0.1"` | Image som inneholder diverse utils. Benyttes for installasjon av sertifikater. | -| image | object | Se verdier under | Beskriver imaget til applikasjonen | +| image | object | {} | Beskriver imaget til applikasjonen | | image.pullPolicy | string | `"IfNotPresent"` | Kubernetes image pull-policy. Les mer om image pull policy [her](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy). | | image.registry | string | `"helsenorge.azurecr.io"` | Fra hvilket container registry skal imaget hentes. | -| image.repository | string | `""` | Navn på imaget som skal deployes. Hvis ikke definert, settes til det samme som navnet på applikasjonen basert på releaename+applikasjonsnavn, eg configuration-internalapi. TODO: gjøre det mulig å overstyre repository | +| image.repository | string | `""` | Navn på imaget som skal deployes. Hvis ikke definert, settes til det samme som navnet på applikasjonen basert på releaename-applikasjonsnavn, eg configuration-internalapi. | | image.tag | string | `""` | tag identifiserer versjonen på imaget som skal deployes | | imagePullSecrets | list | `[]` | Referanse til secret som inneholder nøkler for å få kontakt med private container registry (hvis dette er i bruk) | | ingress | object | Se verdier under | Beskriver hvordan komponenten skal eksponeres ut av clustert, slik at komponenten kan konsumeres av ressurser utenfor clusteret. Les mer [her](https://kubernetes.io/docs/concepts/services-networking/ingress/). | @@ -48,20 +47,21 @@ Helm chart for installere en helsenorge-applikasjon på kuberntes. En helsenorge | ingress.hostname | string | kalkuleres basert på apinavn og miljo | Bestemmer hvilket hostname ingress skal lytte på. Eks configuration-internalapi-mas01.helsenorge.utvikling. Trenger ikke overstyres med mindre man skal teste noe spesielt | | isDebugEnvironment | bool | `false` | Debugmodus - Skrur på debug-modus i miljøet. Krever at debug.dll config-map er tilgjengelig i miljøet. | | livenessProbe.path | string | `"/api/ping"` | [Liveness probe](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#types-of-probe) indikerer om containeren kjører ved å gjøre et http kall mot gitt path. | -| logging | object | `{"areaOvveride":""}` | Logging | +| logging.areaOvveride | string | `""` | | +| logging.sourceType | string | `"kube:Helsenorge"` | Setter SourceType på loggene i splunk | | nameOverride | string | `""` | Overrider navn på chart. Beholder release-navnet | -| rabbitmq | object | `{"clusterName":"rabbitmq","createUser":true,"encryptMessages":true,"password":"","port":5671,"useSsl":true,"user":"","virtualHost":"internal.messaging.helsenorge.no"}` | Rabbitmq-settings | +| rabbitmq | object | {...} | Rabbitmq-settings | | rabbitmq.clusterName | string | `"rabbitmq"` | Navn på cluster, brukes til å sette opp adressen til rabbitmq, så må være det samme som hostnavnet | | rabbitmq.createUser | bool | `true` | Hvis 'true' så opprettes det en rabbitmq-bruker for applikasjonene. Fungerer kun i miljøer der rabbitmq styres av [rabbitmq-topology-operator](https://www.rabbitmq.com/kubernetes/operator/using-topology-operator.html#non-operator). Hvis satt til false så må 'user' og 'password' settes. | | rabbitmq.encryptMessages | bool | `true` | Skal meldinger som går mellom client og rabbitmq krypteres | | rabbitmq.password | string | `""` | Passord - Brukes kun hvis generate user er satt til 'false' | | rabbitmq.port | int | `5671` | Port til amqp-endepunktet til rabbitmq | | rabbitmq.useSsl | bool | `true` | Kommunikasjon mellom client og rabbitmq går over ssl | -| rabbitmq.user | string | `""` | Bruker - Settes default til det samme som applikasjonen, overstyr det navnet ved å angi en verdi. Eks: configuration-internalapi | +| rabbitmq.user | string | `""` | Bruker - Kun angi hvis du ønsker å overskrive at brukernavn blir satt til det samme som applikasjonsnavnet Eks: configuration-internalapi | | rabbitmq.virtualHost | string | `"internal.messaging.helsenorge.no"` | Navn på virtual host | | readinessProbe.path | string | `"/health"` | [Readiness probe](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#types-of-probe) indikerer om containeren er klar for å motta requests ved å gjøre et http kall mot gitt path | | replicaCount | int | `1` | Antall containere som kjører apiet. Disse lastbalanseres automatisk, men flere containere krever mer ressurser av clusteret. Bør overstyrers i høyere miljøer. | -| resources | object | Se verdier under | Beskriver hvor mye ressurser en pod som kjører koden skal få tilgang til. Les mer om konseptene [her](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits). | +| resources | object | {} | Beskriver hvor mye ressurser en pod som kjører koden skal få tilgang til. Les mer om konseptene [her](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits). | | resources.limits | object | Se verdier under | Hvor mye ressurser er poden begrenset til. | | resources.limits.cpu | string | `"200m"` | [Limits and requests for CPU resources are measured in cpu units. One cpu, in Kubernetes, is equivalent to 1 vCPU/Core for cloud providers and 1 hyperthread on bare-metal Intel processors](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu). | | resources.limits.memory | string | `"128Mi"` | [Limits and requests for memory are measured in bytes.](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory). | @@ -74,14 +74,24 @@ Helm chart for installere en helsenorge-applikasjon på kuberntes. En helsenorge | serviceAccount | object | `{"annotations":{},"create":true}` | Kubernetes service-konto for losningsomraade. Les mer [her](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/). Navn settes til det samme som applikasjon. | | serviceAccount.annotations | object | `{}` | Spesifikke annoteringer som skal legges til servicekontoen (todo). | | serviceAccount.create | bool | `true` | Spesifiserer om en service-konto skal opprettes. | -| splunk | object | `{"sourceType":"kube:Helsenorge"}` | Splunk | -| splunk.sourceType | string | `"kube:Helsenorge"` | Setter SourceType på loggene i splunk | | team | string | `""` | Ansvarlig team for losningsomraade - eks "Plattform". - Kan overstyres globalt global: team: "" | -| tokenValidation | object | `{"filename":"helsenorge_sikkerhet_public.pem","secretName":"certificate.helsenorge-sikkerhet.public","volumeMount":"/tokevalidation-cert"}` | Informasjon om tokenvalideringssertifikatet i miljoet. | +| tokenValidation | object | {} | Informasjon om tokenvalideringssertifikatet i miljoet. | | tokenValidation.filename | string | `"helsenorge_sikkerhet_public.pem"` | Navn på filen som inneholder sertifikatet | | tokenValidation.secretName | string | `"certificate.helsenorge-sikkerhet.public"` | Navn på secret som inneholder sertifikatet. Denne må eksistere i namespace fra før. | | tokenValidation.volumeMount | string | `"/tokevalidation-cert"` | Path til hvor sertifikatet mountes i pod'en | | useSharedConfig | bool | `true` | Gir pod'en tilgang til felles-config allerede definert i namespacet. Dette er typisk config som kreves av felles-pakkene. | +## Maintainers + +| Name | Email | Url | +| ---- | ------ | --- | +| Plattform | | | + +## Requirements + +| Repository | Name | Version | +|------------|------|---------| +| https://helsenorge.github.io/helm-charts/ | helsenorge-common | ~0.0.1 | + ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.6.0](https://github.com/norwoodj/helm-docs/releases/v1.6.0) +Autogenerated from chart metadata using [helm-docs v1.6.0](https://github.com/norwoodj/helm-docs/releases/v1.6.0) \ No newline at end of file diff --git a/charts/helsenorge-application/README.md.gotmpl b/charts/helsenorge-application/README.md.gotmpl new file mode 100644 index 0000000..8eb4d5a --- /dev/null +++ b/charts/helsenorge-application/README.md.gotmpl @@ -0,0 +1,17 @@ + +{{ template "chart.header" . }} +{{ template "chart.description" . }} + +{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }} + +{{ template "common.fellesInstall" . }} + +{{ template "chart.valuesSection" . }} + +{{ template "chart.maintainersSection" . }} + +{{ template "chart.sourcesList" . }} + +{{ template "chart.requirementsSection" . }} + +{{ template "helm-docs.versionFooter" . }} \ No newline at end of file diff --git a/charts/helsenorge-application/templates/deployment.yaml b/charts/helsenorge-application/templates/deployment.yaml index 82f8a10..e3b5cee 100644 --- a/charts/helsenorge-application/templates/deployment.yaml +++ b/charts/helsenorge-application/templates/deployment.yaml @@ -14,7 +14,7 @@ spec: labels: {{- include "common.labels.standard" . | nindent 8 }} annotations: - splunk.com/sourcetype: {{ .Values.splunk.sourceType }} + splunk.com/sourcetype: {{ .Values.logging.sourceType }} spec: serviceAccountName: {{ include "common.serviceAccountName" . }} initContainers: diff --git a/charts/helsenorge-application/values.yaml b/charts/helsenorge-application/values.yaml index 73df95b..2989d6c 100644 --- a/charts/helsenorge-application/values.yaml +++ b/charts/helsenorge-application/values.yaml @@ -13,6 +13,7 @@ clientSecret: "" # -- Muligjor tokenvalidering i applikasjonen ved å tilgjengeliggjøre sertifikatet i podden. enableTokenValidation: true # -- Informasjon om tokenvalideringssertifikatet i miljoet. +# @default -- {} tokenValidation: # -- Navn på filen som inneholder sertifikatet filename: helsenorge_sikkerhet_public.pem @@ -23,11 +24,12 @@ tokenValidation: # -- Path til certificate-store som sertifikater installeres til ved bruk av [certificate tool](https://github.com/gsoft-inc/dotnet-certificate-tool). Fallback plassering for [CurrentUser\My](https://docs.microsoft.com/nb-no/dotnet/standard/security/cross-platform-cryptography#the-my-store) på linux. certificateStore: "root/.dotnet/corefx/cryptography/x509stores/my" # -- Rabbitmq-settings +# @default -- {...} rabbitmq: # -- Hvis 'true' så opprettes det en rabbitmq-bruker for applikasjonene. Fungerer kun i miljøer der rabbitmq styres av [rabbitmq-topology-operator](https://www.rabbitmq.com/kubernetes/operator/using-topology-operator.html#non-operator). # Hvis satt til false så må 'user' og 'password' settes. createUser: true - # -- Bruker - Settes default til det samme som applikasjonen, overstyr det navnet ved å angi en verdi. + # -- Bruker - Kun angi hvis du ønsker å overskrive at brukernavn blir satt til det samme som applikasjonsnavnet # Eks: configuration-internalapi user: "" # -- Passord - Brukes kun hvis generate user er satt til 'false' @@ -42,22 +44,20 @@ rabbitmq: useSsl: true # -- Skal meldinger som går mellom client og rabbitmq krypteres encryptMessages: true -# -- Logging logging: # Area settes automatisk til samme som Release.Name. Denne verdien kan ovverides her. + # Release.Name skal alltid være det samme som navnet på løsningsområde som deployes. areaOvveride: "" -# -- Splunk -splunk: # -- Setter SourceType på loggene i splunk sourceType: kube:Helsenorge # -- Dns-sonen til miljøet. dnsZone: "aks-helsenorge.utvikling" # -- Beskriver imaget til applikasjonen -# @default -- Se verdier under +# @default -- {} image: # -- Fra hvilket container registry skal imaget hentes. registry: helsenorge.azurecr.io - # -- Navn på imaget som skal deployes. Hvis ikke definert, settes til det samme som navnet på applikasjonen basert på releaename+applikasjonsnavn, eg configuration-internalapi. TODO: gjøre det mulig å overstyre repository + # -- Navn på imaget som skal deployes. Hvis ikke definert, settes til det samme som navnet på applikasjonen basert på releaename-applikasjonsnavn, eg configuration-internalapi. repository: "" # -- Kubernetes image pull-policy. # Les mer om image pull policy [her](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy). @@ -65,9 +65,17 @@ image: # -- tag identifiserer versjonen på imaget som skal deployes tag: "" # -- Ovveride default container command - defaulter til "dotnet" - Les mer om Command and Arguments for kontainere [her](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/). -command: -# -- Ovveride default container args - Les mer om Command and Arguments for kontainere [her](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/). -args: +# Eks for å kjøre en dotnet applikasjon ```dotnet myassembly.dll``` bruk command: +# ``` +# command: ["dotnet"] +# ``` +# og args +# ``` +# args: ["myassembly.dll"] +# ``` +command: [] +# -- Ovveride default container args - Les mer om Command and Arguments for kontainere [her](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/). Les mer under ```command```. +args: [] # -- Referanse til secret som inneholder nøkler for å få kontakt med private container registry (hvis dette er i bruk) imagePullSecrets: [] # -- Antall containere som kjører apiet. Disse lastbalanseres automatisk, men flere containere krever mer ressurser av clusteret. Bør overstyrers i høyere miljøer. @@ -106,7 +114,7 @@ ingress: className: "nginx" # -- Beskriver hvor mye ressurser en pod som kjører koden skal få tilgang til. # Les mer om konseptene [her](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits). -# @default -- Se verdier under +# @default -- {} resources: # -- Hvor mye ressurser er poden begrenset til. # @default -- Se verdier under @@ -122,30 +130,29 @@ resources: cpu: 100m # -- Samme som under resources.limits. memory: 128Mi -# -- Environment variabler som tilgjengeliggjøres podden - Brukes for å overstyre config-settings +# -- List av environment variabler som tilgjengeliggjøres podden - Brukes for å overstyre config-settings # Skrives på formen key: value # Husk å bruke prefix HN_ for at environment-variabelen skal leses inn av config-systemet -# HN_ConfigurationSettings_Connectionstring: "Server=sql;Database=databasename;User Id=user;Password=password;" +# ```HN_ConfigurationSettings_Connectionstring: "Server=sql;Database=databasename;User Id=user;Password=password;"``` # Kan også overstyres globalt: -# global: +# ```global: # extraEnvVars: -# HN_ConfigurationSettings_Connectionstring: "Server=sql;Database=databasename;User Id=user;Password=password;" -extraEnvVars: -# Navn på eksisterende config-map som inneholder extra env-vars - må skrives på formen for en gyldig configMapRef og config-map må eksistere fra før. Hvis du legger til flere, husk å bevare eventuelle defaults ved å ekplisitt definere i tillegg i din values-fil. +# HN_ConfigurationSettings_Connectionstring: "Server=sql;Database=databasename;User Id=user;Password=password;"``` +extraEnvVars: [] +# Liste over eksisterende config-map som inneholder extra env-vars. Må skrives på yaml-formen for et gyldig envFrom config-map referanse. # - configMapRef: # name: myconfigmap -extraEnvVarsCM: -# -- Navn på eksisterende secret som inneholder extra env-vars - må skrives på formen for en gyldig secretRef og secret må eksistere fra før. Hvis du legger til flere, husk å bevare eventuelle defaults ved å ekplisitt definere i tillegg i din values-fil. -# - secretRef: -# name: mysecret -extraEnvVarsSecret: -# -- Definisjon på extra volume som skal tilgjengeliggjøres til deploymenten -extraVolumes: -# -- Definisjon på extra volume mount som skal mountes til podden -extraVolumeMounts: +extraEnvVarsCM: [] +# -- Navn på eksisterende secret som inneholder extra env-vars. Må skrives på yaml-formen for et gyldig envFrom secret referanse. +extraEnvVarsSecret: [] +# -- Liste over extra volumes som skal tilgjengeliggjøres til deploymenten. Må skrives på yaml-formen for et gyldig volume. +extraVolumes: [] +# -- Liste over extra volume mounts som skal mountes til podden. Må skrives på yaml-formen for et gyldig volume mount. +extraVolumeMounts: [] # -- Debugmodus - Skrur på debug-modus i miljøet. Krever at debug.dll config-map er tilgjengelig i miljøet. isDebugEnvironment: false # -- Debugmodus - Settings for debugmodus +# @default -- {} debug: # -- Path til hvor debug-fil mountes i pod'en. configShare: /config-share/ diff --git a/charts/helsenorge-common/Chart.yaml b/charts/helsenorge-common/Chart.yaml index 2eb1a91..52eb227 100644 --- a/charts/helsenorge-common/Chart.yaml +++ b/charts/helsenorge-common/Chart.yaml @@ -1,14 +1,11 @@ apiVersion: v2 name: helsenorge-common -description: A Helm chart for Kubernetes +description: Chart med felles helm-metoder for utvikling av helsenorge application-charts. -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. type: library maintainers: - name: Team Plattform email: "utv-hn-plattform@norskhelsenett.slack.com" url: "https://www.nhn.no/" -version: 0.0.4 \ No newline at end of file +version: 0.0.5 \ No newline at end of file diff --git a/charts/helsenorge-job/Chart.yaml b/charts/helsenorge-job/Chart.yaml index 3c51350..3a385c8 100644 --- a/charts/helsenorge-job/Chart.yaml +++ b/charts/helsenorge-job/Chart.yaml @@ -4,10 +4,8 @@ description: Helm chart for installere en helsenorge-job på kuberntes. En job b type: application maintainers: - - name: Team Plattform - email: "utv-hn-plattform@norskhelsenett.slack.com" - url: "https://www.nhn.no/" - + - name: Plattform + version: 0.0.11 dependencies: diff --git a/charts/helsenorge-job/README.md b/charts/helsenorge-job/README.md index 622b7b3..a0d826c 100644 --- a/charts/helsenorge-job/README.md +++ b/charts/helsenorge-job/README.md @@ -1,20 +1,19 @@ -# helsenorge-job -![Version: 0.0.11](https://img.shields.io/badge/Version-0.0.11-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) +# helsenorge-job Helm chart for installere en helsenorge-job på kuberntes. En job beskriver en engangskjøring av en eller flere pod'er ved deploy. Passer for kjøring databasemigreringer eller console applikasjoner. -## Maintainers +![Version: 0.0.11](https://img.shields.io/badge/Version-0.0.11-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) -| Name | Email | Url | -| ---- | ------ | --- | -| Team Plattform | utv-hn-plattform@norskhelsenett.slack.com | https://www.nhn.no/ | +## Installasjon -## Requirements +Dette chartet er ment for å inkluderes i et [umbrella chart](https://helm.sh/docs/howto/charts_tips_and_tricks/#complex-charts-with-many-dependencies) for å deploye et helsenorge-løsningsområde, men kan også installeres enkeltvis. Les mer om dette her. -| Repository | Name | Version | -|------------|------|---------| -| https://helsenorge.github.io/helm-charts/ | helsenorge-common | ~0.0.1 | +For å installere chartet med navnet "my-release" +```console +$ helm repo add helsenorge http://helsenorge.github.io/helm-charts +$ helm install my-release helsenorge/helsenorge-job +``` ## Values @@ -40,5 +39,17 @@ Helm chart for installere en helsenorge-job på kuberntes. En job beskriver en e | restartPolicy | string | `"Never"` | Restart policien til en pod. Defaulter til Never for en engangsjobb. Mulige verdier er Always, OnFailure, and Never. Les mer [her](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy). | | team | string | `""` | Ansvarlig team for losningsomraade - eks "Plattform". - Kan overstyres globalt global: team: "" | +## Maintainers + +| Name | Email | Url | +| ---- | ------ | --- | +| Plattform | | | + +## Requirements + +| Repository | Name | Version | +|------------|------|---------| +| https://helsenorge.github.io/helm-charts/ | helsenorge-common | ~0.0.1 | + ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.6.0](https://github.com/norwoodj/helm-docs/releases/v1.6.0) +Autogenerated from chart metadata using [helm-docs v1.6.0](https://github.com/norwoodj/helm-docs/releases/v1.6.0) \ No newline at end of file diff --git a/charts/helsenorge-job/README.md.gotmpl b/charts/helsenorge-job/README.md.gotmpl new file mode 100644 index 0000000..8eb4d5a --- /dev/null +++ b/charts/helsenorge-job/README.md.gotmpl @@ -0,0 +1,17 @@ + +{{ template "chart.header" . }} +{{ template "chart.description" . }} + +{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }} + +{{ template "common.fellesInstall" . }} + +{{ template "chart.valuesSection" . }} + +{{ template "chart.maintainersSection" . }} + +{{ template "chart.sourcesList" . }} + +{{ template "chart.requirementsSection" . }} + +{{ template "helm-docs.versionFooter" . }} \ No newline at end of file