WIP: Add release label to production selector
This fixes #51 (moved) .
Currently, when both production
and production-canary
helm releases are deployed in same namespace, the service production
points to both production
and production-canary
deployments, and as a result canary-by-header
feature doesn't work. This MR fixes the issue with canary deployment while keeping the existing deployments for stable/rollout
continue to work without introducing any issues. The state diagram of traffic flow will look as following:
graph TD;
Z[Service URL ] --> A(Nginx Ingress);
A[Nginx Ingress ] --> B(Ingress);
A[Nginx Ingress ] -->|Header = canary:always| C(Canary Ingress);
B --> D[Service];
C --> E[Ingress Service];
D -->|track:stable| F[Production Deployment];
D -->|track:rollout| H[Rollout Deployment];
E -->|release: <name>-canary| G[Canary Deployment];
with this, both canary
and rollout/stable
traffic is satisfied as expected to their respective deployments.
cc: @rpaik @tkuah @hfyngvason
Edited by Shinya Maeda