GithubHelp home page GithubHelp logo

ckandag / multiclusterhub-operator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stolostron/multiclusterhub-operator

0.0 0.0 0.0 32.56 MB

License: Apache License 2.0

Shell 4.52% JavaScript 0.10% Python 10.18% Go 82.52% Makefile 2.29% Dockerfile 0.40%

multiclusterhub-operator's Introduction

WORK IN PROGRESS

We are in the process of enabling this repo for community contribution. See wiki here.

MultiClusterHub Operator

The MultiCusterHub operator manages the install of Open Cluster Management (OCM) on RedHat Openshift Container Platform

Contributing

For steps on how to contribute and test the MultiClusterHub Operator component, see CONTRIBUTING guidelines.

Development Tools

Disabling MultiClusterHub Operator

Once installed, the hub operator will monitor changes in the cluster that affect an instance of the multiclusterhub (mch) and reconcile deviations to maintain desired state. To stop the installer from making these changes you can apply an annotation to the mch instance.

kubectl annotate mch <mch-name> mch-pause=true

Remove or edit this annotation to resume installer operations

kubectl annotate mch <mch-name> mch-pause=false --overwrite

Add Image Overrides Via Configmap

Developer image overrides can be added by specifiying a configmap containing the overrides for the MCH resource. This configmap must be in the same namespace as the MCH resource.

This is done by creating a configmap from a new manifest. A developer may use this to override any 1 or all images.

If overriding individual images, the minimum required parameters required to build the image reference are -

  • image-name
  • image-remote
  • image-key
  • image-digest or image-tag, both can optionally be provided, if so the image-digest will be preferred.
kubectl create configmap <my-config> --from-file=docs/examples/manifest-oneimage.json # Override 1 image example
kubectl create configmap <my-config> --from-file=docs/examples/manifest-allimages.json # Overriding all images example

kubectl annotate mch <mch-name> --overwrite mch-imageOverridesCM=<my-config> # Provide the configmap as an override to the MCH

To remove this annotation to revert back to the original manifest

kubectl annotate mch <mch-name> mch-imageOverridesCM- --overwrite # Remove annotation
kubectl delete configmap <my-config> # Delete configmap

If editing the configmap directly instead of creating/deleting it each time, an operator reconcile may be necessary in order to get the changes to take effect. This can be done by cycling the MCH Operator pod

kubectl delete pod multiclusterhub-operator-xxxxx-xxxxx

Overriding MultiCluster Engine Subscription

The multicluster engine subscription is stood up by default as part of a standard MCH installation. The spec of the subscription can be overriden by providing the following annotation to the MCH resource. One or many parameters can be provided from the ones listed in the installer.open-cluster-management.io/mce-subscription-spec annotation below

apiVersion: operator.open-cluster-management.io/v1
kind: MultiClusterHub
metadata:
  annotations:
    installer.open-cluster-management.io/mce-subscription-spec: '{"channel": "stable-2.0","installPlanApproval": "Manual","name":
      	"multicluster-engine","source": "multiclusterengine-catalog","sourceNamespace": "catalogsourcenamespace","startingCSV":
      	"csv-1.0"}'
  name: multiclusterhub
spec: {}

Overriding OADP Operator Subscription

The OADP operator is installed from redhat-operators by the cluster-backup chart. The spec of the subscription can be overriden by providing the following annotation to the MCH resource. One or many parameters can be provided from the ones listed in the installer.open-cluster-management.io/oadp-subscription-spec annotation below

apiVersion: operator.open-cluster-management.io/v1
kind: MultiClusterHub
metadata:
  annotations:
    installer.open-cluster-management.io/oadp-subscription-spec: '{"channel": "stable-1.0","installPlanApproval": "Automatic","name":
      	"redhat-oadp-operator","source": "redhat-operators","sourceNamespace": "openshift-marketplace","startingCSV":
      	"oadp-operator.v1.0.2"}'
  name: multiclusterhub
spec: {}

Setting OADP annotation via CLI

oc annotate mch multiclusterhub installer.open-cluster-management.io/oadp-subscription-spec='{"channel":"stable-1.0","installPlanApproval":"Automatic","name":"redhat-oadp-operator","source":"redhat-operators","sourceNamespace":"openshift-marketplace","startingCSV": "oadp-operator.v1.0.2"}'

Other Development Documents

multiclusterhub-operator's People

Contributors

zkayyali812 avatar jakobgray avatar nathanweatherly avatar acm-installer-team avatar zhiweiyin318 avatar cameronmwall avatar ray-harris avatar openshift-merge-robot avatar ldpliu avatar eemurphy avatar ckandag avatar joeg-pro avatar xrajesh avatar therealhaoliu avatar nweathe avatar showeimer avatar willkutler avatar xiangjingli avatar zlayne avatar randy424 avatar elgnay avatar leena-jawale avatar justinkuli avatar jnpacker avatar gparvin avatar chunxialexluo avatar chrisahl avatar xuezhaojun avatar acm-search-bot avatar sacharya 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.