GithubHelp home page GithubHelp logo

skarf08 / gitops-operator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iam-veeramalla/gitops-operator

0.0 0.0 0.0 34.82 MB

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

License: Apache License 2.0

Shell 11.31% Go 79.57% Makefile 2.99% Smarty 4.84% Dockerfile 1.28%

gitops-operator's Introduction

OpenShift GitOps Operator

An operator that gets you an Argo CD 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/<quay-username>/gitops-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". If it doesn't install properly, you can check on its status in the "Installed Operators" tab 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.

Contributing

  1. Clone the repository.
  2. Login to a cluster on your command-line.
  3. Execute make install to apply the CRDs.
  4. Execute make run to run the operator locally.

Tests

Unit tests

make test

e2e tests

make test-e2e

Re-build and Deploy

This operator currently deploys the following payload:

quay.io/<quay-username>/gitops-backend:v0.0.1

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

Set the base image and version for building operator, bundle and index images.

export IMAGE=quay.io/<quay-username>/gitops-operator VERSION=1.8.0
  1. Build and push the operator image.
make docker-build docker-push
  1. Build and push the Bundle image ( operator + OLM manifests )
make bundle
make bundle-build bundle-push
  1. Build and push the Index image

Install opm binary which is required to build index images

make opm
make catalog-build catalog-push

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

GitOps Operator vs Argo CD Community Operator

Features GitOps Operator Argo CD Community Operator
Default Cluster Argo CD instance
Cluster Argo CD instances in namespaces defined by envrionment variable ARGOCD_CLUSTER_CONFIG_NAMESPACES openshift-gitops
Cluster Configuration RBAC/Policy Rules All APIGroups,Resources,get,list,watch Verbs appended with admin ClusterRoles. Additional APIGroups: operator.openshift.io,user.openshift.io, config.openshift.io, console.openshift.io, machine.openshift.io, machineconfig.openshift.io, compliance.openshift.io, rbac.authorization.k8s.io, storage.k8s.io, etc. All APIGroups,Resources,Verbs
Integrated with OpenShift Console Environments page for visualizing GitOps environments and applications
Air-gapped environments OCP
Installed tools helm 3, kustomize helm 2 and 3, kustomize, ksonnet
Single Sign-on RHSSO, Dex Keycloak, Dex
Redis Server Redis 5, Secure connection is not yet supported Redis 6
ArgoCDExport
Installation Modes All Namepaces Single, All Namespaces
Support for Kubernetes
Maintained by Red Hat Community

Migrate from Argo CD Community Operator to GitOps Operator

Please follow the steps mentioned in the doc to migrate from Argo CD Community Operator to GitOps Operator.

Progressive Delivery

OpenShift GitOps from release v1.9.0 supports progressive delivery using Argo Rollouts.

Users can enable progressive delivery by using a new type of CRD called RolloutManager. A detailed usage guide for this new CRD is available here.

gitops-operator's People

Contributors

iam-veeramalla avatar wtam2018 avatar chetan-rns avatar jaideepr97 avatar varshab1210 avatar anandf avatar sbose78 avatar rishabh625 avatar saumeya avatar ciiay avatar jopit avatar praveen4g0 avatar amitkrout avatar dewan-ahmed avatar ishitasequeira avatar reginapizza avatar jgwest avatar shubhama19 avatar svghadi avatar jannfis avatar bigkevmcd avatar shubhamagarwal19 avatar anandrkskd avatar davidkarlsen avatar sejo avatar keithchong avatar tetchel 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.