This commit is contained in:
Mike McFetridge
2026-07-20 09:23:17 -04:00
parent c1315882da
commit 72272e4006
3179 changed files with 562960 additions and 14 deletions
+79
View File
@@ -0,0 +1,79 @@
configs:
cm:
url: << public_url >>
kustomize.buildOptions: --enable-helm
params:
server.insecure: << server_insecure | lower >>
controller:
replicas: << controller_replicas >>
metrics:
enabled: << controller_metrics_enabled | lower >>
<%- if metrics_service_monitor_enabled and controller_metrics_enabled %>
serviceMonitor:
enabled: true
<%- endif %>
repoServer:
replicas: << repo_server_replicas >>
metrics:
enabled: << repo_server_metrics_enabled | lower >>
<%- if metrics_service_monitor_enabled and repo_server_metrics_enabled %>
serviceMonitor:
enabled: true
<%- endif %>
server:
replicas: << server_replicas >>
metrics:
enabled: << server_metrics_enabled | lower >>
<%- if metrics_service_monitor_enabled and server_metrics_enabled %>
serviceMonitor:
enabled: true
<%- endif %>
<%- if ingress_enabled %>
ingress:
enabled: true
ingressClassName: << ingress_class_name >>
hostname: << ingress_hostname >>
path: << ingress_path >>
pathType: Prefix
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: << ingress_entrypoints >>
<%- if ingress_middleware %>
traefik.ingress.kubernetes.io/router.middlewares: << ingress_middleware >>
<%- endif %>
<%- if ingress_tls_enabled %>
traefik.ingress.kubernetes.io/router.tls: "true"
<%- if ingress_cert_manager_enabled %>
cert-manager.io/cluster-issuer: << ingress_cluster_issuer >>
<%- endif %>
<%- endif %>
tls: << ingress_tls_enabled | lower >>
<%- if ingress_tls_enabled and not ingress_cert_manager_enabled %>
extraTls:
- hosts:
- << ingress_hostname >>
secretName: << ingress_tls_secret >>
<%- endif %>
<%- endif %>
dex:
enabled: << dex_enabled | lower >>
metrics:
enabled: << dex_metrics_enabled | lower >>
<%- if metrics_service_monitor_enabled and dex_enabled and dex_metrics_enabled %>
serviceMonitor:
enabled: true
<%- endif %>
redis:
enabled: << redis_enabled | lower >>
<%- if redis_enabled %>
metrics:
enabled: << redis_metrics_enabled | lower >>
<%- if metrics_service_monitor_enabled and redis_metrics_enabled %>
serviceMonitor:
enabled: true
<%- endif %>
<%- endif %>
+301
View File
@@ -0,0 +1,301 @@
{
"slug": "argocd",
"kind": "helm",
"metadata": {
"name": "Argo CD",
"description": "Helm values template for Argo CD with ingress, TLS, controller or repo-server sizing, Dex, Redis, and metrics toggles for homelab GitOps clusters.",
"tags": [
"gitops",
"kubernetes",
"traefik"
],
"icon": {
"provider": "selfhst",
"id": "argo-cd"
},
"draft": false,
"version": {
"name": "9.2.4",
"source_dep_name": "manual/argocd"
}
},
"variables": [
{
"title": "General",
"name": "general",
"items": [
{
"name": "public_url",
"type": "str",
"title": "Public URL",
"required": true,
"default": "https://argocd.home.arpa",
"description": "Public URL Argo CD should advertise to users and callbacks.",
"config": {
"placeholder": "https://argocd.home.arpa"
}
},
{
"name": "server_insecure",
"type": "bool",
"title": "Server Insecure",
"required": false,
"default": true,
"description": "Let the ingress controller terminate TLS in front of `argocd-server`."
}
]
},
{
"title": "Ingress",
"toggle": "ingress_enabled",
"name": "ingress",
"items": [
{
"name": "ingress_enabled",
"type": "bool",
"title": "Ingress",
"required": false,
"default": true,
"description": "Expose Argo CD through a Kubernetes ingress."
},
{
"name": "ingress_class_name",
"type": "str",
"title": "Ingress Class",
"required": true,
"default": "traefik",
"description": "IngressClass name used for the Argo CD server ingress.",
"needs": [
"ingress_enabled=true"
],
"config": {
"placeholder": "traefik"
}
},
{
"name": "ingress_hostname",
"type": "str",
"title": "Ingress Hostname",
"required": true,
"default": "argocd.home.arpa",
"needs": [
"ingress_enabled=true"
],
"config": {
"placeholder": "argocd.home.arpa"
}
},
{
"name": "ingress_path",
"type": "str",
"title": "Ingress Path",
"required": true,
"default": "/",
"description": "Path exposed by the Argo CD ingress.",
"needs": [
"ingress_enabled=true"
],
"config": {
"placeholder": "/"
}
},
{
"name": "ingress_entrypoints",
"type": "str",
"title": "Traefik Entrypoints",
"required": false,
"default": "websecure",
"description": "Traefik entrypoints annotation for the ingress.",
"needs": [
"ingress_enabled=true"
],
"config": {
"placeholder": "websecure"
}
},
{
"name": "ingress_middleware",
"type": "str",
"title": "Traefik Middleware",
"required": false,
"default": "",
"description": "Optional Traefik middleware reference attached to the Argo CD ingress.",
"needs": [
"ingress_enabled=true"
],
"config": {
"placeholder": "traefik-dashboard-secured@kubernetescrd"
}
},
{
"name": "ingress_tls_enabled",
"type": "bool",
"title": "Ingress TLS",
"required": false,
"default": true,
"needs": [
"ingress_enabled=true"
]
},
{
"name": "ingress_tls_secret",
"type": "str",
"title": "TLS Secret",
"required": true,
"default": "argocd-server-tls",
"description": "TLS secret name used when cert-manager is not managing the ingress certificate.",
"needs": [
"ingress_enabled=true",
"ingress_tls_enabled=true"
],
"config": {
"placeholder": "argocd-server-tls"
}
},
{
"name": "ingress_cert_manager_enabled",
"type": "bool",
"title": "Cert-Manager",
"required": false,
"default": false,
"description": "Annotate the ingress for cert-manager certificate issuance.",
"needs": [
"ingress_enabled=true",
"ingress_tls_enabled=true"
]
},
{
"name": "ingress_cluster_issuer",
"type": "str",
"title": "ClusterIssuer",
"required": true,
"default": "letsencrypt-production",
"description": "ClusterIssuer used when cert-manager handles ingress certificates.",
"needs": [
"ingress_enabled=true",
"ingress_tls_enabled=true",
"ingress_cert_manager_enabled=true"
],
"config": {
"placeholder": "letsencrypt-production"
}
}
]
},
{
"title": "Components",
"name": "components",
"items": [
{
"name": "controller_replicas",
"type": "int",
"title": "Controller Replicas",
"required": false,
"default": 1,
"description": "Number of Argo CD application controller replicas.",
"config": {
"placeholder": "1"
}
},
{
"name": "repo_server_replicas",
"type": "int",
"title": "Repo Server Replicas",
"required": false,
"default": 1,
"description": "Number of Argo CD repo-server replicas.",
"config": {
"placeholder": "1"
}
},
{
"name": "server_replicas",
"type": "int",
"title": "Server Replicas",
"required": false,
"default": 1,
"description": "Number of Argo CD API server replicas.",
"config": {
"placeholder": "1"
}
},
{
"name": "dex_enabled",
"type": "bool",
"title": "Dex",
"required": false,
"default": true,
"description": "Deploy bundled Dex for SSO scenarios that still use the Argo CD Dex component."
},
{
"name": "redis_enabled",
"type": "bool",
"title": "Bundled Redis",
"required": false,
"default": true,
"description": "Deploy bundled Redis. Disable only if you provide Redis separately."
}
]
},
{
"title": "Metrics",
"name": "metrics",
"items": [
{
"name": "metrics_service_monitor_enabled",
"type": "bool",
"title": "ServiceMonitor",
"required": false,
"default": false,
"description": "Create ServiceMonitor resources for enabled component metrics."
},
{
"name": "controller_metrics_enabled",
"type": "bool",
"title": "Controller Metrics",
"required": false,
"default": true,
"description": "Expose metrics from the application controller."
},
{
"name": "repo_server_metrics_enabled",
"type": "bool",
"title": "Repo Server Metrics",
"required": false,
"default": true,
"description": "Expose metrics from the repo-server."
},
{
"name": "server_metrics_enabled",
"type": "bool",
"title": "Server Metrics",
"required": false,
"default": true,
"description": "Expose metrics from the Argo CD API server."
},
{
"name": "dex_metrics_enabled",
"type": "bool",
"title": "Dex Metrics",
"required": false,
"default": false,
"description": "Expose metrics from Dex when Dex is enabled.",
"needs": [
"dex_enabled=true"
]
},
{
"name": "redis_metrics_enabled",
"type": "bool",
"title": "Redis Metrics",
"required": false,
"default": false,
"description": "Expose metrics from bundled Redis when Redis is enabled.",
"needs": [
"redis_enabled=true"
]
}
]
}
]
}