- 
                Notifications
    You must be signed in to change notification settings 
- Fork 50
feat: add Redis NetworkPolicy for agent and principal #574
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
Conversation
- Add NetworkPolicy template for secure agent to redis communication - Configure pod selectors for argocd-agent-agent and argocd-redis - Enable network policy by default in values.yaml Signed-off-by: yeonsoo <[email protected]>
| Thanks! However, to fix #566, this change is not complete. The same goes for the principal, and there are kustomize manifests that need to be adapted for both, agent and principal. | 
- Add Helm values and template for agent NetworkPolicy - Add kustomize manifest for agent NetworkPolicy - Add kustomize manifest for principal NetworkPolicy Signed-off-by: yeonsoo <[email protected]>
Signed-off-by: Yeonsoo Kim <[email protected]>
| Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@           Coverage Diff           @@
##             main     #574   +/-   ##
=======================================
  Coverage   45.62%   45.62%           
=======================================
  Files          90       90           
  Lines       12021    12021           
=======================================
  Hits         5485     5485           
  Misses       6091     6091           
  Partials      445      445           ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
 | 
| Thanks @juanxiu ! I just saw that the Helm policy type (Ingress) differs from the ones in Kustomize (Egress). Is there a reason for that? I think they really should be the same type. Ideally, given proper Helm values, the Helm and Kustomize results should be the same (or at least, very similar). | 
Signed-off-by: yeonsoo <[email protected]>
| @jannfis Good catch! I've updated the Helm template to use Egress instead of Ingress, making it consistent with the kustomize manifests. Both now allow egress traffic from agent pods to Redis on port 6379/TCP. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @juanxiu !
LGTM.
What does this PR do / why we need it:
This PR adds a NetworkPolicy to enable secure communication between ArgoCD Agent and Redis. Previously, agent pods were unable to connect to Redis due to network restrictions, causing connectivity issues in environments with strict network policies enabled. we have to allow egress traffic to Redis (port 6379/TCP) from both agent and principal pods.
The changes include:
Which issue(s) this PR fixes:
Fixes #566
How to test changes / Special notes to the reviewer:
Testing Steps:
Template Validation:
Deploy and Verify:
Connectivity Test:
Special Notes:
app.kubernetes.io/name: argocd-redislabelapp.kubernetes.io/name: argocd-agent-agentlabelChecklist