As an OpenShift cluster admin
I want the Shared Resource CSI driver to be configurable with a ConfigMap
So that the configuration can be managed by an operator
- The shared resource CSI driver can be configured by reading a file (ex - YAML or TOML)
- The shared resource CSI driver can be deployed with an optional ConfigMap that provides the configuration file.
- When the configuration changes, the driver restarts itself.
We need documentation in GitHub on how the driver can be deployed with this config file (vs using command line args).
TODO - do we need to have this in official product docs? We do not need product docs or release notes for this.
QE should verify that our CI testing checks the ConfigMap is being created, is formatted properly, and that the driver is functional.
openshift/library-go has utilities which let us hash the contents of a ConfigMap, and use the value to roll out an update on a Deployment or DaemonSet. openshift-controller-manager-operator does something similar - see https://github.com/openshift/cluster-openshift-controller-manager-operator/blob/master/pkg/operator/sync_openshiftcontrollermanager_v311_00.go#L183-L189