On Tue, 16.06.15 17:49, Peter Paule (systemd-de...@fedux.org) wrote: > Excerpts from Lennart Poettering's message of 2015-06-15 00:32:09 +0200: > > > > Nope, we deliberately clean up the env block we pass to services. > > > > Mmmh, would it possible to add some kind of a whitelist for environment > variables to the systemd- and/or service.unit-configuration for > variables which are passed on to services? Maybe something like > http://httpd.apache.org/docs/2.2/mod/mod_env.html#passenv. > > This would make things a lot of easier when containers are used with > systemd as process supervisor. At least for Ruby on Rails or other > software which makes use of environment variables for configuration. > > This way I can build a single image I can use in different environments > just by setting environment files. Does that make sense to you? > > Outer Service Units > # Service 1 > ExecStart="docker run -e RAILS_ENV=production -e > DATABASE_URL="postgresql://localhost/app_production centos-rails" > > # Service 2 > ExecStart="docker run -e RAILS_ENV=staging -e > DATABASE_URL="postgresql://localhost/app_staging centos-rails" > > Inner Service Units (Example) > PassEnv="RAILS_ENV" > ExecStart="RAILS_ENV=${RAILS_ENV} /srv/app/bin/rails"
I'd be willing to add a setting called PassEnvironment= that takes a list of env vars to import from PID1's env block. Happy to take a patch, also added to TODO list, so that we don't forget. Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel