@pierreozoux opened this Issue on November 26th 2016

Modern web application read their config from env variables.

https://12factor.net/config

it would be a really nice to have :)

@tsteur commented on November 27th 2016 Member

This would be useful for passwords etc. For other config there is some "danger" that config is not the same on all servers which causes Piwik to not work properly etc but for passwords it would be useful for sure

@SonOfBytes commented on February 4th 2017

Yes 12 factor support (environment var injection) for all the variables that happen at config would be really useful. That would allow us to run dev/staging piwik containers on the same hosts pointing to separate DBs etc.

@webwurst commented on February 10th 2017

For configuration env variables are great, but it is discouraged to use them for secrets: https://github.com/docker/docker/pull/9176#issuecomment-99542089

@SonOfBytes commented on February 10th 2017

Secrets are not a clear definition, because the domain of trust needs to be known. Often secrets contained to the environment is good enough so trying to protect processes from each other is overkill. Other times not leaking to the underlying system is critical. The solution and the controls it offers needs to be assessed with the risk and against relevant attack trees.

So for example using something like credstash in the container runtime to inject sensitive vars is good enough for many use cases as it is separating the management of the app from the management of the environment it is running in.

@butzopower commented on February 14th 2017

This would specifically be useful for deploying Piwik on cloud-based platforms with ephemeral filesystems that don't persist file changes across deploys / restarts, such as Cloud Foundry or Heroku.

@vfbsilva commented on April 18th 2017

Any advance regarding this?

@mattab commented on June 21st 2017 Member

Not yet

Update Oct 29th: scheduling this issue

@mattab commented on October 31st 2018 Member

Hi @pierreozoux @vfbsilva @SonOfBytes
We are considering implementing this feature in a plugin.
Could you maybe confirm if reading ENV variables was for database information (host, name, password,...) only if if you had other use cases of ENV variables for Matomo?

@bbodenmiller commented on November 6th 2018

I think it could be useful for pretty much all settings. Take Grafana for instnace... all settings can be set by env variable: http://docs.grafana.org/installation/configuration/#using-environment-variables

@tsteur commented on November 7th 2018 Member

FYI: I've implemented to read database config from environment variables optionally during installation see https://github.com/matomo-org/matomo/pull/13676

To read any other variables during runtime basically I suggest someone could work on a plugin. I might quickly have a look if that plugin can be easily developed.

@tsteur commented on November 7th 2018 Member

Was quick to build... maybe someone give https://github.com/matomo-org/plugin-EnvironmentVariables a test and then we could publish it on the marketplace. I haven't really tested it myself.

@pierreozoux commented on November 14th 2018

Wow :) amazing ;)

Https://12factor.net ftw!

Powered by GitHub Issue Mirror