Skip to content
This repository has been archived by the owner on May 18, 2019. It is now read-only.

kubekit99/operator-ohm

Repository files navigation

THIS REPOSITORY IS OBSOLETE. CONTENT HAS BEEN MIGRATED ONTO Keleustes

CRD/Operator POC in Openstack Airship and Openstack Helm ecosystems.

Goal is to compare the behavior/usefullness of Helm CRD based operators and the benefits they would bring to the Airship ecosystem.

Armada Operator POC

Design documents

Operator contains high level drawing describing the strategy used to design the CRDs.

Armada operator

This Operator uses the Airship CRDs (ArmadaChart) and leverage Helm and enable the sequencement of those deployments using either ArmadaChartGroup or Argo Workflows. This operator make extensive use of golang, the operator-framework and kubebuilder. This operator aims at dealing with the differences between Helm v2 and Helm v3 (no tiller, Release CRD).

Armada

RabbitMQ operator

This Operator simply embeeds the RabbitMQ Openstack HELM chart to Armada-Operator container image. There is no additional golang code specific code for this operator. make install followed by make installmanifest will deploy RabbitMQ on your K8s cluster.

RabbitMQ

Memcached operator

This Operator simply embeeds the Memcached Openstack HELM chart to Armada-Operator container image. There is no additional golang code specific code for this operator. make install followed by make installmanifest will deploy Memcached on your K8s cluster.

Memcached

MariaDB operator

This Operator simply embeeds the MariaDB Openstack HELM chart to Armada-Operator container image. There is no additional golang code specific code for this operator. make install followed by make installmanifest will deploy MariaDB on your K8s cluster.

MariaDB

Keystone operator

This Operator simply embeeds the RabbitMQ, Memcached, MariaDB and Keystone Openstack HELM charts to Armada-Operator container image. There is no additional golang code specific code for this operator. make install followed by make installmanifest will deploy Keystone on your K8s cluster.

Keystone

Openstack Service Life Cycle Operator

Design documents

Operator contains high level drawing describing the strategy used to design the CRDs.

OpenstackLCM operator

This POC is leveraging the CRD framework with Argo framework in an attempt to control the LCM operations applicable to an Openstack cluster.

OpenstackLCM

Other operators POC

OpenstackHelm operator

This POC is the first prototype of an Operator leveraging Helm and Argo.

OpenstackHelm