Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In our system we have several thrift services, which have a cpu and gpu implementation. This means we need to deploy and app for the cpu implementation and another app for the gpu implementation. We would like that fact to be hidden from clients (i.e. be able to access the cpu and gpu implementations of a service at the same address).
For example if we have the following apps running in mesos/marathon, which both implement the same api
my-service-cpu
my-service-gpu
We would like for clients to be able to access both implementations at the same address (e.g nixy.marathon.mesos:12345)
Our solution was to specify a service name (e.g. my-service) via a label, and then add a method to the Config struct (MergeAppsByLabel(label)) which merges apps based on the given label. The idea is that users could call that method in their templates instead of just .Apps so that the different implementations could all have a single upstream definition.