argoproj-labs / rollouts-plugin-trafficrouter-consul

Argo Rollouts Plugin for Consul Service Mesh
Apache License 2.0
4 stars 1 forks source link

Consul V2 Catalog Service Mesh support for host-based and subset level splitting #18

Closed david-yu closed 8 months ago

david-yu commented 9 months ago

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.

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
david-yu commented 8 months ago

Closing for now.