Skip to content
A kubernetes operator that dynamically generates and manages app configuration based on kubernetes resources – [✩Star] if you're using it!
Go Smarty Other
Branch: master
Clone or download
Latest commit c8d140e Oct 8, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets/web add logo Oct 4, 2018
build [update-base-image] bumped the base image version from 3.4 to 3.9 Jun 11, 2019
cmd/Konfigurator fix log and doc for misleading logs Jan 23, 2019
config Rename ConfigTemplate to KonfiguratorTemplate Aug 2, 2018
deploy
deployments/kubernetes Bump Version to v0.0.20 Jun 11, 2019
docs fix log and doc for misleading logs Jan 23, 2019
examples Readme changes (#18) Aug 28, 2018
pkg Fix api version of DaemonSet Aug 20, 2018
tmp/codegen Update dockerfiles Aug 9, 2018
version Update operator-sdk framework Aug 2, 2018
.gitignore
.version Bump Version to v0.0.20 Jun 11, 2019
Gopkg.lock Bump Version to 0.0.12 Jan 11, 2019
Gopkg.toml
Jenkinsfile remove chartmuseum from pipeline Oct 7, 2019
LICENSE Add license Aug 2, 2018
Makefile Update dockerfiles Aug 9, 2018
README.md [fix-typo-in-readme] fix typo in README.md file Jun 25, 2019
stk.yaml Add stk.yaml config for stk Aug 2, 2018

README.md

Konfigurator

Problem

Dynamically generating app configuration when kubernetes resources change.

Solution

A kubernetes operator that can dynamically generate app configuration when kubernetes resources change

Features

  • Render Configurations to
    • ConfigMap
    • Secret
  • Support for GO Templating Engine
  • Custom helper functions
  • Support to watch the following Kubernetes Resources
    • Pods
    • Services
    • Ingresses

Deploying to Kubernetes

Deploying Konfigurator requires:

  1. Deploying CRD to your cluster
  2. Deploying Konfigurator operator

You can deploy the CRD and operator on your kubernetes cluster via any of the following methods.

Vanilla Manifests

You can apply vanilla manifests by running the following command

kubectl apply -f https://raw.githubusercontent.com/stakater/Konfigurator/master/deployments/kubernetes/konfigurator.yaml

Konfigurator by default looks for KonfiguratorTemplate only in the namespace where it is deployed, but it can be managed to work globally, you would have to change the WATCH_NAMESPACE environment variable to "" in the above manifest. e.g. change WATCH_NAMESPACE section to:

            - name: WATCH_NAMESPACE
              value: ""

Helm Charts

Alternatively if you have configured helm on your cluster, you can add konfigurator to helm from our public chart repository and deploy it via helm using below mentioned commands

helm repo add stakater https://stakater.github.io/stakater-charts

helm repo update

helm install stakater/konfigurator

Once Konfigurator is running, you can start creating resources supported by it. For details about its custom resources, look here.

To make Konfigurator work globally, you would have to change the WATCH_NAMESPACE environment variable to "" in values.yaml. e.g. change WWATCH_NAMESPACE section to:

  env:
  - name: WATCH_NAMESPACE
    value: ""

Help

Got a question? File a GitHub issue, or send us an email.

Talk to us on Slack

Join and talk to us on Slack for discussing Konfigurator

Join Slack Chat

Contributing

Bug Reports & Feature Requests

Please use the issue tracker to report any bugs or file feature requests.

Developing

PRs are welcome. In general, we follow the "fork-and-pull" Git workflow.

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that we can review your changes

NOTE: Be sure to merge the latest from "upstream" before making a pull request!

Changelog

View our closed Pull Requests.

License

Apache2 © Stakater

About

Konfigurator is maintained by Stakater. Like it? Please let us know at hello@stakater.com

See our other projects or contact us in case of professional services and queries on hello@stakater.com

You can’t perform that action at this time.