Skip to content

Simple binary to trigger a reload when a Kubernetes ConfigMap is updated

License

Notifications You must be signed in to change notification settings

openziti-test-kitchen/configmap-reload

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Kubernetes ConfigMap Reload - Zitified

Forked from the excellent repository over at https://github.com/jimmidyson/configmap-reload. This is a "zitified" version of that program. The main difference is that this program will require the container to have access to an zero trust overlay network provided by OpenZiti.

To run the container you can override the following defaulted values:

--ziti.identity.file    = /run/secrets/ziti.identity.json [*REQUIRED*]
--ziti.service          = configmap-reload
--ziti.target.identity  = <empty>

This information will be used to dial the provided ziti service either by service name or by specific identity.

About

configmap-reload is a simple binary to trigger a reload when Kubernetes ConfigMaps are updated. It watches mounted volume dirs and notifies the target process that the config map has been changed. It currently only supports sending an HTTP request, but in future it is expected to support sending OS (e.g. SIGHUP) once Kubernetes supports pod PID namespaces.

It is available as a Docker image at https://hub.docker.com/r/openziti/configmap-reloadz

Rebuilding the Docker Image

First build the project by running make docker

Once built, push the container to docker hub: docker push openziti/configmap-reloadz:latest-amd64

Usage

Usage of ./out/configmap-reload:
  -volume-dir value
        the config map volume directory to watch for updates; may be used multiple times
  -web.listen-address string
    	  address to listen on for web interface and telemetry. (default ":9533")
  -web.telemetry-path string
    	  path under which to expose metrics. (default "/metrics")
  -webhook-method string
        the HTTP method url to use to send the webhook (default "POST")
  -webhook-status-code int
        the HTTP status code indicating successful triggering of reload (default 200)
  -webhook-url string
        the url to send a request to when the specified config map volume directory has been updated
  -webhook-retries integer
        the amount of times to retry the webhook reload request

License

This project is Apache Licensed

About

Simple binary to trigger a reload when a Kubernetes ConfigMap is updated

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 98.2%
  • Dockerfile 1.8%