Initial IaC setup: Nomad, Consul, Terraform, Ansible

- Ansible roles for Nomad and Consul installation
- Nomad job specs for Traefik and monitoring stack
- Terraform configuration for Nomad job management
- Enterprise naming convention inventory
- HashiCorp stack deployment playbook
This commit is contained in:
2026-02-04 08:52:08 -06:00
commit 3d3c1af237
15 changed files with 998 additions and 0 deletions
@@ -0,0 +1,34 @@
# Nomad Client Configuration
client {
enabled = true
node_class = "{{ nomad_node_class | default('default') }}"
# Resource reservations
reserved {
cpu = 500
memory = 512
}
# Host volumes for persistent data
host_volume "docker-data" {
path = "/mnt/nas/docker"
read_only = false
}
host_volume "media" {
path = "/mnt/nas/media"
read_only = false
}
# Meta information
meta {
"rack" = "{{ rack | default('rack-1') }}"
"datacenter" = "{{ datacenter }}"
"legacy_name" = "{{ legacy_name | default('unknown') }}"
}
# Network interface
network_interface = "{{ ansible_default_ipv4.interface | default('eth0') }}"
}