Bug#828831: debsources: merge all config files in the repo into an unique one
Hi John! Sorry for late reply. On Mon, Jul 18, 2016 at 01:07:13PM +0200, John Giannelos wrote: > I was wondering what's your opinion on moving towards a 12factor app > config structure on debsources [1]? In many of the web projects I am > involved we've been using python-decouple [2] for that. > > The idea is that you can separate configuration from code by having a > single config module with default settings (optional) that gets > overridden by values on each different env. These values can be defined > in either a local config file (eg. settings.ini or .env file) or as > environment variables. > > If you think that's a good way forward I would be interested to work on > that. python-decouple is not yet packaged for Debian but I am also > interested to help on that too. It looks really exciting! And honestly, perfectly answers the problem. :) I read the page you mentioned, but I'm not familiar with the tool. I suppose keeping the values in files is the way to proceed, since environment variables would have to be guessed/remembered somehow at every deploy, including the Docker one that we do every day on our dev machines. Also, keep in mind the current configuration files are read in many different places on the codebase (updater, webapp, etc), so it might incur many changes here and there. I would suggest to create an RFP or ITP bug for python-decouple. Unfortunately I doubt I'll have time to help on that front. However I will happily review any patch on debsources when we get to that. Thank you for working on this! Cheers, -- Matthieu signature.asc Description: PGP signature
Bug#828831: debsources: merge all config files in the repo into an unique one
On Tue, 28 Jun 2016 10:26:42 +0200 Matthieu Caneill wrote: > Package: qa.debian.org > Severity: normal > Usertags: debsources > > Currently we have many config files around: > - etc/config.ini, used for sources.d.n > - contrib/docker/config.ini used for docker images > - etc/config.travis.ini used for travis > - doc/examples/sample-config.local.ini as a documentation example > > It is difficult to keep them up-to-date, and finding a way to have an > unique one would make things easier. > > Cheers, > -- > Matthieu > > -- System Information: > Debian Release: stretch/sid > APT prefers testing-updates > APT policy: (500, 'testing-updates'), (500, 'testing') > Architecture: amd64 (x86_64) > > Kernel: Linux 4.3.0-1-amd64 (SMP w/4 CPU cores) > Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) > Shell: /bin/sh linked to /bin/dash > Init: systemd (via /run/systemd/system) > > Hi! I was wondering what's your opinion on moving towards a 12factor app config structure on debsources [1]? In many of the web projects I am involved we've been using python-decouple [2] for that. The idea is that you can separate configuration from code by having a single config module with default settings (optional) that gets overridden by values on each different env. These values can be defined in either a local config file (eg. settings.ini or .env file) or as environment variables. If you think that's a good way forward I would be interested to work on that. python-decouple is not yet packaged for Debian but I am also interested to help on that too. [1] http://12factor.net/config [2] https://github.com/henriquebastos/python-decouple signature.asc Description: OpenPGP digital signature
Bug#828831: debsources: merge all config files in the repo into an unique one
Package: qa.debian.org Severity: normal Usertags: debsources Currently we have many config files around: - etc/config.ini, used for sources.d.n - contrib/docker/config.ini used for docker images - etc/config.travis.ini used for travis - doc/examples/sample-config.local.ini as a documentation example It is difficult to keep them up-to-date, and finding a way to have an unique one would make things easier. Cheers, -- Matthieu -- System Information: Debian Release: stretch/sid APT prefers testing-updates APT policy: (500, 'testing-updates'), (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 4.3.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)