I have several requirements for the argo-workflows, we need to deploy Argo-Workflows with the following:
- Metrics Enabled
- SSO Enabled
- Namespaced Enabled
- S3 Backend Artifacts Enabled
- Logging Format Set to JSON
- Ingress Endpoint Enabled
- Works with ALB and WAF
- Runs on AWS EKS
So we had a working configuration and it worked in the past. But for some odd reason it's no longer working and the server is stuck in CrashLoopBackoff.
This is the following values.yaml file we use:
---
server:
serviceType: "NodePort"
authModes:
- sso
secure: true
sso:
enabled: true
insecureSkipVerify: true
clientId:
key: "client_id"
name: "argo-server-sso"
clientSecret:
key: "client_secret"
name: "argo-server-sso"
issuer: "<some_url>"
redirectUrl: "<some_url>/oauth2/callback"
sessionExpiry: "1h" # 1 Hour for Session Expiration
ingress:
annotations:
alb.ingress.kubernetes.io/certificate-arn: <some_cert_arn>
alb.ingress.kubernetes.io/healthcheck-path: /
alb.ingress.kubernetes.io/healthcheck-protocol: HTTP
alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS": 443}]'
alb.ingress.kubernetes.io/wafv2-acl-arn: <some_waf_arn>
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/ssl-redirect: "443"
alb.ingress.kubernetes.io/subnets: <some_subnet>
alb.ingress.kubernetes.io/tags: Environment=dev,Team=test
alb.ingress.kubernetes.io/target-type: ip
external-dns.alpha.kubernetes.io/hostname: <some_url>
kubernetes.io/ingress.class: alb
enabled: "true"
ingressClassName: "alb"
hosts:
- <some_url>
paths:
- /*
pathType: ImplementationSpecific
controller:
logging:
format: json
metricsConfig:
enabled: "true"
serviceMonitor:
enabled: "true"
telemetryConfig:
enabled: "true"
artifactRepositoryRef:
artifact-repositories:
annotations:
workflows.argoproj.io/default-artifact-repository: default
default:
s3:
bucket: <some_bucket>
endpoint: s3.amazonaws.com
region: us-east-1
keyFormat: "workflow\
/{{workflow.creationTimestamp.Y}}\
/{{workflow.creationTimestamp.m}}\
/{{workflow.creationTimestamp.d}}\
/{{workflow.name}}\
/{{pod.name}}"
useSDKCreds: true
The main thing is that I use terraform and/or helm to apply it:
helm install argo-workflows argo/argo-workflows --version 0.33.1 -n arrgo-workflows
I also opened up a GitHub Bug against Argo-Workflows as well: