Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement hosting of configuration in a separate service #212

Open
3 tasks
jaraco opened this issue Jan 9, 2017 · 0 comments
Open
3 tasks

Implement hosting of configuration in a separate service #212

jaraco opened this issue Jan 9, 2017 · 0 comments

Comments

@jaraco
Copy link
Contributor

jaraco commented Jan 9, 2017

Currently, the management of configuration variables happens in a tightly-coupled way inside the VR interface. I imagine this functionality could be decoupled through the following steps:

  • Identify or build a standalone service which serves many of the same use cases as VR does (below)
  • Update VR UI to reference config in an external service, probably just one URL for environment and another for the settings file.
  • VR would still materialize the config at release time and store the materialized config with the release object.

Use cases

  • Config is defined in YAML and validated for soundness.
  • Allow groups of configuration to be created as a named "ingredient".
  • Allow these ingredients to be combined and then overridden, forming a config recipe.
  • Config can be either for creating a settings.yaml or for defining environment variables.
  • Provide a UI for editing ingredients, assembling recipes, and viewing the rendered config.

Other thoughts

Such a service would be somewhat more complex to deploy as an additional service would need to be installed. However, I can imagine some benefits coming from this decoupling:

  • Services other than VR could use this service. It could enable those services to migrate to a VR-backed deployment or enable VR deployments to migrate to another system still relying on the same config.
  • Additional features could be added to this service, such as password/secret injection.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant