{# Jinja2 template for service configuration form #}
{# This template is used as a reference for schema-to-form transformation #}
{# When TypeDialog is available, forms will be auto-generated from Nickel schemas #}

# {{ service_name }} Configuration Form
# Mode: {{ deployment_mode }}
# Auto-generated from schema: {{ schema_path }}

## Service Settings

### Server Configuration
- **Server Port** (1-65535)
  Value: {{ server.port | default("8080") }}
  Description: HTTP server port

- **TLS Enabled** (true/false)
  Value: {{ server.tls.enabled | default("false") }}
  Description: Enable HTTPS/TLS

{% if server.tls.enabled %}
- **TLS Certificate Path**
  Value: {{ server.tls.cert_path | default("") }}

- **TLS Key Path**
  Value: {{ server.tls.key_path | default("") }}
{% endif %}

### Database Configuration
- **Database Host**
  Value: {{ database.host | default("localhost") }}

- **Database Port** (1-65535)
  Value: {{ database.port | default("5432") }}

- **Database Name**
  Value: {{ database.name | default("provisioning") }}

- **Connection Pool Size** (1-100)
  Value: {{ database.pool_size | default("10") }}

### Deployment Configuration
- **Deployment Mode**
  Options: solo, multiuser, enterprise, cicd
  Value: {{ mode | default("solo") }}

- **Number of Replicas** (1-10)
  Value: {{ replicas | default("1") }}

- **CPU Limit**
  Value: {{ deploy.resources.limits.cpus | default("1.0") }}
  Format: e.g., "1.0", "2.5", "4.0"

- **Memory Limit**
  Value: {{ deploy.resources.limits.memory | default("1024M") }}
  Format: e.g., "512M", "1024M", "2G"

### Logging Configuration
- **Log Level**
  Options: debug, info, warning, error
  Value: {{ logging.level | default("info") }}

- **Log Format**
  Options: json, text
  Value: {{ logging.format | default("json") }}

### Monitoring Configuration
- **Enable Metrics**
  Value: {{ monitoring.enabled | default("true") }}

- **Metrics Port** (1-65535)
  Value: {{ monitoring.metrics_port | default("9090") }}

{% if monitoring.enabled %}
- **Scrape Interval**
  Value: {{ monitoring.scrape_interval | default("15s") }}
  Format: e.g., "15s", "1m", "5m"
{% endif %}
