Repository of Operator Helm charts curated for discoverability and interoperability.
Each Helm chart contains CRD YAML annotated with Platform-as-Code annotations (https://github.com/cloud-ark/kubeplus#platform-as-code-annotations)
moodle-operator-chart (CloudARK)
Moodle Operator supports creating multiple Moodle instances, plugin installation, DNS, SSL
https://github.com/cloud-ark/kubeplus-operators/tree/master/moodle
- Version: 0.4.7 -> Contains SSL support for Moodle Instances
- Version: 0.4.6 -> Domain Name support
- Versoin: 0.4.4 -> Works with MySQL Custom Resource Instances
- Versions < 0.4.4 -> Initial versions (legacy)
mysql-operator (PressLabs)
MySQL Operator supports creating, backing up, restoring MySQL clusters.
- Version: 0.2.5-1 -> PaC annotations
- Versions < 0.2.5-1 -> Legacy version
mysql-operator-chart (Oracle)
postgres-crd-v2 (CloudARK)
https://github.com/cloud-ark/kubeplus/tree/master/postgres-crd-v2
- Version: 0.0.3 -> PaC annotations
- Versions < 0.0.3 -> Legacy version
stash-operator (Appscode Stash)
https://github.com/stashed/stash
- Version: 0.8.4 -> PaC annotations
- Versions < 0.8.4 -> Legacy version
Checkout following Operator developing guidelines when developing your Operator
https://github.com/cloud-ark/kubeplus/blob/master/Guidelines.md
Install Helm
Create Helm chart for your Operator
This involves three steps:
a] Create the helm chart directory and populate it with helm related artifacts
- Create a directory inside your operator source and name it: <name>-operator-chart
- Inside <name>-operator-chart directory include Chart.yaml, Values.yaml and template folder
- Inside template folder define all the YAML files required for deploying your Chart
- Check the following as an example of helm chart directory: https://github.com/cloud-ark/kubeplus-operators/tree/master/moodle/moodle-operator-chart
- b] Annotate your CRD definition with Platform-as-Code annotations. Check https://github.com/cloud-ark/kubeplus
for what PaC annotations are available for you to use.
- Create the required ConfigMaps that go along with your PaC annotations.
- Check Moodle CRD definition for example of PaC annotations:
c] Create the helm chart
- From the parent directory of the helm chart directory, execute following command:
- helm package ./<name>-operator-chart
- This should create <name>-operator-chart.tgz file
- Fork this repository
- Add the helm chart tgz file to the repository
- Update index.yaml to include information about your chart's tgz file
- helm repo index --merge index.yaml --url https://github.com/cloud-ark/operatorcharts/blob/master ./
- Send a Pull Request to get your Operator chart included in this repository
Once your Operator is included we will provide you feedback on how your Operator compares with above best practice Guidelines.