[ { "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" } ] } ]