GithubHelp home page GithubHelp logo

weaveworks / flux2-openshift Goto Github PK

View Code? Open in Web Editor NEW
4.0 38.0 4.0 406 KB

OperatorHub submission repo for Flux2

License: Apache License 2.0

Makefile 2.57% JavaScript 50.61% Shell 34.20% Dockerfile 12.62%

flux2-openshift's Introduction

Flux2 Openshift

Prerequisites

  • opm 1.5.2
  • operator-sdk
  • docker (optional)

Make a release

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 generate

Submit 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.7

Create PR against community-operators

How it works

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_VERSION

Manually 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 .

Test using RedHat's test suite

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 name

Test with CRC or KIND

Set 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.1

Rebuild Catalog

docker build -t saada/olm-catalog:v3 .
docker push saada/olm-catalog:v3

Run test

kubectl delete catalogsource operatorhubio-catalog -n olm
kubectl apply -f test/catalog-source.yaml
kubectl apply -f test/operator-subscription.yaml

Test that Flux2 components are running and test CRDs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.