This operator provides CRDs to create key/value pairs (KeyValuePair). The operator combines these configuration objects into a single ConfigMap and deploys a REST API that can be used to access the individual values with the corresponding keys.
The operator is written in the Kubernetes Operators Framework (Kopf) while the HTTP server for the REST API is written in Tornado. The code for the operator is found in the /opr directory while the code for the Tornado server is located in the /srv directory.
The /tests directory contains unit and integration tests for the server and operator. The /examples directory contains simple examples on how to use the custom resources to deploy a config server instance. The /chart directory contains the definitions for a Helm chart.
See Kopf documentation. The Dockerfile for the deployment is part of this repository.
This repository also contains a Helm chart which can be deployed with:
TODO: how?The config-server-operator can be run locally without writing a whole deployment for it, for example in a local minikube cluster.
Clone the project
git clone https://github.com/TU-Wien-dataLAB/config-server-operator.gitGo to the project directory
cd config-server-operatorInstall dependencies
pip install kopf kubernetesAdd the CRDs to the cluster
kubectl apply -f chart/config-server-operator/crds/Run the operator
kopf run opr/operator.py --verbose