enxebre / machine-api-operator

Machine API operator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

machine-api-operator

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.

Manual deployment (for Kubernetes cluster)

In order to deploy the machine-api-operator from scratch, one needs to:

  1. create tectonic-system namespace

  2. 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
  3. 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

CI & tests

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:

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.

About

Machine API operator

License:Apache License 2.0


Languages

Language:Go 90.4%Language:Makefile 6.8%Language:Dockerfile 2.8%