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

Support updating config.yaml in place #969

Closed
kevsmith opened this issue Sep 20, 2016 · 1 comment · Fixed by #1006
Closed

Support updating config.yaml in place #969

kevsmith opened this issue Sep 20, 2016 · 1 comment · Fixed by #1006
Assignees
Milestone

Comments

@kevsmith
Copy link
Member

kevsmith commented Sep 20, 2016

Put bluntly, command developers need to be able to iterate quickly when building new bundles or they'll find better uses for their time.

A major obstacle in the Cog development experience is the requirement to bump the bundle version in config.yaml, upload the new version, and then assign it to a relay group. This adds several steps and many minutes of latency to what should be a fairly quick process.

Cog should support updating an existing config.yaml "in place" such that the changes take effect immediately (or as quick as possible). There are a couple of questions to answer:

  • How will Relay detect changes? Currently Relay's change detection relies entirely on the bundle version. Relay should continue to use bundle versions but also supplement with another recency check. Perhaps Cog could include a checksum of config.yaml in addition to the markup when Relay requests updates?
  • Should this ability always be available or should it require a -dev switch on Cog?

Supports roadmap issue #882

@kevsmith kevsmith added this to the Cog 0.15 milestone Sep 20, 2016
@mpeck mpeck added the research label Sep 28, 2016
@mpeck mpeck self-assigned this Sep 28, 2016
@mpeck
Copy link
Contributor

mpeck commented Sep 29, 2016

The problem is most apparent when doing template updates since that tends to be a very iterative process. I think the solution is that when we're in dev we do an update if the bundle record already exists. We can still use cogctl as normal to install.

I did a quick spike to see how difficult it will be to do a conditional update instead of an insert. And everything seems to be working fine.

So the workflow would look something like:
...adjust the config.yaml...
cogctl bundle install config.yaml
...test the output...
repeat

I don't think we have to worry about relay in this case. As long as the image tag stays the same when building, you can iterate without having to worry about version bumps.

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

Successfully merging a pull request may close this issue.

2 participants