# Basic Server Configuration Example # Shows how to define a simple server with common settings import ..main # Simple web server configuration web_server: main.Server = main.Server { hostname: "web-01" title: "Production Web Server" labels: "env: prod, tier: web, role: frontend" user: "deploy" # Network configuration network_public_ipv4: True network_utility_ipv4: True fix_local_hosts: True # SSH configuration user_ssh_port: 22 # Basic taskservs to install taskservs: [ main.TaskServDef { name: "nginx" install_mode: "library" profile: "production" }, main.TaskServDef { name: "prometheus-node-exporter" install_mode: "server" profile: "monitoring" } ] } # Database server with different configuration db_server: main.Server = main.Server { hostname: "db-01" title: "PostgreSQL Database Server" labels: "env: prod, tier: data, role: database" user: "postgres" # Database servers typically don't need public IPs network_public_ipv4: False network_utility_ipv4: True # Install database-related taskservs taskservs: [ main.TaskServDef { name: "postgresql" install_mode: "server" profile: "production" }, main.TaskServDef { name: "postgres-exporter" install_mode: "library" profile: "monitoring" } ] } # Development server with minimal configuration dev_server: main.Server = main.Server { hostname: "dev-01" title: "Development Server" labels: "env: dev, tier: development" user: "developer" # Development servers can have relaxed settings network_public_ipv4: True delete_lock: False # Allow easy deletion for dev environments taskservs: [ main.TaskServDef { name: "docker" install_mode: "library" profile: "development" } ] }