GithubHelp home page GithubHelp logo

isabella232 / qserv-operator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lsst/qserv-operator

0.0 0.0 0.0 8.99 MB

Qserv Operator creates/configures/manages Qserv clusters atop Kubernetes

Home Page: http://dm.lsst.org/

Shell 14.66% Go 78.13% Makefile 6.68% Smarty 0.02% Dockerfile 0.51%

qserv-operator's Introduction

qserv-operator

A qserv operator for Kubernetes based on operator-framework. An Operator is a method of packaging, deploying and managing a Kubernetes application.

Continuous integration for master branch

Build Qserv-operator and run Qserv multi-node integration tests (using a fixed Qserv version)

CI Status Image build e2e tests Documentation generation Static code analysis Image security scan
Gihub Qserv CI Yes No https://qserv-operator.lsst.io/ Yes Yes

Documentation

Access to Qserv-operator documentation

Code analysis

Go Report Card

Security overview

How to publish a new release for the whole Qserv stack

Qserv (and _worker, _master flavor containers), qserv_distrib, qserv_testdata

These are built and published by running the two jenkins jobs rebuild-publish-qserv-dev and build-dev, after pushing tags to all the involved repositories. Then release tags must be added to the resulting containers on docker hub.

qserv-operator

Validate the integration of qserv-operator with the release in CI (i.e. GHA), using a dedicated branch

cd <project_directory>
# RELEASE format is "<YYYY>.<M>.<i>-rc<j>"
RELEASE="2022.7.1-rc1"
git checkout -b $RELEASE
# Script below edit `qserv` image name in `manifests/image.yaml`, and prepare operatorHub packaging
./publish-release.sh "$RELEASE"

Then edit qserv-ingest version in tests/e2e/integration.sh, to validate the release component altogether. Once the release CI pass, merge the release branch to main branch.

In main branch, create the release tag and the image

git tag -a "$RELEASE" -m "Version $RELEASE"
git push --follow-tags

./push-image.sh

This will automatically push the release tag to the repositories, and push the tagged container images to docker hub.

How to publish a new release to operatorHub

The above step (i.e. release publishing) must have been completed before doing this one.

make bundle
RELEASE="2022.7.1-rc1"
OPERATOR_SRC_DIR="$PWD"
# Clone community-operators and create a branch
gh repo clone https://github.com/lsst/community-operators.git /tmp/community-operators
cd /tmp/community-operators
# Synchronize with upstream repository
git fetch upstream
git checkout main
git merge upstream/main
git push origin main
# Prepare a Pull-Request
git checkout -b "$RELEASE"
cp -r $OPERATOR_SRC_DIR/bundle /tmp/community-operators/operators/qserv-operator/"$RELEASE"
# WARNING: Edit manually 'version' and 'replaceVersion' fields at the end of file qserv-operator.clusterserviceversion.yaml
git add .
git commit --signoff -m "Release $RELEASE for qserv-operator"
git push --set-upstream origin "$RELEASE"
gh repo view --web
# Then make a PR: https://github.com/lsst/community-operators/compare

NOTE

If a CI test fail in PR for community-operators official repository, it is possible to run it locally on a workstation using:

RELEASE="2022.7.1-rc1"
OPP_PRODUCTION_TYPE=k8s bash <(curl -sL https://raw.githubusercontent.com/redhat-openshift-ecosystem/community-operators-pipeline/ci/latest/ci/scripts/opp.sh) \
kiwi operators/qserv-operator/$RELEASE

qserv-operator's People

Contributors

bgounon avatar fjammes avatar fritzm avatar iagaponenko avatar ktlim avatar shivanshs9 avatar

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.