This repository has been archived by the owner on Sep 21, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refaktorering av dokumentasjon (påbegynt) (#28)
* Refaktorering av dokumentasjon (påbegynt) Co-authored-by: Andreas Hage Storlien <[email protected]>
- Loading branch information
1 parent
344390e
commit 862e43f
Showing
11 changed files
with
228 additions
and
86 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
``` | ||
```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 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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: "[email protected]" | ||
url: "https://www.nhn.no/" | ||
- name: Plattform | ||
|
||
version: 0.0.31 | ||
version: 0.0.32 | ||
|
||
dependencies: | ||
- name: helsenorge-common | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,67 +1,67 @@ | ||
# 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 | [email protected] | 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/). | | ||
| ingress.create | bool | `true` | Bestemmer om en ingress skal opprettes eller ikke, false betyr at ingen ingress opprettes og komponenten kan ikke nås utenfra clusteret. | | ||
| 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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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" . }} |
Oops, something went wrong.