- opm 1.5.2
- operator-sdk
- docker (optional)
npm install # you need nodejs installed make release version=<VERSION> make release version=0.2.3 # release and publish all versions. To add new version, simply add a new flux/<version> directory with the desired version and let the script generate everything # example: mkdir flux/0.5.{0..9} flux/0.6.{0..3} flux/0.7.{0..7} make generateSubmit to Operator Hub
cd ../community-operators # make sure it's a clone of your own fork of https://github.com/operator-framework/community-operators git checkout master git pull git checkout -b flux-releases-0.7.7 cp -r ../openshift-flux2/flux ./upstream-community-operators/ git add upstream-community-operators/flux git commit -m 'release flux versions 0.4.3-0.7.7' git commit --amend --no-edit --signoff git push -u fork flux-releases-0.7.7Create PR against community-operators
Below are steps to create a new operator version
NEW_VERSION=0.2.2 # update version flux install --version=$NEW_VERSION --export --dry-run > manifests-${NEW_VERSION}.yaml cp -r flux/0.2.2 flux/$NEW_VERSIONManually copy individual manifests out of manifests-${NEW_VERSION}.yaml into respective files under the new directory. The deployments have to be manually added to the clusterserviceversion.yaml under spec.deployments.
We then validate the release
cd flux/0.2.2 operator-sdk bundle validate --select-optional name=operatorhub --verbose .Make sure you have Docker running. If you have a Mac, make sure you have GNU sed in your path working
bash <(curl -sL https://cutt.ly/WhkV76k) \ all \ # you can also set this to kiwi test suite upstream-community-operators/flux/0.8.2 \ # file path https://github.com/saada/community-operators flux-releases-0.7.7 # branch nameSet up either kind or crc cluster
# A) KIND CLUSTER kind create cluster operator-sdk olm install # B) CRC CLUSTER crc setup crc start --nameserver=1.1.1.1Rebuild Catalog
docker build -t saada/olm-catalog:v3 . docker push saada/olm-catalog:v3Run test
kubectl delete catalogsource operatorhubio-catalog -n olm kubectl apply -f test/catalog-source.yaml kubectl apply -f test/operator-subscription.yamlTest that Flux2 components are running and test CRDs.