Git Product home page Git Product logo

gitops-operator's Introduction

OpenShift GitOps Operator

An operator that gets you an ArgoCD for cluster configuration out-of-the-box on OpenShift along with the UI for visualizing environments.

Getting started

Making the operator available on the in-cluster OperatorHub

  1. Add the following resource to your cluster
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
  name: gitops-service-source
  namespace: openshift-marketplace
spec:
  displayName: 'Gitops Service by Red Hat'
  image: 'quay.io/redhat-developer/gitops-backend-operator-index:v0.0.1'
  publisher: 'Red Hat Developer'
  sourceType: grpc
  1. Go to the OperatorHub on OpenShift Webconsole and look for the "OpenShift GitOps" operator.

a relative link

  1. Install the operator using the defaults in the wizard, and wait for it to show up in the list of "Installed Operators". I it doesn't go check on it's status in the "Installed Operators" in the openshift-operators namespace.

a relative link

  1. To validate if the installation was successful, look for the route named cluster in the openshift-gitops namespace. Note, the namespace doesn't have to exist in advance, the operator creates it for you.

That's it, your API route should be created for you. You don't need to expliclty create any operand/CR.

Contribute

  1. Clone the repository.
  2. Login to a cluster on your command-line.
  3. OPERATOR_NAME=gitops-operator operator-sdk run local --watch-namespace=openshift-gitops

Note: Please check that you're using operator-sdk version 0.17 or earlier. Since the community-operators do not support v1 version of CustomResourceDefinition, the operator is using v1beta1 version of CustomResourceDefinition.

Tests

operator-sdk test local ./test/e2e --operator-namespace gitops-test --up-local

Re-build and Deploy

This operator currently deploys the following payload.

quay.io/redhat-developer/gitops-backend:v0.0.1

If that's all what you are changing, the following steps are not needed in development mode. You could update your image "payload" and re-install the operator.

  • Build the operator image.
docker build -t quay.io/redhat-developer/gitops-backend-operator:v0.0.1 .
docker push quay.io/redhat-developer/gitops-backend-operator:v0.0.1
  1. Build the Bundle image ( operator + OLM manifests )
operator-sdk bundle create quay.io/redhat-developer/gitops-backend-operator-bundle:v0.0.1
docker push quay.io/redhat-developer/gitops-backend-operator-bundle:v0.0.1
  1. Build the Index image
opm index add --bundles quay.io/redhat-developer/gitops-backend-operator-bundle:v0.0.1  --tag quay.io/redhat-developer/gitops-backend-operator-index:v0.0.1 --build-tool=docker
docker push quay.io/redhat-developer/gitops-backend-operator-index:v0.0.1

The Index image powers the listing of the Operator on OperatorHub.

gitops-operator's People

Contributors

wtam2018 avatar chetan-rns avatar sbose78 avatar dewan-ahmed avatar amitkrout avatar bigkevmcd avatar shubhamagarwal19 avatar ishitasequeira avatar iam-veeramalla avatar jopit avatar shubhama19 avatar jannfis avatar varshab1210 avatar davidkarlsen avatar jgwest avatar tetchel avatar

Watchers

James Cloos avatar  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.