kubernetes-sigs / cluster-api

Home for Cluster API, a subproject of sig-cluster-lifecycle
https://cluster-api.sigs.k8s.io
Apache License 2.0
3.5k stars 1.3k forks source link

Allow updating just the provider image tag with clusterctl config file's images section #3469

Closed anujc25 closed 4 years ago

anujc25 commented 4 years ago

User Story

As a user/developer, I would like to configure just the infrastructure-provider-controller image tag when doing clusterctl init to install providers for testing different image tags without changing kube-rbac-proxy image tag and infrastructure-components.yaml file.

Detailed Description

Taking AWS provider as an example, I am able to update the image repository with the clusterctl config file's image section. I would like to update the capa-controller image tag as well with the config file.

For example: Current behavior is, when setting below configuration in images section of config file

images:
    infrastructure-aws:
      repository: custom.image.repo.io/cluster-api
      tag: v0.5.4_dev.1

This will update the capa-controller and kube-rbac-proxy image tag both to v0.5.4_dev.1

I want a way to update capa-controller image tag and kube-rbac-proxy image tag independently with a possibility of updating both the images to different image tag.

Anything else you would like to add:

-

/kind feature

wfernandes commented 4 years ago

This makes sense and I think it's a reasonable ask. TBH I don't know why kube-rbac-proxy image tag is changing as well. Upon quick inspection of the code it seems that for a Deployment, all the Containers and InitContainers will have their image tag and repository modified.

It feels like we may need a more fine grained control of this feature or maybe templating could be an answer?

/area clusterctl

fabriziopandini commented 4 years ago

+1 to add an optional "image" field to the ImageTag struct.

FYI, the image override feature was originally developed for cert-manager, where all the images use the same tag; however it should not be difficult to extend it this for supporting other use cases as well

fabriziopandini commented 4 years ago

/assign /lifecycle active

vincepri commented 4 years ago

/milestone v0.3.9