# Installer Services Selection Fragment

[[elements]]
border_top = true
border_bottom = false
name = "services_section_header"
title = "🚀 Services Selection"
type = "section_header"

[[elements]]
default = true
help = "Install Orchestrator (workflow engine and task scheduling)"
name = "install_orchestrator"
nickel_path = ["installer", "services", "orchestrator", "enabled"]
prompt = "Install Orchestrator"
type = "confirm"

[[elements]]
default = true
help = "Install Control Center (policy and RBAC management)"
name = "install_control_center"
nickel_path = ["installer", "services", "control_center", "enabled"]
prompt = "Install Control Center"
type = "confirm"

[[elements]]
default = true
help = "Install MCP Server (Model Context Protocol interface)"
name = "install_mcp_server"
nickel_path = ["installer", "services", "mcp_server", "enabled"]
prompt = "Install MCP Server"
type = "confirm"

[[elements]]
default = false
help = "Install AI Service (AI model integration and inference)"
name = "install_ai_service"
nickel_path = ["installer", "services", "ai_service", "enabled"]
prompt = "Install AI Service"
type = "confirm"

[[elements]]
default = false
help = "Install Vault Service (secrets and KMS management)"
name = "install_vault_service"
nickel_path = ["installer", "services", "vault_service", "enabled"]
prompt = "Install Vault Service"
type = "confirm"

[[elements]]
default = false
help = "Install RAG Service (retrieval-augmented generation)"
name = "install_rag_service"
nickel_path = ["installer", "services", "rag_service", "enabled"]
prompt = "Install RAG Service"
type = "confirm"

[[elements]]
default = false
help = "Install Extension Registry (OCI registry for extensions)"
name = "install_extension_registry"
nickel_path = ["installer", "services", "extension_registry", "enabled"]
prompt = "Install Extension Registry"
type = "confirm"

[[elements]]
default = false
help = "Install Detector Service (system monitoring and detection)"
name = "install_detector"
nickel_path = ["installer", "services", "detector", "enabled"]
prompt = "Install Detector"
type = "confirm"

[[elements]]
default = false
help = "Install API Gateway (request routing and load balancing)"
name = "install_api_gateway"
nickel_path = ["installer", "services", "api_gateway", "enabled"]
prompt = "Install API Gateway"
type = "confirm"

[[elements]]
default = false
help = "Install monitoring stack (Prometheus, Grafana, Loki)"
name = "install_monitoring_stack"
nickel_path = ["installer", "services", "monitoring_stack", "enabled"]
prompt = "Install Monitoring Stack"
type = "confirm"

# Service Dependencies and Configuration
[[elements]]
condition = "install_orchestrator == true"
default = true
help = "Start Orchestrator immediately after installation"
name = "orchestrator_auto_start"
nickel_path = ["installer", "services", "orchestrator", "auto_start"]
prompt = "Orchestrator Auto-Start"
type = "confirm"

[[elements]]
condition = "install_control_center == true"
default = true
help = "Start Control Center immediately after installation"
name = "control_center_auto_start"
nickel_path = ["installer", "services", "control_center", "auto_start"]
prompt = "Control Center Auto-Start"
type = "confirm"

[[elements]]
condition = "install_mcp_server == true"
default = true
help = "Start MCP Server immediately after installation"
name = "mcp_server_auto_start"
nickel_path = ["installer", "services", "mcp_server", "auto_start"]
prompt = "MCP Server Auto-Start"
type = "confirm"

# Service Ports Configuration
[[elements]]
condition = "install_orchestrator == true"
default = 9090
help = "Port for Orchestrator service (range: ${constraint.common.server.port.min}-${constraint.common.server.port.max})"
max = "${constraint.common.server.port.max}"
min = "${constraint.common.server.port.min}"
name = "orchestrator_port"
nickel_path = ["installer", "services", "orchestrator", "port"]
prompt = "Orchestrator Port"
type = "number"

[[elements]]
condition = "install_control_center == true"
default = 8080
help = "Port for Control Center service (range: ${constraint.common.server.port.min}-${constraint.common.server.port.max})"
max = "${constraint.common.server.port.max}"
min = "${constraint.common.server.port.min}"
name = "control_center_port"
nickel_path = ["installer", "services", "control_center", "port"]
prompt = "Control Center Port"
type = "number"

[[elements]]
condition = "install_mcp_server == true"
default = 8000
help = "Port for MCP Server service (range: ${constraint.common.server.port.min}-${constraint.common.server.port.max})"
max = "${constraint.common.server.port.max}"
min = "${constraint.common.server.port.min}"
name = "mcp_server_port"
nickel_path = ["installer", "services", "mcp_server", "port"]
prompt = "MCP Server Port"
type = "number"

[[elements]]
condition = "install_api_gateway == true"
default = 8443
help = "Port for API Gateway service (range: ${constraint.common.server.port.min}-${constraint.common.server.port.max})"
max = "${constraint.common.server.port.max}"
min = "${constraint.common.server.port.min}"
name = "api_gateway_port"
nickel_path = ["installer", "services", "api_gateway", "port"]
prompt = "API Gateway Port"
type = "number"

# Service Update Strategy
[[elements]]
default = "rolling"
help = "Strategy for updating services during installation"
name = "service_update_strategy"
nickel_path = ["installer", "services", "update_strategy"]
options = ["rolling", "blue_green", "canary"]
prompt = "Service Update Strategy"
type = "select"

[[elements]]
default = false
help = "Enable health checks between service updates"
name = "enable_health_checks"
nickel_path = ["installer", "services", "health_checks", "enabled"]
prompt = "Enable Health Checks"
type = "confirm"

[[elements]]
condition = "enable_health_checks == true"
default = 30
help = "Health check interval in seconds"
min = 5
name = "health_check_interval"
nickel_path = ["installer", "services", "health_checks", "interval_seconds"]
prompt = "Health Check Interval (seconds)"
type = "number"
