| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- [
- {
- "key": "general",
- "title": "General",
- "required": true,
- "vars": [
- {
- "name": "release_name",
- "description": "Helm release name",
- "type": "str",
- "required": true
- },
- {
- "name": "namespace",
- "description": "Kubernetes namespace",
- "type": "str"
- }
- ]
- },
- {
- "key": "networking",
- "title": "Networking",
- "vars": [
- {
- "name": "network_mode",
- "description": "Kubernetes service type",
- "type": "enum",
- "options": ["ClusterIP", "NodePort", "LoadBalancer"],
- "default": "ClusterIP"
- }
- ]
- },
- {
- "key": "database",
- "title": "Database Configuration",
- "toggle": "database_enabled",
- "vars": [
- {
- "name": "database_enabled",
- "description": "Enable external database configuration",
- "type": "bool",
- "default": false
- },
- {
- "name": "database_type",
- "description": "Database type",
- "type": "enum",
- "options": ["postgres", "mysql", "mariadb"],
- "default": "postgres"
- },
- {
- "name": "database_host",
- "description": "Database hostname",
- "type": "hostname"
- },
- {
- "name": "database_port",
- "description": "Database port",
- "type": "int",
- "default": 5432
- },
- {
- "name": "database_name",
- "description": "Database name",
- "type": "str"
- },
- {
- "name": "database_user",
- "description": "Database username",
- "type": "str"
- },
- {
- "name": "database_password",
- "description": "Database password",
- "type": "str",
- "sensitive": true
- }
- ]
- },
- {
- "key": "email",
- "title": "Email Configuration",
- "toggle": "email_enabled",
- "vars": [
- {
- "name": "email_enabled",
- "description": "Enable email configuration",
- "type": "bool",
- "default": false
- },
- {
- "name": "email_host",
- "description": "SMTP server hostname",
- "type": "hostname"
- },
- {
- "name": "email_port",
- "description": "SMTP server port",
- "type": "int",
- "default": 587
- },
- {
- "name": "email_username",
- "description": "SMTP username",
- "type": "str"
- },
- {
- "name": "email_password",
- "description": "SMTP password",
- "type": "str",
- "sensitive": true
- },
- {
- "name": "email_from",
- "description": "From email address",
- "type": "email"
- },
- {
- "name": "email_use_tls",
- "description": "Use TLS encryption",
- "type": "bool",
- "default": true
- },
- {
- "name": "email_use_ssl",
- "description": "Use SSL encryption",
- "type": "bool",
- "default": false
- }
- ]
- },
- {
- "key": "traefik",
- "title": "Traefik Ingress",
- "toggle": "traefik_enabled",
- "vars": [
- {
- "name": "traefik_enabled",
- "description": "Enable Traefik ingress",
- "type": "bool",
- "default": false
- },
- {
- "name": "traefik_host",
- "description": "Ingress hostname (FQDN)",
- "type": "hostname"
- }
- ]
- },
- {
- "key": "traefik_tls",
- "title": "Traefik TLS/SSL",
- "needs": "traefik",
- "toggle": "traefik_tls_enabled",
- "vars": [
- {
- "name": "traefik_tls_enabled",
- "description": "Enable TLS for ingress",
- "type": "bool",
- "default": true
- },
- {
- "name": "traefik_tls_certmanager",
- "description": "Use cert-manager for TLS certificates",
- "type": "bool",
- "default": false
- },
- {
- "name": "certmanager_issuer",
- "description": "Cert-manager cluster issuer name",
- "type": "str",
- "needs": "traefik_tls_certmanager=true",
- "default": "letsencrypt-prod"
- },
- {
- "name": "traefik_tls_secret",
- "description": "TLS secret name",
- "type": "str"
- }
- ]
- },
- {
- "key": "volumes",
- "title": "Persistent Volumes",
- "vars": [
- {
- "name": "volumes_mode",
- "description": "Volume configuration mode",
- "type": "enum",
- "options": ["dynamic-pvc", "existing-pvc"],
- "default": "dynamic-pvc",
- "extra": "dynamic-pvc=auto-provision storage, existing-pvc=use existing PVC"
- },
- {
- "name": "volumes_pvc_name",
- "description": "Existing PVC name",
- "type": "str",
- "needs": "volumes_mode=existing-pvc"
- }
- ]
- }
- ]
|