Skip to content

grzegorzgniadek/interpolator-operator

Repository files navigation

interpolator-operator

Release Container Release Charts Release Charts Dev Version Go report card Apache 2.0 license

interpolator-operator is a secret data interpolation system for Kubernetes.

Supported Kubernetes versions

interpolator-operator has been developed for and tested with Kubernetes 1.28.

How it works

When Custom resource is created, controller takes secret keys and values and creates new secret as outputSecretName

Architecture and components

  • a Deployment to run interpolator's controller,
$ kubectl top pods
NAME                                               CPU(cores)   MEMORY(bytes)   
interpolator-controller-manager-669d64b6cc-md889   2m           21Mi

Installation

  1. Install interpolator-operator's Helm chart from charts repository:
helm upgrade --install \
     --create-namespace --namespace interpolator-system \
     interpolator interpolator \
     --repo https://grzegorzgniadek.github.io/interpolator-operator/

Installation with plain YAML files

You can use Helm to generate plain YAML files and then deploy these YAML files with kubectl apply or whatever you want:

helm template --namespace interpolator-system \
     interpolator interpolator \
     --repo https://grzegorzgniadek.github.io/interpolator-operator/ \
     > /tmp/interpolator.yaml
kubectl create namespace interpolator-system
kubectl apply -f /tmp/interpolator.yaml --namespace interpolator-system

Configuration and customization

You can see the full list of parameters (along with their meaning and default values) in the chart's values.yaml file.

Customize resources

helm upgrade --install \
     --create-namespace --namespace interpolator-system  \
     interpolator interpolator \
     --repo https://grzegorzgniadek.github.io/interpolator-operator/ \
     --set controllerManager.manager.resources.limits.cpu=200m

Turn on Prometheus Service Monitor(Metrics)

helm install \
     --create-namespace --namespace interpolator-system  \
     interpolator interpolator \
     --repo https://grzegorzgniadek.github.io/interpolator-operator/ \
     --set prometheusCRDS.enabled=true \
     --set prometheusMonitor.enabled=true \
     --set prometheusMonitor.interval=15s 

Use sample resource

kubectl apply -f https://raw.githubusercontent.com/grzegorzgniadek/interpolator-operator/master/config/samples/inter_v1_interpolator.yaml