-
Notifications
You must be signed in to change notification settings - Fork 314
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
[sup] Introduce optional application environment qualifier on Service Group #2791
Conversation
Thanks for the pull request! Here is what will happen next:
Thank you for contributing! |
abcd9c5
to
8d349d0
Compare
…Group. This change adds a new optional qualifier to a Service Group string, called an Application Environment. The printed representation of a Service Group with Application Environment delimited with a hash character and the application name and environment name are delimited with a period character. For example, a Service Group containing an application name "twitter" and environment name of "production" would look like: twitter.production#redis.cache The components of the Service Group are as follows: twitter . production # redis . cache |-application-|-environment-|-service-|-group-| To load a service, 2 new options are added which are used together (`--application/-a` and `--environment/-e`). For example: hab svc load core/redis \ --group cache \ --application twitter \ --environment production Signed-off-by: Fletcher Nichol <fnichol@nichol.ca>
8d349d0
to
ea6ba23
Compare
@fnichol per our conversation on the walk over to the stadium, I think we should swap this to a single flag and just go with a naming convention of including a dot - that way this becomes a) tagging mechanism that visualizers of ring data can leverage and b) potentially something we can leverage as a small world in our gossip protocol at a later date |
Actually, after thinking this over and then having a chat with @adamhjk about it this morning I think this is the right way to go. I think we are actually overloading the concept of "group" and these acting as more than just a label is the right way to go. Moving forward I think we should restructure things like this:
What is also great about this change is we finally have an actual solution for how to assemble a "small world" in the gossip protocol for garbage collection and faster spreading of rumors at scale. Gonna do a code review on this one last time and then get it merged in. |
@fnichol this looks perfect as is, we can pipe things into the gossip layer and make any necessary changes in a future commit! |
@thesentinels approve |
🤘 I am testing your branch against master before merging it. We do this to ensure that the master branch is never failing tests. |
Travis CI has started testing this PR. |
💔 Travis CI reports this PR failed to pass the test suite. The next step is to examine the job and figure out why. If it is transient, you can try re-triggering the Travis CI Job - if it passes, this PR will be automatically merged. If it is not transient, you should fix the issue and update this pull request, and issue |
[sup] Introduce optional application environment qualifier on Service Group
This change adds a new optional qualifier to a Service Group string,
called an Application Environment. The printed representation of a
Service Group with Application Environment delimited with a hash
character and the application name and environment name are delimited
with a period character. For example, a Service Group containing an
application name "twitter" and environment name of "production" would
look like:
The components of the Service Group are as follows:
To load a service, 2 new options are added which are used together
(
--application/-a
and--environment/-e
). For example: