[ { "key": "general", "title": "General", "required": true, "vars": [ { "name": "resource_name", "description": "Kubernetes resource name", "type": "str", "required": true }, { "name": "namespace", "description": "Kubernetes namespace", "type": "str", "default": "default", "required": true } ] }, { "key": "resources", "title": "Resource Limits", "toggle": "resources_enabled", "description": "Set CPU and memory limits for the resource.", "vars": [ { "name": "resources_enabled", "description": "Enable resource limits", "type": "bool", "default": false }, { "name": "resources_cpu_limit", "description": "Maximum CPU cores (e.g., 100m, 500m, 1, 2)", "type": "str", "default": "1", "required": true }, { "name": "resources_cpu_request", "description": "Requested CPU cores", "type": "str", "default": "250m", "required": true }, { "name": "resources_memory_limit", "description": "Maximum memory (e.g., 512Mi, 1Gi, 2Gi)", "type": "str", "default": "1Gi", "required": true }, { "name": "resources_memory_request", "description": "Requested memory", "type": "str", "default": "512Mi", "required": true } ] }, { "key": "traefik", "title": "Traefik", "toggle": "traefik_enabled", "description": "Traefik routes external traffic to your service.", "vars": [ { "name": "traefik_enabled", "description": "Enable Traefik ingress configuration", "type": "bool", "default": false }, { "name": "traefik_host", "description": "Service subdomain or full hostname (e.g., 'app' or 'app.example.com')", "type": "str", "required": true }, { "name": "traefik_domain", "description": "Base domain (e.g., example.com)", "type": "str", "default": "home.arpa", "required": true } ] }, { "key": "traefik_tls", "title": "Traefik TLS/SSL", "toggle": "traefik_tls_enabled", "needs": ["traefik"], "description": "Enable HTTPS/TLS for Traefik with certificate management.", "vars": [ { "name": "traefik_tls_enabled", "description": "Enable HTTPS/TLS", "type": "bool", "default": true }, { "name": "traefik_tls_certresolver", "description": "Traefik certificate resolver name", "type": "str", "default": "cloudflare", "required": true } ] }, { "key": "database", "title": "Database", "toggle": "database_enabled", "description": "Connect to external database (PostgreSQL or MySQL)", "vars": [ { "name": "database_enabled", "description": "Enable external database integration", "type": "bool", "default": false }, { "name": "database_type", "description": "Database type", "type": "enum", "options": ["sqlite", "postgres", "mysql", "mariadb"], "default": "postgres", "required": true }, { "name": "database_host", "description": "Database host", "type": "str", "default": "database", "required": true }, { "name": "database_port", "description": "Database port", "type": "int", "required": true }, { "name": "database_name", "description": "Database name", "type": "str", "required": true }, { "name": "database_user", "description": "Database user", "type": "str", "required": true }, { "name": "database_password", "description": "Database password", "type": "str", "default": "", "sensitive": true, "autogenerated": true, "required": true } ] }, { "key": "email", "title": "Email Server", "toggle": "email_enabled", "description": "Configure email server for notifications and user management.", "vars": [ { "name": "email_enabled", "description": "Enable email server configuration", "type": "bool", "default": false }, { "name": "email_host", "description": "SMTP server hostname", "type": "str", "required": true }, { "name": "email_port", "description": "SMTP server port", "type": "int", "default": 25, "required": true }, { "name": "email_username", "description": "SMTP username", "type": "str", "required": true }, { "name": "email_password", "description": "SMTP password", "type": "str", "sensitive": true, "required": true }, { "name": "email_from", "description": "From email address", "type": "str", "required": true }, { "name": "email_encryption", "description": "Email encryption method to use", "type": "enum", "options": ["none", "starttls", "ssl"] } ] }, { "key": "authentik", "title": "Authentik SSO", "toggle": "authentik_enabled", "description": "Integrate with Authentik for Single Sign-On authentication.", "vars": [ { "name": "authentik_enabled", "description": "Enable Authentik SSO integration", "type": "bool", "default": false }, { "name": "authentik_url", "description": "Authentik base URL (e.g., https://auth.example.com)", "type": "url", "required": true }, { "name": "authentik_slug", "description": "Authentik application slug", "type": "str", "required": true } ] } ]