Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[clusterctl] Manage the cert-manager lifecycle #2635

Closed
fabriziopandini opened this issue Mar 11, 2020 · 9 comments
Closed

[clusterctl] Manage the cert-manager lifecycle #2635

fabriziopandini opened this issue Mar 11, 2020 · 9 comments
Labels
area/clusterctl Issues or PRs related to clusterctl kind/feature Categorizes issue or PR as related to a new feature.
Milestone

Comments

@fabriziopandini
Copy link
Member

User Story

As an operator, I would like to get the cert-manager lifecycle managed by clusterctl

Detailed Description

The cert-manager manifest is embedded in clusterctl, so we can provide a better Day 1 experience.

However, this comes with some downsides, like e.g the fact that the manifest cannot be easily changed, and most important in the long term, there is not yet a well-defined upgrade path for cert-manager.

It should be noted that upgrading cert-manager most probably requires also additional code changes like e.g. the wait-for-cert manager loop should adapt to the new manifest.

I see few options here:

  1. clusterctl should be improved to manage the cert-manager version according to the cluster-api version + continue to have the cert-manager manifest is embedded in clusterctl
    When upgrading to a cluster-api version that requires a new cert-manager version, in order to do upgrades it is required to install a new version of clusterctl (with the new manifest/with the new wait-for-cert manager loop)
  2. clusterctl should be improved to manage the cert-manager version according to the cluster-api version + add the cert-manager manifest as part of the clusterctl bundle (instead of having it embedded in the binary)
    When upgrading to a cluster-api version that requires a new cert-manager version, the new cert-manager manifest will be fetched together with the other YAML manifests. TBD how to manage the new wait-for-cert manager loop.
  3. split the cert-manager lifecycle from the cluster-api lifecycle
    This probably requires to review the day 1 workflow as well

Anything else you would like to add:

#2558 introduced the possibility to override images in the cert-manager, but this was designed to address air-gapped use cases, not upgrades. However, it can be used as a workaround only for patch upgrades where only the image number is changed.

Similarly, #2566 discuss if/how to allow to change the overriding image for cert-manager after init, but also this does not address upgrades (same as above).

/kind feature

@k8s-ci-robot k8s-ci-robot added the kind/feature Categorizes issue or PR as related to a new feature. label Mar 11, 2020
@ncdc ncdc added this to the v0.3.x milestone Mar 11, 2020
@fabriziopandini fabriziopandini changed the title [clusterctl] Manage the cert-manage lifecycle [clusterctl] Manage the cert-manager lifecycle Mar 11, 2020
@fabriziopandini
Copy link
Member Author

/area clusterctl

@k8s-ci-robot k8s-ci-robot added the area/clusterctl Issues or PRs related to clusterctl label Apr 1, 2020
@wfernandes
Copy link
Contributor

Commenting on this issue so I can be in the loop. This looks like a lot of work and I would like to help out where ever I can 🙂

@wfernandes
Copy link
Contributor

Referencing this issue #2934 here as it may be relevant when we design this out.

@wfernandes
Copy link
Contributor

Referencing this issue #3033 here as it may be relevant when we design this out.

@vincepri
Copy link
Member

vincepri commented Jul 31, 2020

/milestone v0.3.9

This will be at least partially fixed by #3313 #3364.

On a separate note, in the future we'll need to update the cert-manager resources we ship with Cluster API

@k8s-ci-robot k8s-ci-robot modified the milestones: v0.3.x, v0.3.9 Jul 31, 2020
@wfernandes
Copy link
Contributor

@vincepri Should we close this issue since #3313 and #3364 have been merged in? It seems that any other work for management of cert-manager lifecycle would probably fall under v0.4.x. WDYT?

@vincepri
Copy link
Member

SGTM 👍

@fabriziopandini
Copy link
Member Author

/close

@k8s-ci-robot
Copy link
Contributor

@fabriziopandini: Closing this issue.

In response to this:

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/clusterctl Issues or PRs related to clusterctl kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

No branches or pull requests

5 participants