operator-sdk
operator-sdk copied to clipboard
Define best-practice patterns for bundles when developing with CI/CD
What needs fixing?
Hi, Is there any the best practices guide which describes common patterns of CI/CD for development and publishing K8S operator ?
For example in my case I don't completely understand, do I need to store bundle
folder in the git repository with other project files or it'd be better to considering that one as a building artifacts ?
For example in my case I don't completely understand, do I need to store bundle folder in the git repository with other project files or it'd be better to considering that one as a building artifacts ?
I've seen this done in both ways. I've seen some that will store the bundle with the Operator's project. But I have also seen repos that are just a collection of bundles. Neither one is wrong nor necessarily correct, I think it depends what you want to do with your CI/CD.
I've also noticed repositories which host only operator bundles, and I suppose that I could use the same approach in my CI/CD pipeline.
In my job I'm developing and maintaining several k8s operators and ideally pipeline in each operator's project ( git repository) should can do following things:
- Build controller manager image ( if it's GO operator the binary file building while for image building in a dedicated stage) and then push one to container registry.
- Generate operator manifests, build bundle and push it to registry. 3. Add the new bundle to catalog image, rebuild it and push to registry.
I suppose that such workflow is a quite common, and other users could save a lot of time while for operator developing if they have a clear described patterns for CI/CD from documentation of the OLM project.
Issues go stale after 90d of inactivity.
Mark the issue as fresh by commenting /remove-lifecycle stale
.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen
.
If this issue is safe to close now please do so with /close
.
/lifecycle stale
Stale issues rot after 30d of inactivity.
Mark the issue as fresh by commenting /remove-lifecycle rotten
.
Rotten issues close after an additional 30d of inactivity.
Exclude this issue from closing by commenting /lifecycle frozen
.
If this issue is safe to close now please do so with /close
.
/lifecycle rotten /remove-lifecycle stale
Rotten issues close after 30d of inactivity.
Reopen the issue by commenting /reopen
.
Mark the issue as fresh by commenting /remove-lifecycle rotten
.
Exclude this issue from closing again by commenting /lifecycle frozen
.
/close
@openshift-bot: Closing this issue.
In response to this:
Rotten issues close after 30d of inactivity.
Reopen the issue by commenting
/reopen
. Mark the issue as fresh by commenting/remove-lifecycle rotten
. Exclude this issue from closing again by commenting/lifecycle frozen
./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.