Add Ingress connectivity troubleshooting and environment-specific configuration documentation#98
Conversation
Co-authored-by: bwalsh <47808+bwalsh@users.noreply.github.com>
|
@copilot """ |
... That confirms the issue - NGINX Ingress Controller is not installed. Install it with: helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm upgrade --install ingress-nginx ingress-nginx/ingress-nginx \
-n ingress-nginx --create-namespace \
--set controller.service.type=LoadBalancerThen wait for the LoadBalancer to get an external IP: kubectl get svc -n ingress-nginx -wOnce |
|
@copilot """ |
A pending EXTERNAL-IP usually means the cloud provider can't provision a LoadBalancer. Debug with: kubectl describe svc ingress-nginx-controller -n ingress-nginxLook for events showing errors. Common causes:
Quick fix for local clusters: # Use NodePort instead
helm upgrade ingress-nginx ingress-nginx/ingress-nginx \
-n ingress-nginx \
--set controller.service.type=NodePortThen access via For AWS EKS, ensure the AWS Load Balancer Controller is installed or your nodes have the right IAM role. |
|
@copilot |
Co-authored-by: bwalsh <47808+bwalsh@users.noreply.github.com>
Co-authored-by: bwalsh <47808+bwalsh@users.noreply.github.com>
Added comprehensive documentation for AWS EKS and on-premises ingress configuration in commit 74ef786. New sections include: AWS EKS:
On-Premises:
See the new "Environment-Specific Ingress Configuration" section in |
bwalsh
left a comment
There was a problem hiding this comment.
@copilot
argo-workflows and argocd do not appear to be connected to the external ingress
"""
$ kubectl get ingress -A
NAMESPACE NAME CLASS HOSTS ADDRESS PORTS AGE
argo-events github-repo-registrations-eventsource calypr-demo.ddns.net 100.22.124.96 80 39m
argo-stack ingress-authz-applications nginx calypr-demo.ddns.net 80, 443 38m
argo-stack ingress-authz-registrations nginx calypr-demo.ddns.net 80, 443 38m
argo-stack ingress-authz-workflows nginx calypr-demo.ddns.net 80, 443 38m
argo-workflows argo-workflows nginx argo.localtest.me 80 39m
argocd argocd-server nginx argocd.localtest.me 80 39m
calypr-api ingress-authz-api nginx calypr-demo.ddns.net 80, 443 38m
calypr-tenants ingress-authz-tenants nginx calypr-demo.ddns.net 80, 443 38m
"""
bwalsh
left a comment
There was a problem hiding this comment.
https://gh.io/copilot-coding-agent-docs
argo-workflows and argocd do not appear to be connected to the external ingress
"""
$ kubectl get ingress -A
NAMESPACE NAME CLASS HOSTS ADDRESS PORTS AGE
argo-events github-repo-registrations-eventsource calypr-demo.ddns.net 100.22.124.96 80 39m
argo-stack ingress-authz-applications nginx calypr-demo.ddns.net 80, 443 38m
argo-stack ingress-authz-registrations nginx calypr-demo.ddns.net 80, 443 38m
argo-stack ingress-authz-workflows nginx calypr-demo.ddns.net 80, 443 38m
argo-workflows argo-workflows nginx argo.localtest.me 80 39m
argocd argocd-server nginx argocd.localtest.me 80 39m
calypr-api ingress-authz-api nginx calypr-demo.ddns.net 80, 443 38m
calypr-tenants ingress-authz-tenants nginx calypr-demo.ddns.net 80, 443 38m
"""
The argo-workflows and argocd ingresses need to be enabled in your Helm values. Check your values file for: ingress:
argoWorkflows:
enabled: true
host: "your-domain.com" # Set to your actual host
tls:
enabled: true
secretName: "your-tls-secret"
argocd:
enabled: true
host: "argocd.your-domain.com"
tls:
enabled: true
secretName: "your-tls-secret"Then upgrade your Helm release: helm upgrade argo-stack ./helm/argo-stack \
-n argo-stack \
--values your-values.yamlVerify ingresses were created: kubectl get ingress -n argo-workflows
kubectl get ingress -n argocdAlternatively, use the ingress-authz-overlay for unified path-based routing (all services on one host): helm upgrade --install ingress-authz-overlay \
./helm/argo-stack/overlays/ingress-authz-overlay \
--set ingressAuthzOverlay.enabled=true \
--set ingressAuthzOverlay.host=your-domain.comThis creates ingresses for |
Your ingress setup is actually correct. You have two sets of ingresses: 1. ingress-authz-overlay (recommended) - These are working correctly:
2. Direct ingresses (default dev hosts) - These use
The # Test your endpoints
curl -v https://calypr-demo.ddns.net/workflows
curl -v https://calypr-demo.ddns.net/applicationsIf you want to remove the duplicate ingress:
argoWorkflows:
enabled: false # Disable if using overlay
argocd:
enabled: false # Disable if using overlay |
User reported "Connection refused" on port 443 when accessing ingress endpoints. Added debugging documentation for ingress connectivity issues and environment-specific configuration guides.
Changes
New troubleshooting section in
docs/troubleshooting.md:Environment-Specific Ingress Configuration section:
Quick Debugging
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.