Skip to content
This repository has been archived by the owner on Sep 21, 2022. It is now read-only.

Commit

Permalink
Felles-config som egen setting (#27)
Browse files Browse the repository at this point in the history
Co-authored-by: Andreas Hage Storlien <[email protected]>
  • Loading branch information
andrstor and andreasstorlien authored Jun 20, 2022
1 parent 3db626b commit 344390e
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 38 deletions.
2 changes: 1 addition & 1 deletion charts/helsenorge-application/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ maintainers:
email: "[email protected]"
url: "https://www.nhn.no/"

version: 0.0.30
version: 0.0.31

dependencies:
- name: helsenorge-common
Expand Down
8 changes: 4 additions & 4 deletions charts/helsenorge-application/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# helsenorge-applikasjon

![Version: 0.0.30](https://img.shields.io/badge/Version-0.0.30-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
![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)

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.

Expand All @@ -21,7 +21,6 @@ Helm chart for installere en helsenorge-applikasjon på kuberntes. En helsenorge
| 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/). |
| aspnetCoreEnvironment | string | `"st"` | setter ASPNETCORE_ENVIRONMENT environment-variabelen i pod |
| 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 |
Expand All @@ -32,8 +31,8 @@ Helm chart for installere en helsenorge-applikasjon på kuberntes. En helsenorge
| 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[0].configMapRef.name | string | `"felles-config"` | |
| extraEnvVarsSecret | list | `[{"secretRef":{"name":"felles-config"}}]` | 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 |
| 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 |
| fullnameOverride | string | `""` | Overrider navn på chart. |
Expand Down Expand Up @@ -82,6 +81,7 @@ Helm chart for installere en helsenorge-applikasjon på kuberntes. En helsenorge
| 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. |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.6.0](https://github.com/norwoodj/helm-docs/releases/v1.6.0)
12 changes: 9 additions & 3 deletions charts/helsenorge-application/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,19 @@ spec:
- name: {{ $key }}
value: {{ $val | quote }}
{{- end }}
{{- if or .Values.extraEnvVarsCM .Values.extraEnvVarsSecret }}
envFrom:
{{- if .Values.useSharedConfig }}
- configMapRef:
name: felles-config
- secretRef:
name: felles-config
{{- end }}
{{- if or .Values.extraEnvVarsCM .Values.extraEnvVarsSecret }}
{{- if .Values.extraEnvVarsCM }}
{{- include "common.tplvalues.render" ( dict "value" .Values.extraEnvVarsCM "context" $) | nindent 12 }}
{{- include "common.tplvalues.render" ( dict "value" .Values.extraEnvVarsCM "context" $) | nindent 10 }}
{{- end }}
{{- if .Values.extraEnvVarsSecret }}
{{- include "common.tplvalues.render" ( dict "value" .Values.extraEnvVarsSecret "context" $) | nindent 12 }}
{{- include "common.tplvalues.render" ( dict "value" .Values.extraEnvVarsSecret "context" $) | nindent 10 }}
{{- end }}
{{- end }}
volumeMounts:
Expand Down
46 changes: 16 additions & 30 deletions charts/helsenorge-application/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,26 @@
nameOverride: ""
# -- Overrider navn på chart.
fullnameOverride: ""

# -- Ansvarlig team for losningsomraade - eks "Plattform". - Kan overstyres globalt
# global:
# team: ""
team: ""

# -- ClientId for applikasjonen
clientId: ""
# -- Tilhørende secret
clientSecret: ""

# -- setter ASPNETCORE_ENVIRONMENT environment-variabelen i pod
aspnetCoreEnvironment: "st"

# -- Muligjor tokenvalidering i applikasjonen ved å tilgjengeliggjøre sertifikatet i podden.
enableTokenValidation: true
# -- Informasjon om tokenvalideringssertifikatet i miljoet.
tokenValidation:
# -- Navn på filen som inneholder sertifikatet
filename: helsenorge_sikkerhet_public.pem
# -- Path til hvor sertifikatet mountes i pod'en
volumeMount: /tokevalidation-cert
# -- Navn på secret som inneholder sertifikatet. Denne må eksistere i namespace fra før.
secretName: certificate.helsenorge-sikkerhet.public
# -- 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
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).
Expand All @@ -40,12 +46,10 @@ rabbitmq:
logging:
# Area settes automatisk til samme som Release.Name. Denne verdien kan ovverides her.
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
Expand All @@ -64,7 +68,6 @@ image:
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:

# -- 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.
Expand Down Expand Up @@ -119,7 +122,6 @@ resources:
cpu: 100m
# -- Samme som under resources.limits.
memory: 128Mi

# -- 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
Expand All @@ -133,21 +135,14 @@ extraEnvVars:
# - configMapRef:
# name: myconfigmap
extraEnvVarsCM:
- configMapRef:
name: "felles-config"
# -- 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:
- secretRef:
name: "felles-config"

# -- Definisjon på extra volume som skal tilgjengeliggjøres til deploymenten
extraVolumes:

# -- Definisjon på extra volume mount som skal mountes til podden
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
Expand All @@ -156,20 +151,11 @@ debug:
configShare: /config-share/
# -- Navn på config-map som inneholder debug-dll. Denne må eksistere i namespace fra før.
debugConfigMap: debug-environment

# -- Gir pod'en tilgang til felles-config allerede definert i namespacet. Dette er typisk config som kreves av felles-pakkene.
useSharedConfig: true
# -- Image som inneholder diverse utils. Benyttes for installasjon av sertifikater.
helsenorgeUtilImage: helsenorge.azurecr.io/utils/certificate-tool:0.1
# -- Muligjor tokenvalidering i applikasjonen ved å tilgjengeliggjøre sertifikatet i podden.
enableTokenValidation: true
# -- Informasjon om tokenvalideringssertifikatet i miljoet.
tokenValidation:
# -- Navn på filen som inneholder sertifikatet
filename: helsenorge_sikkerhet_public.pem
# -- Path til hvor sertifikatet mountes i pod'en
volumeMount: /tokevalidation-cert
# -- Navn på secret som inneholder sertifikatet. Denne må eksistere i namespace fra før.
secretName: certificate.helsenorge-sikkerhet.public
# -- 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"




0 comments on commit 344390e

Please sign in to comment.