Bug#828831: debsources: merge all config files in the repo into an unique one

2016-07-24 Thread Matthieu Caneill
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

2016-07-18 Thread John Giannelos
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

2016-06-28 Thread Matthieu Caneill
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)