operator-sdknewsimple-application-operator\--api-version=simple.application.openshift.pub/v1\--kind=SimpleApp\--type=ansible
operator-sdkbuildquay.io/rbo/demo-http-operator:latest
dockerpushquay.io/rbo/demo-http-operator:latest
sed-i""'s|{{ REPLACE_IMAGE }}|quay.io/rbo/demo-http-operator:latest|g'deploy/operator.yaml
sed-i""'s|{{ pull_policy\|default('\''Always'\'') }}|Always|g'deploy/operator.yaml
ocnew-projectsimple-application-operator
# Setup Service Accountoccreate-fdeploy/service_account.yaml
# Setup RBACoccreate-fdeploy/role.yaml
occreate-fdeploy/role_binding.yaml
# Setup the CRDoccreate-fdeploy/crds/simple.application.openshift.pub_simpleapps_crd.yaml
# Deploy the app-operatoroccreate-fdeploy/operator.yaml
# Create an AppService CR# The default controller will watch for AppService objects and create a pod for each CRoccreate-fdeploy/crds/simple.application.openshift.pub_v1_simpleapp_cr.yaml
An Operator Bundle is built as a scratch (non-runnable) container image that contains operator manifests and specific metadata in designated directories inside the image.
Source
Options 1) use operator sdk (v0.15.2) bundle create¶
./opmindexadd--container-tooldocker--bundlesquay.io/rbo/demo-http-bundle:v0.1.0--tagquay.io/rbo/demo-http-catalog-index:v0.0.1
INFO[0000]buildingtheindexbundles="[quay.io/rbo/demo-http-operator:v0.1.0]"INFO[0000]runningdockerpullimg="quay.io/rbo/demo-http-operator:v0.1.0"INFO[0002]runningdockersaveimg="quay.io/rbo/demo-http-operator:v0.1.0"INFO[0002]loadingBundlequay.io/rbo/demo-http-operator:v0.1.0img="quay.io/rbo/demo-http-operator:v0.1.0"INFO[0002]foundannotationsfilesearchingforcsvdir=bundle_tmp261748450file=bundle_tmp261748450/metadataload=annotations
FATA[0002]permissivemodedisabledbundles="[quay.io/rbo/demo-http-operator:v0.1.0]"error="error loading bundle from image: no csv found in bundle"