-
Notifications
You must be signed in to change notification settings - Fork 56
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 requirements for working with OLM #438
Conversation
@amisevsk: The following test failed, say
Full PR test history. Your PR dashboard. 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. I understand the commands that are listed here. |
@@ -0,0 +1,13 @@ | |||
apiVersion: v1 | |||
data: | |||
controller.plugin_artifacts_broker.image: quay.io/eclipse/che-plugin-artifacts-broker:v3.4.0 |
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.
Plugin broker image caught my attention here, so #439 =)
build/make/olm.mk
Outdated
--metadata && \ | ||
mv bundle.Dockerfile build/ | ||
|
||
### generate_olm_bundle_image: build and push DevWorkspace Operator bundle imag |
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.
### generate_olm_bundle_image: build and push DevWorkspace Operator bundle imag | |
### generate_olm_bundle_image: build and push DevWorkspace Operator bundle image |
|
||
### register_catalogsource: create the catalogsource to make the operator be available on the marketplace | ||
register_catalogsource: _check_skopeo_installed | ||
INDEX_DIGEST=$$(skopeo inspect docker://$(DWO_INDEX_IMG) | jq -r '.Digest') |
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 remember Maxim had issues somewhere on QE side that skopeo did not work, just hang for a long time. And he workaround it by using docker inspect.
What if we change it with docker inspect ${DWO_BUNDLE_IMG} | jq -r '.[0].RepoDigests[0]'
?
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.
Discovered a bit more, skopeo works fine for small repos with small tags list, but for repos with millions (number is not precise) it takes a lot of time, e.g. registry-proxy.engineering.redhat.com/rh-osbs/iib:77245
> skopeo inspect docker://registry-proxy.engineering.redhat.com/rh-osbs/iib:77245 --debug
DEBU[0000] Loading registries configuration "/etc/containers/registries.conf"
DEBU[0000] Trying to access "registry-proxy.engineering.redhat.com/rh-osbs/iib:77245"
DEBU[0000] Credentials not found
DEBU[0000] Using registries.d directory /etc/containers/registries.d for sigstore configuration
DEBU[0000] Using "default-docker" configuration
DEBU[0000] No signature storage configuration found for registry-proxy.engineering.redhat.com/rh-osbs/iib:77245
DEBU[0000] Looking for TLS certificates and private keys in /etc/docker/certs.d/registry-proxy.engineering.redhat.com
DEBU[0000] GET https://registry-proxy.engineering.redhat.com/v2/
DEBU[0000] Ping https://registry-proxy.engineering.redhat.com/v2/ status 401
DEBU[0000] GET https://registry-proxy.engineering.redhat.com/v2/auth?scope=repository%3Arh-osbs%2Fiib%3Apull
DEBU[0001] Increasing token expiration to: 60 seconds
DEBU[0001] GET https://registry-proxy.engineering.redhat.com/v2/rh-osbs/iib/manifests/77245
DEBU[0002] Content-Type from manifest GET is "application/vnd.docker.distribution.manifest.list.v2+json"
DEBU[0002] GET https://registry-proxy.engineering.redhat.com/v2/rh-osbs/iib/manifests/sha256:8666790758ef80bc7134a5dff81bf2524851774d5a6942bbb6cb4a78363fd3f8
DEBU[0003] Content-Type from manifest GET is "application/vnd.docker.distribution.manifest.v2+json"
DEBU[0003] Downloading /v2/rh-osbs/iib/blobs/sha256:3b6d60a018bc515851c948cb951ea90487cca1fd2c9c0cb0bdb24587e734560b
DEBU[0003] GET https://registry-proxy.engineering.redhat.com/v2/rh-osbs/iib/blobs/sha256:3b6d60a018bc515851c948cb951ea90487cca1fd2c9c0cb0bdb24587e734560b
DEBU[0004] Credentials not found
DEBU[0004] Using registries.d directory /etc/containers/registries.d for sigstore configuration
DEBU[0004] Using "default-docker" configuration
DEBU[0004] No signature storage configuration found for registry-proxy.engineering.redhat.com/rh-osbs/iib:77245
DEBU[0004] Looking for TLS certificates and private keys in /etc/docker/certs.d/registry-proxy.engineering.redhat.com
DEBU[0004] GET https://registry-proxy.engineering.redhat.com/v2/
DEBU[0004] Ping https://registry-proxy.engineering.redhat.com/v2/ status 401
DEBU[0004] GET https://registry-proxy.engineering.redhat.com/v2/auth?scope=repository%3Arh-osbs%2Fiib%3Apull
DEBU[0005] Increasing token expiration to: 60 seconds
DEBU[0005] GET https://registry-proxy.engineering.redhat.com/v2/rh-osbs/iib/tags/list
DEBU[0023] GET https://registry-proxy.engineering.redhat.com/v2/rh-osbs/iib/tags/list?next_page=gAAAAABgrj1yho15L_RZ3jADGQYTiG13JIt55crnbm7MyeC4OfTbUzcg2UBY2InNtvqrzoc9q7U8KbYb_xa-r-tllnO6SwVJNZh5Iw1Jrqurm6TJvw5BX3c%3D&n=50
DEBU[0024] GET https://registry-proxy.engineering.redhat.com/v2/rh-osbs/iib/tags/list?next_page=gAAAAABgrj1zT3wgC29PKPVDJhLPi4tabSqSEbSI-LloBfOCFpD3faMWg4dgsL0GENLbs9MExS99R2ntn76FQolTDx--HaaQ-4MODM-u4UKF1O1Dd4ipw9I%3D&n=50
DEBU[0025] GET https://registry-proxy.engineering.redhat.com/v2/rh-osbs/iib/tags/list?next_page=gAAAAABgrj1zNpwboA1OZAunudM_E2mYeeJcLzHDO3E66_cLqcffCczj0x_E8xqzvpKGf--OgYAEz6ZutoSEF4ISjWCxwNNTlF7V8Ngp8bybUDxzRnnc4BA%3D&n=50
DEBU[0027] GET https://registry-proxy.engineering.redhat.com/v2/rh-osbs/iib/tags/list?next_page=gAAAAABgrj11KDFcYlfSjU1za8igBVhqHeGKA1lzGe6b_bPTbJgdmveN4CccsO-ELx9nK6hqv7TVtFGWrkN_y0zGeTlKCZy9uiGzrtqDNo9OopA9c95ltVI%3D&n=50
DEBU[0028] GET https://registry-proxy.engineering.redhat.com/v2/rh-osbs/iib/tags/list?next_page=gAAAAABgrj13Fqd9mkxzAVwedtCzHh8HC2hUz8WUY2pqD-rP-a_9BiwWp3llEN-jWp5jYLzJYaL7AU6Z_N4r1JkK87jl8W5vBIXr9gQI7Vd2RBR4dGOrgdo%3D&n=50
DEBU[0030] GET https://registry-proxy.engineering.redhat.com/v2/rh-osbs/iib/tags/list?next_page=gAAAAABgrj14VN08OGMAv9w0HLyirVFQD5txLsczEVAoek8YePLl6xcLjOONDFxKa-IJALHBTfhEcFIesxBkdCulAl_0WvW2UPj_n3ZXx42zcGcNvotliaY%3D&n=50
DEBU[0031] GET https://registry-proxy.engineering.redhat.com/v2/rh-osbs/iib/tags/list?next_page=gAAAAABgrj16msZYhXUNQ-SNrlyXxGpnlrp-gA5rzFDpfSyGC5tdB8ulKdUQtkRc4FmElAFhfSgHV6BMHuBrYuewtn-77LFJMCB6dnwA315eJpydZIXj2Lo%3D&n=50
DEBU[0033] GET https://registry-proxy.engineering.redhat.com/v2/rh-osbs/iib/tags/list?next_page=gAAAAABgrj173fzBTo1KfnMJb9uLdSdPi4_1af-grcHZn6Yxih-AXzuVdUKN4njgeBByeZmk61s0Gj25Wei0P9rw0cBdHXqB5QhLTqoQpA30FebEgS4mAYQ%3D&n=50
DEBU[0033] GET https://registry-proxy.engineering.redhat.com/v2/rh-osbs/iib/tags/list?next_page=gAAAAABgrj17pI6jsAgpp1vMm-zAPvKVsD7tceRcr4Y_CtNdxtzRtrSJJR4uBeMh_CMxiPiCcnT_VdGxPzBAKQX4W-lyfTwud2uqUdQejwyUzmQvYAk7B6s%3D&n=50
DEBU[0034] GET https://registry-proxy.engineering.redhat.com/v2/rh-osbs/iib/tags/list?next_page=gAA
....
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.
Just have a few comments, but overall it's looking good so far 😎
container.yaml
Outdated
@@ -0,0 +1,11 @@ | |||
# new for 4.5 | |||
# https://osbs.readthedocs.io/en/latest/users.html#replacing-pullspecs |
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 don't think we need this file in upstream, I can add it in the midstream repo automatically since it's red hat specific
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 was shooting blindly at the end, copying files over from the web-terminal-operator repo :D
@@ -0,0 +1,13 @@ | |||
apiVersion: 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.
I really hope that OLM has fixed itself so that there's no issues uninstalling services/configmaps/etc that are stored in the manifests. IIRC in 4.5 there were issues around that
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.
Another reason to drop the configmap ;)
- --enable-leader-election | ||
env: | ||
- name: DEVELOPMENT_MODE | ||
value: "true" |
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 know the CSV isn't fully done, but should this be false for production? Or would it be easier to diagnose issues if we have more log info?
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.
It absolutely should be -- now to figure out where this value is coming from
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.
Turns out the easiest way to fix this was to just disable the manager_dev_mode_patch.yaml
kustomization. We should eventually figure out a way to enable it (I think export DEVELOPMENT_MODE=truel; make run
should work...)
- name: RELATED_IMAGE_web_terminal_tooling | ||
value: quay.io/wto/web-terminal-tooling:latest | ||
- name: RELATED_IMAGE_pvc_cleanup_job | ||
value: quay.io/libpod/busybox:1.30.1 |
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.
Is there any productized busybox image that we can steal? If not I may have to work around this somehow in cpaas
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.
Since it's just doing rm -rf
IIRC, we could just use ubi8-minimal
or whatever Che does.
name: config | ||
stages: | ||
- parallel: true | ||
tests: [] |
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.
newline 😄
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.
As an aside, I wonder if we should setup scorecard testing in the future. I think we can make it so that it automatically makes sure the bundle is correct, check that certain fields exists, etc
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.
newline 😄
Blame operator-sdk init
:D -- I'll fix.
value: 200m | ||
- name: WEBHOOKS_SERVER_CPU_REQUEST | ||
value: 100m | ||
- name: RELATED_IMAGE_plugin_redhat_developer_web_terminal_4_5_0 |
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 still need this web terminal image or the tooling image since those presumably will be installed by a WTO specific 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.
We technically don't, but it might still be useful to have for now if we're testing WTO with the old v1alpha1 devworkspace (no idea if it actually works, though...).
Removing the env var here would also probably mean removing the internal registry and related logic, which maybe makes sense as a separate PR.
...ifests/devworkspace-controller-view-workspaces_rbac.authorization.k8s.io_v1_clusterrole.yaml
Show resolved
Hide resolved
PROJECT
Outdated
- | ||
controller: true | ||
domain: devfile.io | ||
group: controller | ||
kind: Component |
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.
kind: Component | |
kind: DevWorkspaceRouting |
?
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.
:O
Good catch! This file is very out of date
.gitattributes
Outdated
@@ -1,2 +1,3 @@ | |||
deploy/deployment/** linguist-generated | |||
deploy/bundle/manifests/* linguist-generates |
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.
deploy/bundle/manifests/* linguist-generates | |
deploy/bundle/manifests/** linguist-generates |
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 think we ran into issues around **
vs *
-- #389
Though this comment did highlight another typo: linguist-generates
vs linguist-generated
- supported: true | ||
type: AllNamespaces | ||
keywords: | ||
- devworkspace-operator |
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.
- devworkspace-operator | |
- devworkspace-operator | |
- DevWorkspace Operator |
?
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.
👍 Also added "Devfile" as a keyword. Note that due to our bewildering kustomize setup, this change has to happen in deploy/templates/components/csv
or it'll be overwritten.
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.
this change has to happen in deploy/templates/components/csv or it'll be overwritten.
I know, but I review from top to bottom and this file is the first
Review will be better when generated files will be shown as such =)
deploy/bundle/manifests/devworkspace-operator.clusterserviceversion.yaml
Outdated
Show resolved
Hide resolved
maturity: alpha | ||
provider: | ||
name: Provider Name | ||
url: https://your.domain |
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.
url: https://your.domain | |
url: https://github.com/devfile |
Or maybe even https://github.com/devfile/devworkspace-operator
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 was also having trouble choosing what to put here. I think github.com/devfile
is too generic as there's no documentation, so maybe https://github.com/devfile/devworkspace-operator
is better. Maybe for now it makes sense to use devfile.io
, as that's the current webpage for our 2.0 stuff.
imageContentSourcePolicy.yaml
Outdated
@@ -0,0 +1,15 @@ | |||
apiVersion: operator.openshift.io/v1alpha1 |
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.
please remove it, I think it's redundant.
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 basically copied it over from WTO, I assumed it was needed. I'll remove.
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 was able to run DevWorkspace with Che, after I installed DWO with operatorHub.
So, approving it and other minor stuff can be fixed/improved separately.
app.kubernetes.io/part-of: devworkspace-operator | ||
name: devworkspaces.workspace.devfile.io | ||
spec: | ||
conversion: |
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.
Probably it should be moved to CSV instead https://olm.operatorframework.io/docs/advanced-tasks/adding-admission-and-conversion-webhooks/
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 was confused because the sample repo has .spec.conversion
in the CRD but it's removed automatically when bundles are generated. Since we're not pointing operator-sdk at the kustomize templates repo, I don't think we get that benefit.
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.
From reading the documentation, I'm not exactly sure how this will work for us:
In addition to these fields, OLM requires that you define:
- The DeploymentName that OLM must mount the CA Cert information into, this should match the name of a deployment defined in the CSV
But the webhooks server deployment is not a part of the CSV.
Also: Trying to implement this, I'm running into an issue with kustomize -- we need the name/namespace to apply to everything except the CSV, and I can't figure out how to have name/namespace generation disabled for specific types. Any ideas here?
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.
But the webhooks server deployment is not a part of the CSV.
Pfffff, yeah, that's out of the olm case
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.
Just have one small comment. I agree with Serhii though, I think it's good to go and we can just fixup minor things in a different PR
operators.operatorframework.io.bundle.manifests.v1: manifests/ | ||
operators.operatorframework.io.bundle.metadata.v1: metadata/ | ||
operators.operatorframework.io.bundle.package.v1: devworkspace-operator | ||
operators.operatorframework.io.bundle.channels.v1: alpha |
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.
IIRC someone made a comment a while ago about us using the alpha channel on WTO. Should we use something like main?
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.
Apparently OLM has some recommendations on their website: https://olm.operatorframework.io/docs/best-practices/channel-naming/#naming
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.
Good point -- WDYT about fast
for now? We're certainly not stable
😄
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.
fast
sounds about right for now 😆
Update PROJECT file to be compatible with newer versions of operator-sdk. Signed-off-by: Angel Misevski <[email protected]>
Generating bundle files will fail if conversion webhooks do not include a port number. This commit sets it to the implicit default (443) Signed-off-by: Angel Misevski <[email protected]>
Signed-off-by: Angel Misevski <[email protected]>
* Add deploy/templates/components/csv to be able to include a base CSV when generating deployment files * Add deploy/templates/olm to support generating deployment files with a CSV included. The `deploy/templates/olm` target is similar to `service-ca` and `cert-manager` in that it should be used with kustomize to generate everything needed to deploy the operator. This branch needs to be separate since we don't want to include a CSV in the standard deployment files, as they are used to deploy the operator without OLM. Signed-off-by: Angel Misevski <[email protected]>
Add option to generate-deployment.sh that generates templates for consumption by OLM. Outputs files to `deploy/deployment/olm`. The main difference is that OLM templates need a CSV base to store manual configuration. Signed-off-by: Angel Misevski <[email protected]>
Signed-off-by: Angel Misevski <[email protected]>
Signed-off-by: Angel Misevski <[email protected]>
Signed-off-by: Angel Misevski <[email protected]>
Signed-off-by: Angel Misevski <[email protected]>
Signed-off-by: Angel Misevski <[email protected]>
Signed-off-by: Angel Misevski <[email protected]>
Signed-off-by: Angel Misevski <[email protected]>
Signed-off-by: Angel Misevski <[email protected]>
/test v7-devworkspaces-operator-e2e Rebased and autosquashed, hope nobody needed the look at the 11 fixup commits |
LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ | ||
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ | ||
LABEL operators.operatorframework.io.bundle.package.v1=devworkspace-operator | ||
LABEL operators.operatorframework.io.bundle.channels.v1=alpha |
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.
LABEL operators.operatorframework.io.bundle.channels.v1=alpha | |
LABEL operators.operatorframework.io.bundle.channels.v1=fast |
as you agreed in the thread #438 (comment)
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.
Nothing critical that can prevent this PR from being merged.
comments can be addressed separately.
mv bundle.Dockerfile build/ | ||
|
||
### generate_olm_bundle_image: build and push DevWorkspace Operator bundle image | ||
generate_olm_bundle_image: _print_vars _check_operator_sdk_version |
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.
what is generated here? it seems to be just docker build, so maybe then build_bundle_image
?
operators.operatorframework.io/builder: operator-sdk-v1.7.1+git | ||
operators.operatorframework.io/project_layout: go.kubebuilder.io/v2 | ||
operators.operatorframework.io/internal-objects: '["devworkspaceroutings.controller.devfile.io"]' | ||
name: devworkspace-operator.v0.1.0 |
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'm not sure about version which we should use here, but technically next release is going to be v0.6.0
- kind: DevWorkspaceTemplate | ||
name: devworkspacetemplates.workspace.devfile.io | ||
version: v1alpha2 | ||
description: DevWorkspace Operator description. #TODO |
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.
description: DevWorkspace Operator description. #TODO | |
description: DevWorkspace Operator serves DevWorkspaces CustomResources, which are based on Devfile v2 and helps to easily create repetitive environment for development. |
Probably we should add more, but just a proposal for the first draft )
provider: | ||
name: Devfile | ||
url: https://devfile.io | ||
version: 0.1.0 |
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.
probably 0.6.0 should be here
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: amisevsk, JPinkney, sleshchenko 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 |
Merging it and going to provide minor fixed/improvements separetely. |
What does this PR do?
deploy/templates/olm
for generating files to be used in the bundle imageTodo:
--from-index
What issues does this PR fix or reference?
Part of #407
Is it tested? How?
Test using added makefile rules:
DWO_BUNDLE_IMG
andDWO_INDEX_IMG
for testmake generate_olm_bundle_yaml
- generatedeploy/bundle
make generate_olm_bundle_image
- generate operator bundle imagemake generate_olm_index_image
- generate operator index imagemake register_catalogsource
- register catalog source in clusterTo test installing DWO as a dependency of WTO, you should be able to just apply the catalogsource
and install WTO from that catalog. I'll open a PR in WTO with those changes tomorrow.