Operator for rendering, deploying and updating cluster-api components:
- Aggregated API server
- Controller manager
- Machine controller (AWS actuator)
The cluster-api is leveraged by OpenShift for running machines under the machine-api control.
In order to deploy the machine-api-operator from scratch, one needs to:
-
create
tectonic-system
namespace -
create CRD definition and
AppVersion
manifest:apiVersion: tco.coreos.com/v1 kind: AppVersion metadata: name: machine-api namespace: tectonic-system labels: managed-by-channel-operator: "true" spec: desiredVersion: paused: false status: currentVersion: paused: false upgradereq: 1 upgradecomp: 0
-
Build:
make build
and run the
machine-api-operator
binary:./bin/machine-api-operator --kubeconfig ${HOME}/.kube/config --config pkg/render/machine-api-operator-config.yaml --manifest-dir manifests
Tests are located in machine-api-operator repository and executed with make test
in prow CI system. A link to failing tests is published as a comment in PR by @openshift-ci-robot. Current test status for all OpenShift components can be found in https://deck-ci.svc.ci.openshift.org.
CI configuration is stored in openshift/release repository and is split into 3 files:
- cluster/ci/config/prow/plugins.yaml - says which prow plugins are available and where job config is stored
- ci-operator/config/openshift/machine-api-operator/master.json - configuration for machine-api-operator component repository
- ci-operator/jobs/openshift/machine-api-operator/openshift-machine-api-operator-presubmits.yaml - prow jobs configuration for presubmits
- ci-operator/jobs/openshift/machine-api-operator/openshift-machine-api-operator-postsubmits.yaml - prow jobs configuration for postsubmits
More information about those files can be found in ci-operator onboarding file
Initial configuration for machine-api-operator CI pipeline can be found in PR #1095.