mirror of https://github.com/bit0rez/goenvalue.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Hamster
aba95b8074
|
6 years ago | |
---|---|---|
.editorconfig | 7 years ago | |
.gitignore | 7 years ago | |
README.md | 6 years ago | |
main.go | 6 years ago |
README.md
GoEnValue - a simple templates processor from environment variables.
This tool very useful if you need to configure your containerised software. You can do it by passing environment variables into container on your Docker container start.
How it works
You need to:
- create templates from your configuration files
- add in your entrypoint script state with execution of goenvalue
- build image with your software, templates and goenvalue
- run container with environment variables
Example
php.ini.tpl
...
memory_limit = {{ .MEMORY_LIMIT }}
...
Dockerfile
FROM php:7
ENV PHP_MEMORY_LIMIT="64M"
COPY php.ini.tpl /etc/php/php.ini.tpl
COPY entrypoint.sh /entrypoint.sh
...
ENTRYPOINT /entrypoint.sh
entrypoint.sh
#!/bin/bash
goenvalue -p PHP -i /etc/php/php.ini.tpl
exec $@
Test it:
$ docker run --rm -it -e PHP_MEMORY_LIMIT=128M my/php:7 php -i | grep memory_limit
memory_limit => 128M => 128M