Following #971 and #972, we need to wire up the logic such that a ServiceAccount referenced in a ClusterExtension is used to install/upgrade/uninstall content via the Helm client.
While exact implementation may vary, here are some things to consider during implementation:
Acceptance Criteria:
- The
client.NewActionConfigGetter setup in | cfgGetter, err:=helmclient.NewActionConfigGetter(mgr.GetConfig(), mgr.GetRESTMapper(), |
| helmclient.StorageNamespaceMapper(installNamespaceMapper), |
| helmclient.ClientNamespaceMapper(installNamespaceMapper), |
| ) |
| iferr!=nil { |
| setupLog.Error(err, "unable to config for creating helm client") |
| os.Exit(1) |
| } |
is updated to use a client.RestConfigMapper that creates a rest.Config configured with a token from the ServiceAccount referenced in a ClusterExtension - Updates to the existing unit + e2e tests as necessary for them to continue functioning as expected. It is anticipated that some work will need to be done to configure a ServiceAccount with appropriate permissions to be used during e2e tests.
- Permissions on the operator-controller ServiceAccount should be updated to no longer require write permissions on content to be installed (and clean up any other permissions that are no longer necessary)
- Any changes to the previously implemented interfaces to facilitate the wiring of components successfully are made
Following #971 and #972, we need to wire up the logic such that a
ServiceAccountreferenced in aClusterExtensionis used to install/upgrade/uninstall content via the Helm client.While exact implementation may vary, here are some things to consider during implementation:
client.RestConfigMapperthat is used withclient.NewActionConfigGetterto configure the helm client created for a given ClusterExtension.client.NewActionConfigGetteris configured here:operator-controller/cmd/manager/main.go
Lines 168 to 175 in 2eca31d
Acceptance Criteria:
client.NewActionConfigGettersetup inoperator-controller/cmd/manager/main.go
Lines 168 to 175 in 2eca31d
client.RestConfigMapperthat creates arest.Configconfigured with a token from theServiceAccountreferenced in aClusterExtension