visit
Configurator is an open-source project that version controls and keeps Kubernetes ConfigMaps and Secrets in sync with the deployments. Configurator uses CRDs to create CustomConfigMaps and CustomSecrets that in turn creates ConfigMaps and Secrets with a postfix. As and when a change is detected in a CustomConfigMap or a CustomSecret, Configurator automatically generates a new ConfigMap with a new postfix. This acts as a version controlling system for ConfigMaps. A change in a ConfigMap not only creates a new ConfigMap version but also rolls out a new deployment version across all the deployments using the ConfigMap. This enables both rolling update and rollback of ConfigMaps in sync with the deployment versions.
helm version
version.BuildInfo{Version:"v3.0.2", GitCommit:"19e47ee3283ae98139d98460de796c1be1e3975f", GitTreeState:"clean", GoVersion:"go1.13.5"}
kubectl create namespace configurator
helm repo add gopaddle_configurator //gopaddle-io.github.io/configurator/helm/
helm repo list
NAME URL
hashicorp //helm.releases.hashicorp.com
gopaddle_configurator //gopaddle-io.github.io/configurator/helm/
Once you've verified the repo, install the helm chart with the following command: helm install <release_name> <repo_name/chart_name>
helm install release1.0.0 gopaddle_configurator/configurator
kubectl get pods -n configurator
kubectl get crds -n configurator
kubectl get serviceaccounts -n configurator
kubectl get clusterrolebindings -n configurator
git clone //github.com/gopaddle-io/configurator.git
tar -zxvf <path to .tgz file>
configurator
├── charts
├── Chart.yaml
├── crds
│ ├── crd-customConfigMap.yaml
│ └── crd-customSecret.yaml
├── templates
│ ├── configurator-clusterrolebinding.yaml
│ ├── configurator-clusterrole.yaml
│ ├── configurator-deployment.yaml
│ ├── configurator-serviceaccount.yaml
│ └── tests
└── values.yaml
The crds directory contains the custom resource definition files - crd-customConfigMap.yaml & crd-customSecret.yaml. The templates directory contains the resource's yaml files, in our case, it contains the roles and role bindings and the configurator service definitions. The charts directory is empty by default. This folder can be used to add your application charts that use Configurator Custom Resource. The Chart.yaml file contains information about the helm, like the chart's name, description, type etc.
# Default values for my_chart.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
replicas: 1
namespace: configurator
image: gopaddle/configurator:latest
You can edit the values.yaml file to your requirements like changing the namespace, replica_count or the image name, docker repository or the image tag. Make sure that the namespace used in the values.yaml exists in the cluster before you do a helm install.
Once the necessary configuration is done, execute the following command to install the charts into your cluster : helm install <release_name> <chart_name>
helm install release1.0.0 configurator
Contributing back to the configurator project
helm package <path to helm chart>
This article was .