80 lines
2.0 KiB
Plaintext
80 lines
2.0 KiB
Plaintext
|
|
# 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"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|