-
Notifications
You must be signed in to change notification settings - Fork 20
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
Prow: Use CAPI Operator #917
Prow: Use CAPI Operator #917
Conversation
/hold |
/cc @adilGhaffarDev @kashifest |
We have so far been relying on imperative commands to manage the lifecycle of CAPI/CAPO and cert-manager. This commit introduces the CAPI Operator with manifests to declaratively manage these components instead. Signed-off-by: Lennart Jern <[email protected]>
e860251
to
354fbba
Compare
This is a stepping stone to move Prow management to GitOps, not arguing against. 👏 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
awesome
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: kashifest The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
kubectl apply -k capi | ||
# NOTE! You WILL need to apply multiple times before it is successful. | ||
# This is because CRDs and webhooks must be in place before other | ||
# resources can be added. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note this specifically!
This is an opinionated way of working. I put all of it in one kustomization to keep things simple.
However, that kustomization can never be applied in one go. It will always fail the first time you apply, because you cannot create a Certificate or CoreProvider until the CRDs and webhooks are in place.
So the question is, would you rather have a script that does this or is it good like this? Or do you want something different?
To make it crystal clear, the way I would use this if I have to deploy prow from scratch is like this:
- kind create cluster
- kubectl apply -k capi <- This would fail
- Wait a few seconds
- kubectl apply -k capi <- This could potentially succeed but will probably fail
- Wait a few seconds
- kubectl apply -k capi <- This would most likely succeed
- Continue to the next step
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is not something you do all the time, so documenting it clearly (like above comment) is enough IMO.
/override metal3-ubuntu-e2e-integration-test-main |
@lentzi90: Overrode contexts on behalf of lentzi90: metal3-ubuntu-e2e-integration-test-main In response to this:
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-sigs/prow repository. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
LGTM. it looks great. |
/hold cancel |
(Changes have been applied) |
We have so far been relying on imperative commands to manage the lifecycle of CAPI/CAPO and cert-manager. This commit introduces the CAPI Operator with manifests to declaratively manage these components instead.
Fixes: #907