-
Notifications
You must be signed in to change notification settings - Fork 13
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
Scipts to package cert-manager as OLM bundles on OperatorHub #26
Conversation
Signed-off-by: Richard Wall <[email protected]>
Signed-off-by: Richard Wall <[email protected]>
Signed-off-by: Richard Wall <[email protected]>
Signed-off-by: Richard Wall <[email protected]>
Signed-off-by: Richard Wall <[email protected]>
Signed-off-by: Richard Wall <[email protected]>
Signed-off-by: Richard Wall <[email protected]>
As per the PR template: https://github.com/operator-framework/community-operators/blob/master/docs/pull_request_template.md Signed-off-by: Richard Wall <[email protected]>
Signed-off-by: Richard Wall <[email protected]>
Signed-off-by: Richard Wall <[email protected]>
Signed-off-by: Richard Wall <[email protected]>
Signed-off-by: Richard Wall <[email protected]>
Signed-off-by: Richard Wall <[email protected]>
|
||
* Add the new version of cert-manager to the `CERT_MANAGER_VERSIONS` list at the top of the `Makefile` | ||
* Run `make catalog-build` to generate / update all the bundle files in `./github.com/operator-framework/community-operators/` | ||
* [Preview the generated clusterserviceversion file on OperatorHub ](https://operatorhub.io/preview) |
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.
"--tls-cert-file=/tmp/k8s-webhook-server/serving-certs/tls.crt", | ||
"--tls-private-key-file=/tmp/k8s-webhook-server/serving-certs/tls.key", | ||
]) | ||
container["args"] = args |
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.
There are two issues addressed here:
- OpenShift / OLM creates its own webhook certificates and injects them into the webhook config and mounts them into the webhook pod. So here I configure the webhook server with the paths to the OLM mounted key pair files.
- It also overrides the webhook service name with a
-service
suffix, which is why I changed the--dynamic-serving-dns-names
argument, but actually that argument can probably be removed altogether.
This may fix cert-manager/cert-manager#4055.
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.
I haven't reviewed the whole thing - I don't have time left in the day - but I've added one suggestion which I spotted.
github.com/operator-framework/community-operators/global-csv-config.yaml
Outdated
Show resolved
Hide resolved
Signed-off-by: Richard Wall <[email protected]>
…onfig.yaml Co-authored-by: Ashley Davis <[email protected]> Signed-off-by: Richard Wall <[email protected]>
Fixes: #25, #24, #21, #23
It's taken a while to figure out all the tools, but here is a Makefile which wraps the
operator-sdk
CLI to generatebundle
files for multiple versions of cert-manager.There a couple of other Python scripts to first reduce the size of CRDs so that the bundle is small enough to be extracted to a configmap by OLM.
This is a work around for operator-framework/operator-lifecycle-manager#1523
Adapted from https://raw.githubusercontent.com/kubevirt/hyperconverged-cluster-operator/c6b425961feb0f350655ccfa7401336b30de66ab/hack/strip_old_descriptions.py in kubevirt/hyperconverged-cluster-operator#1396
There is another script which automates the process of filling in various fields in the clusterserviceversion (CSV) file, such as encoding a logo and adding various meta information.
Finally, the Makefile includes some targets to help with testing the bundles in a local Kind cluster, as described in https://github.com/operator-framework/community-operators/blob/master/docs/testing-operators.md
TODO:
bundle/cert-manager-operator
content from this repocertmanagers.operator.cert-manager.io
which I think may be a mistake