Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions kubernetes/apps-foundry/argocd-server-ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Public Ingress for argocd.gauchoracing.com on the foundry cluster.
# Same pattern as sentinel — Traefik + external-dns + tunnel.
#
# The ArgoCD install itself is managed outside GitOps (kubectl-applied
# from the upstream install manifest on foundry). This Application only
# owns the public Ingress resource.

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: argocd-server-ingress
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
project: default
source:
repoURL: https://github.com/Gaucho-Racing/infrastructure.git
targetRevision: main
path: kubernetes/manifests-foundry/argocd-server-ingress
destination:
server: https://kubernetes.default.svc
namespace: argocd
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- ServerSideApply=true
32 changes: 32 additions & 0 deletions kubernetes/manifests-foundry/argocd-server-ingress/ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Public Ingress for the foundry cluster's ArgoCD UI at
# argocd.gauchoracing.com. Traefik receives HTTP forwarded by the
# cloudflared tunnel; TLS terminates at the Cloudflare edge.
#
# argocd-server serves plain HTTP on port 80 → targetPort 8080, so no
# `server.insecure` patch is needed on the existing foundry ArgoCD install.
#
# DNS is managed by the foundry external-dns instance:
# - hostname derived from spec.rules[].host
# - cloudflare-proxied annotation flips the CF record orange
# - target is the gr-foundry tunnel via external-dns --default-targets

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: argocd-server-public
namespace: argocd
annotations:
external-dns.alpha.kubernetes.io/cloudflare-proxied: "true"
spec:
ingressClassName: traefik
rules:
- host: argocd.gauchoracing.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: argocd-server
port:
number: 80

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Disable Argo CD TLS before proxying to port 80

When this foundry ingress is used behind the Cloudflare Tunnel, infra/environments/prod/foundry.tf:88 sends plain HTTP to Traefik and this backend forwards that plain HTTP to argocd-server port 80. The Argo CD ingress docs describe port 80 as HTTP that redirects to HTTPS unless the API server is run with TLS disabled; the EKS install explicitly sets server.insecure in infra/modules/argocd/main.tf:71, but this foundry app says the upstream install is left unchanged, so after DNS cutover the public UI will redirect back to the same HTTPS URL instead of loading. Add a managed argocd-cmd-params-cm/Deployment patch to set server.insecure (or proxy to the HTTPS backend) along with this ingress.

Useful? React with 👍 / 👎.