{"action":"created","issue":{"url":"https://api.github.com/repos/joyent/containerpilot/issues/131","repository_url":"https://api.github.com/repos/joyent/containerpilot","labels_url":"https://api.github.com/repos/joyent/containerpilot/issues/131/labels{/name}","comments_url":"https://api.github.com/repos/joyent/containerpilot/issues/131/comments","events_url":"https://api.github.com/repos/joyent/containerpilot/issues/131/events","html_url":"https://github.com/joyent/containerpilot/issues/131","id":148095173,"number":131,"title":"Container config from consul?","user":{"login":"magnayn","id":53653,"avatar_url":"https://avatars.githubusercontent.com/u/53653?v=3","gravatar_id":"","url":"https://api.github.com/users/magnayn","html_url":"https://github.com/magnayn","followers_url":"https://api.github.com/users/magnayn/followers","following_url":"https://api.github.com/users/magnayn/following{/other_user}","gists_url":"https://api.github.com/users/magnayn/gists{/gist_id}","starred_url":"https://api.github.com/users/magnayn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/magnayn/subscriptions","organizations_url":"https://api.github.com/users/magnayn/orgs","repos_url":"https://api.github.com/users/magnayn/repos","events_url":"https://api.github.com/users/magnayn/events{/privacy}","received_events_url":"https://api.github.com/users/magnayn/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-04-13T15:18:06Z","updated_at":"2016-04-20T15:51:39Z","closed_at":null,"body":"This isn't really an issue rather a question (and I couldn't tell from the blog post if there is anywhere else to discuss).\r\n\r\nI was intrigued by the autopilot pattern, and I have been looking at the autopilot jenkins example.\r\n\r\nThe mechanism of burning certain configuration parameters into the image (the _env file) feels unfortunate, as it means (if I follow the pattern for our services) I'd need to create a fresh image for every individual instance I run (and every time a configuration item changed). This is contrary to what our CI process would like - broadly - 'the same image for every install'.\r\n\r\nThis is often achieved by a 'configuration' container (e.g: for Jenkins this would either map jenkins_home to a separate container, or parent filesystem path) - thus upgrades are rather simple (pull the latest image version, restart).\r\n\r\nAnother route that I assumed the autopilot/jenkins would do would be to pull those values from the consul key/value store (under jenkins+hostname+config as a key, perhaps).\r\n\r\nTo do that presumably I might want to be informed if the config changes (to perhaps restart), or it might cause me to want to register for notifications to further key changes. I also don't know what that means for security (if the admin password is in consul, is there a shared secret to decrypt passed at startup time to the container, etc., etc).\r\n\r\nSo, err - just mumbling out loud.. is any of that reasonable, or is that not something you feel is the right way to go?\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/joyent/containerpilot/issues/comments/212486212","html_url":"https://github.com/joyent/containerpilot/issues/131#issuecomment-212486212","issue_url":"https://api.github.com/repos/joyent/containerpilot/issues/131","id":212486212,"user":{"login":"tgross","id":1409219,"avatar_url":"https://avatars.githubusercontent.com/u/1409219?v=3","gravatar_id":"","url":"https://api.github.com/users/tgross","html_url":"https://github.com/tgross","followers_url":"https://api.github.com/users/tgross/followers","following_url":"https://api.github.com/users/tgross/following{/other_user}","gists_url":"https://api.github.com/users/tgross/gists{/gist_id}","starred_url":"https://api.github.com/users/tgross/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgross/subscriptions","organizations_url":"https://api.github.com/users/tgross/orgs","repos_url":"https://api.github.com/users/tgross/repos","events_url":"https://api.github.com/users/tgross/events{/privacy}","received_events_url":"https://api.github.com/users/tgross/received_events","type":"User","site_admin":false},"created_at":"2016-04-20T15:51:39Z","updated_at":"2016-04-20T15:51:39Z","body":"> Is there a ML for these kinds of things?\r\n\r\nThere isn't but we have a new Gitter chat at https://gitter.im/autopilotpattern/general.\r\n\r\n> One grey area seems to be \"plugins\". Similar to jenkins, we do a 'drop jar file in directory, system auto-expands and installs without a restart required.\r\n> If I allow this in the 'config' container, I'm making runtime config changes, it's no longer immutable.\r\n\r\nI've done a not-widely-published-and-not-super-polished [Jenkins](https://github.com/autopilotpattern/jenkins) setup for the autopilot pattern and we've been [working](https://github.com/autopilotpattern/wordpress/pull/1) with some folks on a Wordpress demonstration and ran into this question. In both cases I'm of the opinion that if you're not packaging these plugins in with the container image then you're risking a serious case of \"works on my machine.\" The only thing that should vary are the environment-specific configuration."}}