# Platform Deployment Mode Configuration Examples # These show how to configure the deployment mode for different infrastructure setups # ═══════════════════════════════════════════════════════════════════════════ # EXAMPLE 1: Local Development (Binary Execution) # ═══════════════════════════════════════════════════════════════════════════ # For local development with binaries in ~/.local/bin # Services are started as individual processes let local_example = { mode = "local", manager = { hostname = "localhost", port = 9090, }, config_dir = "~/.config/provisioning/platform/config", health_checks_enabled = true, startup_timeout = 60, description = "Local development with binaries", } in # ═══════════════════════════════════════════════════════════════════════════ # EXAMPLE 2: Docker Compose # ═══════════════════════════════════════════════════════════════════════════ # For local development with Docker Compose # Services are orchestrated via docker-compose.yml let docker_compose_example = { mode = "docker-compose", manager = { host = "unix:///var/run/docker.sock", api_version = "v1.45", }, config_dir = "~/.config/provisioning/platform/config", health_checks_enabled = true, startup_timeout = 120, description = "Docker Compose local development", } in # ═══════════════════════════════════════════════════════════════════════════ # EXAMPLE 3: Docker Compose (Remote Host) # ═══════════════════════════════════════════════════════════════════════════ # For development on a remote Docker daemon let docker_remote_example = { mode = "docker-compose", manager = { host = "tcp://docker-host.local:2375", api_version = "v1.45", }, config_dir = "~/.config/provisioning/platform/config", health_checks_enabled = true, startup_timeout = 120, description = "Docker Compose on remote daemon", } in # ═══════════════════════════════════════════════════════════════════════════ # EXAMPLE 4: Kubernetes Cluster # ═══════════════════════════════════════════════════════════════════════════ # For production Kubernetes deployment # Services are deployed as K8s objects (Deployments, Services, ConfigMaps, etc.) let kubernetes_example = { mode = "kubernetes", manager = { cluster_name = "production-cluster", api_server = "https://k8s-master.example.com:6443", namespace = "provisioning", kubeconfig_path = "~/.kube/config", ca_cert_path = "/etc/kubernetes/ca.crt", }, config_dir = "~/.config/provisioning/platform/config", health_checks_enabled = true, startup_timeout = 300, description = "Production Kubernetes cluster", } in # ═══════════════════════════════════════════════════════════════════════════ # Default configuration selection (uncomment one to use) # ═══════════════════════════════════════════════════════════════════════════ # Use local development local_example # Use Docker Compose locally # docker_compose_example # Use remote Docker # docker_remote_example # Use Kubernetes # kubernetes_example