Helm Chart: support log level configuration
What does this MR do?
Helm Chart: support log level configuration
Supports setting the log level in the Helm Chart.
References:
- https://sdk.operatorframework.io/docs/building-operators/golang/references/logging/
- https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/log/zap#Options.BindFlags
Changelog: added
Checklist
See Definition of done.
For anything in this list which will not be completed, please provide a reason in the MR discussion.
Required
-
Merge Request Title and Description are up to date, accurate, and descriptive -
MR targeting the appropriate branch -
MR has a green pipeline on GitLab.com -
When ready for review, MR is labeled "~workflow::ready for review" per the Distribution MR workflow
Expected (please provide an explanation if not completing)
-
Test plan indicating conditions for success has been posted and passes -
Documentation created/updated (values file contains references) -
Tests added (we don't have a test setup for Charts configuration at this time) -
Integration tests added to GitLab QA (QA doesn't test this aspect of the application, as it's just the logs from the Operator) -
Equivalent MR/issue for omnibus-gitlab opened (this change is Operator-specific) -
Validate potential values for new configuration settings. Formats such as integer 10
, duration10s
, URIscheme://user:passwd@host:port
may require quotation or other special handling when rendered in a template and written to a configuration file.
Test plan
Test with a valid value
$ helm template myoperator deploy/chart --set manager.log.level=debug --show-only templates/manager/deployment.yaml | yq '.spec.template.spec.containers[0].args'
- --metrics-addr=127.0.0.1:8080
- --enable-leader-election
- --zap-devel=false
- --zap-log-level=debug
Test with another value
$ helm template myoperator deploy/chart --set manager.log.level=info --show-only templates/manager/deployment.yaml | yq '.spec.template.spec.containers[0].args'
- --metrics-addr=127.0.0.1:8080
- --enable-leader-election
- --zap-devel=false
- --zap-log-level=info
Test with defaults
$ helm template myoperator deploy/chart --show-only templates/manager/deployment.yaml | yq '.spec.template.spec.containers[0].args'
- --metrics-addr=127.0.0.1:8080
- --enable-leader-election
- --zap-devel=false
- --zap-log-level=info
Related issues
Related to https://gitlab.com/groups/gitlab-org/cloud-native/-/epics/66
Edited by Mitchell Nielsen