Consul 1.17 introduces v2 API that will allow host based splitting, where-as previously only subset level splitting was available before.
With Argo Rollouts we need both blue green and canary deployment strategies supported for Consul Service Mesh. In addition we should allow the following granularity within those strategies:
Host level splitting
Subset level splitting
TCP route splitting
We should implement those changes in the ArgoCD project so that we can use native Argo Rollout CRDs to deploy those strategies. An example is shown below for a Canary deployment.
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: rollout-example
spec:
...
strategy:
canary:
canaryService: canary-svc # required
stableService: stable-svc # required
trafficRouting:
consul:
service:
name: rollout-consul-svc # required
routes:
- primary # optional if there is a single route in VirtualService, required otherwise
steps:
- setWeight: 5
- pause:
duration: 10m
Consul 1.17 introduces v2 API that will allow host based splitting, where-as previously only subset level splitting was available before.
With Argo Rollouts we need both blue green and canary deployment strategies supported for Consul Service Mesh. In addition we should allow the following granularity within those strategies:
We should implement those changes in the ArgoCD project so that we can use native Argo Rollout CRDs to deploy those strategies. An example is shown below for a Canary deployment.