All contributions to the repository must be submitted under the terms of the Apache Public License 2.0.
By contributing to this project you agree to the Developer Certificate of Origin (DCO). This document was created by the Linux Kernel community and is a simple statement that you, as a contributor, have the legal right to make the contribution. See the DCO file for details.
You must sign off your commit to state that you certify the DCO. To certify your commit for DCO, add a line like the following at the end of your commit message:
Signed-off-by: John Smith <[email protected]>
This can be done with the --signoff
option to git commit
. See the Git documentation for details.
Anyone may create issues, comment in issues, create pull requests, and submit reviews for pull requests.
In order to be assigned an issue or pull request, you must be a member of the stolostron GitHub organization.
To have a pull request merged, it will require approval from a repository owner.
- Submit an issue describing your proposed change to the repo in question.
- The repo owners will respond to your issue promptly.
- Fork the desired repo, develop and test your changes (see Development and Testing)
- Submit a pull request.
This approach only tests MultiClusterHub Operator functionality (not the functionality of Open Cluster Management sub-components).
-
Confirm the following are installed and configured on your local machine:
docker
go
(version 1.17 minimum)python3
make
-
oc login
into an OCP cluster. See Requirements and recommendations for supported cluster sizes. -
Fork the
multiclusterhub-operator
GitHub repository -
Export the following environment variables:
export MOCK_IMAGE_REGISTRY=<some-public-image-repository> export HUB_IMAGE_REGISTRY=<some-public-image-repository>
These environment variables correlate with the two image you'll need to build and push to public image repositories:
-
HUB_IMAGE_REGISTRY
correlates to themulticlusterhub-operator
image, which is built from themulticlusterhub-operator
codebase. The resulting image will be pushed to$HUB_IMAGE_REGISTRY/multiclusterhub-operator
-
MOCK_IMAGE_REGISTRY
correlates to thehub-mock-component-image
, which is built from themock-component-image
subdirectory within themulticlusterhub-operator
GitHub repository. This mock image acts as a multi-purpose place-holder for all other images required by themulticlusterhub-operator
. The resulting image will be pushed to$MOCK_IMAGE_REGISTRY/mock-component-image
. Thehub-mock-component-image
should be built without any changes to themock-component-image
subdirectory
These images are assumed to be public to eliminate any requirement for pull secrets.
-
-
Run the following
make
commands to install themulticlusterhub-operator
with a "mock" component image.make prep-mock-install
... builds and pushes the mock image, copies required Hub CRDs into the
multiclusterhub-operator
codebase from the Hub CRDs GitHub Repo (for the next step), and preps the image manifest to use the freshly-built mock imagemake mock-install
... builds and pushes the hub image, installs the
multiclusterhub-operator
as a deployment, and installs other required community-available operatorsmake mock-cr
... creates a legitimate
MultiClusterHub
Custom Resource. Note: In this Custom Resource, hub self-management is disabled (disableHubSelfManagement: true
) -
Confirm "mock" installation successful by checking the
mch
Custom Resource for aRunning
statusoc get mch
-
To uninstall all Hub components, run the following:
make uninstall
-
To reinstall, run through these steps again.
-
Run unit tests
make unit-tests
-
Function test: TBD