Skip to content

Wire up installation of content using a provided ServiceAccount #973

Closed
@everettraven

Description

@everettraven

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),
    )
    if err != 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

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions