1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-04-15 08:46:36 +00:00

fix: panic if env var not defined (#7613)

* fix: panic if env var not defined

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* fix

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
This commit is contained in:
Charles-Edouard Brétéché 2023-06-21 06:12:01 +02:00 committed by GitHub
parent 3348ddd6ea
commit 362c5db2ed
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 57 additions and 0 deletions

View file

@ -98,6 +98,8 @@ spec:
{{- toYaml . | nindent 12 }}
{{- end }}
env:
- name: KYVERNO_SERVICEACCOUNT_NAME
value: {{ template "kyverno.admission-controller.serviceAccountName" . }}
- name: INIT_CONFIG
value: {{ template "kyverno.config.configMapName" . }}
- name: METRICS_CONFIG

View file

@ -119,6 +119,10 @@ spec:
{{- end }}
{{- end }}
env:
- name: KYVERNO_SERVICEACCOUNT_NAME
value: {{ template "kyverno.background-controller.serviceAccountName" . }}
- name: KYVERNO_DEPLOYMENT
value: {{ template "kyverno.background-controller.name" . }}
- name: INIT_CONFIG
value: {{ template "kyverno.config.configMapName" . }}
- name: METRICS_CONFIG

View file

@ -115,6 +115,10 @@ spec:
{{- end }}
{{- end }}
env:
- name: KYVERNO_SERVICEACCOUNT_NAME
value: {{ template "kyverno.cleanup-controller.serviceAccountName" . }}
- name: KYVERNO_DEPLOYMENT
value: {{ template "kyverno.cleanup-controller.name" . }}
- name: INIT_CONFIG
value: {{ template "kyverno.config.configMapName" . }}
- name: METRICS_CONFIG

View file

@ -124,6 +124,10 @@ spec:
{{- end }}
{{- end }}
env:
- name: KYVERNO_SERVICEACCOUNT_NAME
value: {{ template "kyverno.reports-controller.serviceAccountName" . }}
- name: KYVERNO_DEPLOYMENT
value: {{ template "kyverno.reports-controller.name" . }}
- name: INIT_CONFIG
value: {{ template "kyverno.config.configMapName" . }}
- name: METRICS_CONFIG

28
cmd/internal/check.go Normal file
View file

@ -0,0 +1,28 @@
package internal
import (
"errors"
"os"
"github.com/go-logr/logr"
)
func check(logger logr.Logger) {
checkEnvVar(logger, "KYVERNO_NAMESPACE")
checkEnvVar(logger, "KYVERNO_SERVICEACCOUNT_NAME")
checkEnvVar(logger, "KYVERNO_DEPLOYMENT")
checkEnvVar(logger, "KYVERNO_POD_NAME")
checkEnvVar(logger, "INIT_CONFIG")
checkEnvVar(logger, "METRICS_CONFIG")
}
func checkEnvVar(logger logr.Logger, name string) {
checkError(logger, validateEnvVar(name), "please define the environment variable", "name", name)
}
func validateEnvVar(name string) error {
if os.Getenv(name) == "" {
return errors.New("environement variable must be defined")
}
return nil
}

View file

@ -51,6 +51,7 @@ func Setup(config Configuration, name string, skipResourceFilters bool) (context
showVersion(logger)
printFlagSettings(logger)
showWarnings(config, logger)
check(logger)
sdownMaxProcs := setupMaxProcs(logger)
setupProfiling(logger)
ctx, sdownSignals := setupSignals(logger)

View file

@ -38738,6 +38738,8 @@ spec:
seccompProfile:
type: RuntimeDefault
env:
- name: KYVERNO_SERVICEACCOUNT_NAME
value: kyverno-admission-controller
- name: INIT_CONFIG
value: kyverno
- name: METRICS_CONFIG
@ -38917,6 +38919,10 @@ spec:
- --v=2
- --enablePolicyException=false
env:
- name: KYVERNO_SERVICEACCOUNT_NAME
value: kyverno-background-controller
- name: KYVERNO_DEPLOYMENT
value: kyverno-background-controller
- name: INIT_CONFIG
value: kyverno
- name: METRICS_CONFIG
@ -39009,6 +39015,10 @@ spec:
- --loggingFormat=text
- --v=2
env:
- name: KYVERNO_SERVICEACCOUNT_NAME
value: kyverno-cleanup-controller
- name: KYVERNO_DEPLOYMENT
value: kyverno-cleanup-controller
- name: INIT_CONFIG
value: kyverno
- name: METRICS_CONFIG
@ -39142,6 +39152,10 @@ spec:
- --allowInsecureRegistry=false
- --registryCredentialHelpers=default,google,amazon,azure,github
env:
- name: KYVERNO_SERVICEACCOUNT_NAME
value: kyverno-reports-controller
- name: KYVERNO_DEPLOYMENT
value: kyverno-reports-controller
- name: INIT_CONFIG
value: kyverno
- name: METRICS_CONFIG