-
Notifications
You must be signed in to change notification settings - Fork 17
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
Add v1beta1 API with Conversion Webhook and Cert-Manager #140
Add v1beta1 API with Conversion Webhook and Cert-Manager #140
Conversation
config/manifests/bases/shipwright-operator.clusterserviceversion.yaml
Outdated
Show resolved
Hide resolved
afca365
to
d8d6e8d
Compare
2d76647
to
badfce7
Compare
/assign @adambkaplan |
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.
/approve
This is a good first step at getting the operator to support the beta API and associated conversion webhook. There are a few things that I would like to see before merging:
- Squashed commits, with a detailed commit message explaining what was added here.
- Add a similarly robust release note in the PR description. This is a significant change and probably needs an "ACTION REQUIRED" note due to the added cert-manager dependency.
- Update the README to clarify any prerequisites needed if the operator is installed/managed via OLM. For example, does the admin need to separately install the Tekton and Cert-manager operators?
One other thing I noticed that is a bit outside the scope is that our e2e test only checks that the operator installs the component. It doesn't, say, do a smoke test of running a Shipwright build and making sure it works fully end to end. This should be taken up as a separate item.
- kind: Certificate | ||
name: certificates.cert-manager.io | ||
version: v1 |
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.
- Does this mean that a cluster admin also needs to install cert-manager?
- Does OLM do this automatically, or will an admin need to do this separately? See https://olm.operatorframework.io/docs/concepts/olm-architecture/dependency-resolution/#declaring-dependencies
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.
Via the bundle we provide, OLM installs automatically the dependencies, tekton and cert-manager
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.
We should release the operator to provide the olm bundle in the operatorhubio
} | ||
} | ||
|
||
manifest, err := common.SetupManifestival(client, "certificates.yaml", logger) |
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.
Not blocking - noticing that this setup code is being run through every reconcile loop. Follow up PRs can refactor things a bit so we only do this setup once. Perhaps use a separate controller?
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.
Do we need to update the README to also recommend Tekton and Cert-Manager be installed?
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.
README updated
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: adambkaplan 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 |
badfce7
to
722e1d9
Compare
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.
One final nit on the README, otherwise looks good.
@shipwright-io/operator-reviewers ptal for lgtm.
## OLM Dependencies | ||
When installed via OLM using the provided SHipwright Operator Bundle, the Shipwright operator has two dependencies to: | ||
- The Tekton operator needed by the Shipright Build Controller | ||
- The Cert-Manager operator needed in case you delegate to the Shipwright operator the ssl certificates management of the Shipwright Conversion webhook | ||
The two operators are then installed automatically by OLM. |
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.
nit to clean up some of the grammar:
## OLM Dependencies | |
When installed via OLM using the provided SHipwright Operator Bundle, the Shipwright operator has two dependencies to: | |
- The Tekton operator needed by the Shipright Build Controller | |
- The Cert-Manager operator needed in case you delegate to the Shipwright operator the ssl certificates management of the Shipwright Conversion webhook | |
The two operators are then installed automatically by OLM. | |
## OLM Dependencies | |
When installed via OLM using the provided Shipwright Operator Bundle, the Shipwright operator will ask OLM to deploy the following operators: | |
- The [Tekton operator](https://tekton.dev/docs/operator/) to deploy and manage Tekton Pipelines. | |
- The [Cert-Manager operator](https://cert-manager.io/docs/installation/operator-lifecycle-manager/) to provision certificates for admission/conversion webhooks. | |
For this to work, the Shipwright operator must be included in a catalog that includes these other operators. |
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.
fixed
- Update release.yaml with nightly release - Add cert-manager as shipwright operator dependency - ReconcileCertManager to generate ssl key pair for the webhook - Generate rbac, manifests and bundle - update doc
722e1d9
to
30d77ba
Compare
@shipwright-io/operator-reviewers for lgtm |
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
Changes
Fixes #142
Submitter Checklist
See the contributor guide
for details on coding conventions, github and prow interactions, and the code review process.
Release Note