description = "Interactive configuration for Provisioning Platform Installer (deployment and lifecycle management)"
display_mode = "complete"
fallback_locale = "en-US"
name = "installer_configuration"

# ============================================================================
# INSTALLER SERVICE FORM - COMPOSED FROM FRAGMENTS
# ============================================================================
# This form uses fragment composition pattern for modular configuration
# All fragments are located in ./fragments/ subdirectory
# ============================================================================

# DEPLOYMENT MODE SELECTION
# Determines deployment environment and service resources
[[items]]
description = "Select deployment mode and database backend for installed services"
includes = [
  "fragments/deployment/mode-selection.toml",
  "fragments/deployment/database-backend-selection.toml",
]
name = "deployment_mode_group"
title = "Deployment Configuration"
type = "group"

# INSTALLATION TARGET CONFIGURATION
# Target environment: local, remote, kubernetes, docker
[[items]]
description = "Configure target environment and connectivity"
includes = ["fragments/installer/target-section.toml"]
name = "target_group"
title = "Installation Target"
type = "group"

# PREFLIGHT CHECKS CONFIGURATION
# Disk, memory, CPU, network, dependencies, ports validation
[[items]]
description = "Configure pre-installation validation checks"
includes = ["fragments/installer/preflight-section.toml"]
name = "preflight_group"
title = "Preflight Checks"
type = "group"

# INSTALLATION STRATEGY CONFIGURATION
# Installation mode, parallelization, timeout, rollback, logging, hooks
[[items]]
description = "Configure installation behavior and strategy"
includes = ["fragments/installer/installation-section.toml"]
name = "installation_group"
title = "Installation Strategy"
type = "group"

# SERVICES SELECTION CONFIGURATION
# Which services to install, ports, auto-start, health checks
[[items]]
description = "Select which services to install and configure their deployment"
includes = ["fragments/installer/services-section.toml"]
name = "services_group"
title = "Services Selection"
type = "group"

# DATABASE CONFIGURATION
# Database initialization, migrations, backup, verification, optimization
[[items]]
description = "Configure database initialization and management"
includes = ["fragments/installer/database-section.toml"]
name = "database_group"
title = "Database Configuration"
type = "group"

# STORAGE CONFIGURATION
# Storage location, backend, compression, encryption, replication, cleanup
[[items]]
description = "Configure storage for provisioning data and artifacts"
includes = ["fragments/installer/storage-section.toml"]
name = "storage_group"
title = "Storage Configuration"
type = "group"

# NETWORKING CONFIGURATION
# Bind address, DNS, TLS, firewall, load balancer, ingress, proxy
[[items]]
description = "Configure networking, DNS, TLS, and firewall"
includes = ["fragments/installer/networking-section.toml"]
name = "networking_group"
title = "Networking Configuration"
type = "group"

# HIGH AVAILABILITY CONFIGURATION
# Cluster setup, replication, health checks, failover, backup, load distribution
[[items]]
description = "Configure high availability and clustering"
includes = ["fragments/installer/ha-section.toml"]
name = "ha_group"
title = "High Availability Configuration"
type = "group"

# POST-INSTALLATION CONFIGURATION
# Admin user, workspace config, extensions, API setup, verification, cleanup
[[items]]
description = "Configure post-installation tasks and verification"
includes = ["fragments/installer/post-install-section.toml"]
name = "post_install_group"
title = "Post-Installation Configuration"
type = "group"

# UPGRADES CONFIGURATION
# Auto-upgrade, channels, strategies, pre-checks, backup, rollback, health monitoring
[[items]]
description = "Configure automatic updates and upgrade strategies"
includes = ["fragments/installer/upgrades-section.toml"]
name = "upgrades_group"
title = "Upgrades Configuration"
type = "group"
