Skip to content

Commit

Permalink
fix(common): fix TZ being wrongly defined in common and remove its re…
Browse files Browse the repository at this point in the history
…ferences from some remaining Apps (#2005)

* fix(common): fix TZ being wrongly defined in common and remove its references from some remaining Apps

* hmm

* update tests and add PUID as default as well

* cleanup more tests

* no message

* hussle

* hussle

* fix tests
  • Loading branch information
Ornias1993 committed Mar 3, 2022
1 parent 2d331d1 commit 085fb02
Show file tree
Hide file tree
Showing 11 changed files with 68 additions and 71 deletions.
2 changes: 1 addition & 1 deletion charts/library/common/Chart.yaml
Expand Up @@ -15,4 +15,4 @@ maintainers:
name: common
sources: null
type: library
version: 8.17.2
version: 8.17.3
60 changes: 33 additions & 27 deletions charts/library/common/templates/lib/controller/_container.tpl
Expand Up @@ -46,14 +46,16 @@
{{- end }}

env:
{{- if not ( .Values.env.PUID ) }}
- name: PUID
value: "568"
{{- end }}
- name: PGID
value: {{ .Values.podSecurityContext.fsGroup | quote }}
- name: GROUP_ID
value: {{ .Values.podSecurityContext.fsGroup | quote }}
- name: GID
value: {{ .Values.podSecurityContext.fsGroup | quote }}
- name: TZ
value: "UTC"
{{- if or ( .Values.securityContext.readOnlyRootFilesystem ) ( .Values.securityContext.runAsNonRoot ) }}
- name: S6_READ_ONLY_ROOT
value: "1"
Expand All @@ -62,6 +64,35 @@
- name: NVIDIA_VISIBLE_DEVICES
value: "void"
{{- end }}
{{- if not ( .Values.env.TZ ) }}
- name: TZ
value: "UTC"
{{- end }}
{{- with .Values.env }}
{{- range $k, $v := . }}
{{- $name := $k }}
{{- $value := $v }}
{{- if kindIs "int" $name }}
{{- $name = required "environment variables as a list of maps require a name field" $value.name }}
{{- end }}
- name: {{ quote $name }}
{{- if kindIs "map" $value -}}
{{- if hasKey $value "value" }}
{{- $value = $value.value -}}
{{- else if hasKey $value "valueFrom" }}
{{- toYaml $value | nindent 6 }}
{{- else }}
{{- dict "valueFrom" $value | toYaml | nindent 6 }}
{{- end }}
{{- end }}
{{- if not (kindIs "map" $value) }}
{{- if kindIs "string" $value }}
{{- $value = tpl $value $ }}
{{- end }}
value: {{ quote $value }}
{{- end }}
{{- end }}
{{- end }}
{{- range $key, $value := .Values.envTpl }}
- name: {{ $key }}
value: {{ tpl $value $ | quote }}
Expand Down Expand Up @@ -89,31 +120,6 @@
{{- fail "Please specify name/value for environment variable" }}
{{- end }}
{{- end}}
{{- with .Values.env }}
{{- range $k, $v := . }}
{{- $name := $k }}
{{- $value := $v }}
{{- if kindIs "int" $name }}
{{- $name = required "environment variables as a list of maps require a name field" $value.name }}
{{- end }}
- name: {{ quote $name }}
{{- if kindIs "map" $value -}}
{{- if hasKey $value "value" }}
{{- $value = $value.value -}}
{{- else if hasKey $value "valueFrom" }}
{{- toYaml $value | nindent 6 }}
{{- else }}
{{- dict "valueFrom" $value | toYaml | nindent 6 }}
{{- end }}
{{- end }}
{{- if not (kindIs "map" $value) }}
{{- if kindIs "string" $value }}
{{- $value = tpl $value $ }}
{{- end }}
value: {{ quote $value }}
{{- end }}
{{- end }}
{{- end }}
envFrom:
{{- range .Values.envFrom -}}
{{- if .secretRef }}
Expand Down
1 change: 1 addition & 0 deletions charts/library/common/values.yaml
Expand Up @@ -264,6 +264,7 @@ secret: {}
# envFrom:
# ...
env: {}

## Variables with values set from templates, example
## With a release name of: demo, the example env value will be: demo-admin
envTpl: {}
Expand Down
1 change: 0 additions & 1 deletion charts/stable/appdaemon/values.yaml
Expand Up @@ -11,7 +11,6 @@ podSecurityContext:
runAsGroup: 0

env:
TZ: "America/Chicago"
LATITUDE: 46
LONGITUDE: -94
ELEVATION: 1217
Expand Down
1 change: 0 additions & 1 deletion charts/stable/calibre-web/values.yaml
Expand Up @@ -19,7 +19,6 @@ service:
targetPort: 8083

env: {}
# TZ:
# PUID:
# DOCKER_MODS:

Expand Down
1 change: 0 additions & 1 deletion charts/stable/custom-app/ci/test-values.yaml
Expand Up @@ -29,7 +29,6 @@ serviceList:
targetPort: 9119

env: {}
# TZ: UTC
# PUID: 1001


Expand Down
2 changes: 0 additions & 2 deletions charts/stable/firefox-syncserver/values.yaml
Expand Up @@ -17,8 +17,6 @@ podSecurityContext:
runAsGroup: 0

env:
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TZ: "America/Los_Angeles"
PUID: 568
FF_SYNCSERVER_PUBLIC_URL: "firefox-syncserver.192.168.1.189.nip.io"
FF_SYNCSERVER_FORCE_WSGI_ENVIRON: true
Expand Down
2 changes: 0 additions & 2 deletions charts/stable/gotify/values.yaml
Expand Up @@ -10,8 +10,6 @@ secret:
# See more environment variables in the gotify documentation
# https://gotify.net/docs/config#environment-variables
env:
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TZ: "America/Los_Angeles"
GOTIFY_SERVER_PORT: 8080
GOTIFY_SERVER_KEEPALIVEPERIODSECONDS: 0
GOTIFY_SERVER_LISTENADDR: ""
Expand Down
1 change: 0 additions & 1 deletion charts/stable/heimdall/values.yaml
Expand Up @@ -19,7 +19,6 @@ service:
targetPort: 80

env: {}
# TZ:
# PUID:
probes:
startup:
Expand Down
2 changes: 0 additions & 2 deletions charts/stable/tvheadend/values.yaml
Expand Up @@ -12,8 +12,6 @@ podSecurityContext:

# See https://github.com/linuxserver/docker-tvheadend#parameters
env: {}
# PUID: 1000
# TZ: Europe/London
# RUN_OPTS: <run options here>

service:
Expand Down
66 changes: 33 additions & 33 deletions tests/library/common/container_spec.rb
Expand Up @@ -85,7 +85,7 @@ class Test < ChartTest
deployment = chart.resources(kind: "Deployment").first
containers = deployment["spec"]["template"]["spec"]["containers"]
mainContainer = containers.find{ |c| c["name"] == "common-test" }
assert_nil(mainContainer["env"][5])
assert_nil(mainContainer["env"][7])
end

it 'set static "k/v pair style" environment variables' do
Expand All @@ -101,14 +101,14 @@ class Test < ChartTest
deployment = chart.resources(kind: "Deployment").first
containers = deployment["spec"]["template"]["spec"]["containers"]
mainContainer = containers.find{ |c| c["name"] == "common-test" }
assert_equal(values[:env].keys[0].to_s, mainContainer["env"][6]["name"])
assert_equal(values[:env].values[0].to_s, mainContainer["env"][6]["value"])
assert_equal(values[:env].keys[1].to_s, mainContainer["env"][7]["name"])
assert_equal(values[:env].values[1].to_s, mainContainer["env"][7]["value"])
assert_equal(values[:env].keys[2].to_s, mainContainer["env"][8]["name"])
assert_equal(values[:env].values[2].to_s, mainContainer["env"][8]["value"])
assert_equal(values[:env].keys[3].to_s, mainContainer["env"][9]["name"])
assert_equal(values[:env].values[3].to_s, mainContainer["env"][9]["value"])
assert_equal(values[:env].keys[0].to_s, mainContainer["env"][7]["name"])
assert_equal(values[:env].values[0].to_s, mainContainer["env"][7]["value"])
assert_equal(values[:env].keys[1].to_s, mainContainer["env"][8]["name"])
assert_equal(values[:env].values[1].to_s, mainContainer["env"][8]["value"])
assert_equal(values[:env].keys[2].to_s, mainContainer["env"][9]["name"])
assert_equal(values[:env].values[2].to_s, mainContainer["env"][9]["value"])
assert_equal(values[:env].keys[3].to_s, mainContainer["env"][10]["name"])
assert_equal(values[:env].values[3].to_s, mainContainer["env"][10]["value"])
end

it 'set list of static "kubernetes style" environment variables' do
Expand All @@ -124,8 +124,8 @@ class Test < ChartTest
deployment = chart.resources(kind: "Deployment").first
containers = deployment["spec"]["template"]["spec"]["containers"]
mainContainer = containers.find{ |c| c["name"] == "common-test" }
assert_equal(values[:envList][0][:name].to_s, mainContainer["env"][6]["name"])
assert_equal(values[:envList][0][:value].to_s, mainContainer["env"][6]["value"])
assert_equal(values[:envList][0][:name].to_s, mainContainer["env"][7]["name"])
assert_equal(values[:envList][0][:value].to_s, mainContainer["env"][7]["value"])
end

it 'set both static "k/v pair style" and static "k/valueFrom style" environment variables' do
Expand All @@ -145,10 +145,10 @@ class Test < ChartTest
deployment = chart.resources(kind: "Deployment").first
containers = deployment["spec"]["template"]["spec"]["containers"]
mainContainer = containers.find{ |c| c["name"] == "common-test" }
assert_equal(values[:env].keys[0].to_s, mainContainer["env"][6]["name"])
assert_equal(values[:env].values[0].to_s, mainContainer["env"][6]["value"])
assert_equal(values[:env].keys[1].to_s, mainContainer["env"][7]["name"])
assert_equal(values[:env].values[1][:valueFrom][:fieldRef][:fieldPath], mainContainer["env"][7]["valueFrom"]["fieldRef"]["fieldPath"])
assert_equal(values[:env].keys[0].to_s, mainContainer["env"][7]["name"])
assert_equal(values[:env].values[0].to_s, mainContainer["env"][7]["value"])
assert_equal(values[:env].keys[1].to_s, mainContainer["env"][8]["name"])
assert_equal(values[:env].values[1][:valueFrom][:fieldRef][:fieldPath], mainContainer["env"][8]["valueFrom"]["fieldRef"]["fieldPath"])
end

it 'set static "k/explicitValueFrom pair style" environment variables' do
Expand All @@ -167,8 +167,8 @@ class Test < ChartTest
deployment = chart.resources(kind: "Deployment").first
containers = deployment["spec"]["template"]["spec"]["containers"]
mainContainer = containers.find{ |c| c["name"] == "common-test" }
assert_equal(values[:env].keys[0].to_s, mainContainer["env"][6]["name"])
assert_equal(values[:env].values[0][:valueFrom][:fieldRef][:fieldPath], mainContainer["env"][6]["valueFrom"]["fieldRef"]["fieldPath"])
assert_equal(values[:env].keys[0].to_s, mainContainer["env"][7]["name"])
assert_equal(values[:env].values[0][:valueFrom][:fieldRef][:fieldPath], mainContainer["env"][7]["valueFrom"]["fieldRef"]["fieldPath"])
end

it 'set static "k/implicitValueFrom pair style" environment variables' do
Expand All @@ -185,8 +185,8 @@ class Test < ChartTest
deployment = chart.resources(kind: "Deployment").first
containers = deployment["spec"]["template"]["spec"]["containers"]
mainContainer = containers.find{ |c| c["name"] == "common-test" }
assert_equal(values[:env].keys[0].to_s, mainContainer["env"][6]["name"])
assert_equal(values[:env].values[0][:fieldRef][:fieldPath], mainContainer["env"][6]["valueFrom"]["fieldRef"]["fieldPath"])
assert_equal(values[:env].keys[0].to_s, mainContainer["env"][7]["name"])
assert_equal(values[:env].values[0][:fieldRef][:fieldPath], mainContainer["env"][7]["valueFrom"]["fieldRef"]["fieldPath"])
end

it 'set both static "k/v pair style" and templated "k/v pair style" environment variables' do
Expand All @@ -200,10 +200,10 @@ class Test < ChartTest
deployment = chart.resources(kind: "Deployment").first
containers = deployment["spec"]["template"]["spec"]["containers"]
mainContainer = containers.find{ |c| c["name"] == "common-test" }
assert_equal(values[:env].keys[0].to_s, mainContainer["env"][6]["name"])
assert_equal("common-test-admin", mainContainer["env"][6]["value"])
assert_equal(values[:env].keys[1].to_s, mainContainer["env"][7]["name"])
assert_equal(values[:env].values[1].to_s, mainContainer["env"][7]["value"])
assert_equal(values[:env].keys[0].to_s, mainContainer["env"][7]["name"])
assert_equal("common-test-admin", mainContainer["env"][7]["value"])
assert_equal(values[:env].keys[1].to_s, mainContainer["env"][8]["name"])
assert_equal(values[:env].values[1].to_s, mainContainer["env"][8]["value"])
end

it 'set templated "k/v pair style" environment variables' do
Expand All @@ -216,8 +216,8 @@ class Test < ChartTest
deployment = chart.resources(kind: "Deployment").first
containers = deployment["spec"]["template"]["spec"]["containers"]
mainContainer = containers.find{ |c| c["name"] == "common-test" }
assert_equal(values[:env].keys[0].to_s, mainContainer["env"][6]["name"])
assert_equal("common-test-admin", mainContainer["env"][6]["value"])
assert_equal(values[:env].keys[0].to_s, mainContainer["env"][7]["name"])
assert_equal("common-test-admin", mainContainer["env"][7]["value"])
end

it 'set static "k/v pair style", templated "k/v pair style", static "k/explicitValueFrom pair style", and static "k/implicitValueFrom pair style" environment variables' do
Expand All @@ -243,14 +243,14 @@ class Test < ChartTest
deployment = chart.resources(kind: "Deployment").first
containers = deployment["spec"]["template"]["spec"]["containers"]
mainContainer = containers.find{ |c| c["name"] == "common-test" }
assert_equal(values[:env].keys[0].to_s, mainContainer["env"][6]["name"])
assert_equal("common-test-admin", mainContainer["env"][6]["value"])
assert_equal(values[:env].keys[1].to_s, mainContainer["env"][7]["name"])
assert_equal(values[:env].values[1].to_s, mainContainer["env"][7]["value"])
assert_equal(values[:env].keys[2].to_s, mainContainer["env"][8]["name"])
assert_equal(values[:env].values[2][:valueFrom][:fieldRef][:fieldPath], mainContainer["env"][8]["valueFrom"]["fieldRef"]["fieldPath"])
assert_equal(values[:env].keys[3].to_s, mainContainer["env"][9]["name"])
assert_equal(values[:env].values[3][:fieldRef][:fieldPath], mainContainer["env"][9]["valueFrom"]["fieldRef"]["fieldPath"])
assert_equal(values[:env].keys[0].to_s, mainContainer["env"][7]["name"])
assert_equal("common-test-admin", mainContainer["env"][7]["value"])
assert_equal(values[:env].keys[1].to_s, mainContainer["env"][8]["name"])
assert_equal(values[:env].values[1].to_s, mainContainer["env"][8]["value"])
assert_equal(values[:env].keys[2].to_s, mainContainer["env"][9]["name"])
assert_equal(values[:env].values[2][:valueFrom][:fieldRef][:fieldPath], mainContainer["env"][9]["valueFrom"]["fieldRef"]["fieldPath"])
assert_equal(values[:env].keys[3].to_s, mainContainer["env"][10]["name"])
assert_equal(values[:env].values[3][:fieldRef][:fieldPath], mainContainer["env"][10]["valueFrom"]["fieldRef"]["fieldPath"])
end

it 'set "static" secret variables' do
Expand Down

0 comments on commit 085fb02

Please sign in to comment.