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:
@@ -0,0 +1,109 @@
|
||||
---
|
||||
# Hobbs.farm Infrastructure Inventory
|
||||
# Naming: <location>-<type><function>-<sequence>
|
||||
|
||||
all:
|
||||
vars:
|
||||
ansible_python_interpreter: /usr/bin/python3
|
||||
domain: hobbs.farm
|
||||
timezone: America/Chicago
|
||||
|
||||
# HashiCorp versions
|
||||
nomad_version: "1.7.3"
|
||||
consul_version: "1.17.2"
|
||||
vault_version: "1.15.4"
|
||||
|
||||
# Cluster settings
|
||||
datacenter: hf-dc1
|
||||
|
||||
# Data paths
|
||||
nomad_data_dir: /opt/nomad
|
||||
consul_data_dir: /opt/consul
|
||||
vault_data_dir: /opt/vault
|
||||
|
||||
children:
|
||||
# =========================================
|
||||
# Nomad Cluster
|
||||
# =========================================
|
||||
nomad_servers:
|
||||
hosts:
|
||||
hf-pdocker-01:
|
||||
nomad_server: true
|
||||
nomad_client: true
|
||||
nomad_bootstrap_expect: 1
|
||||
|
||||
nomad_clients:
|
||||
hosts:
|
||||
hf-pdocker-01:
|
||||
nomad_client: true
|
||||
nomad_node_class: "primary"
|
||||
hf-pdocker-02:
|
||||
nomad_client: true
|
||||
nomad_node_class: "secondary"
|
||||
|
||||
# =========================================
|
||||
# Consul Cluster
|
||||
# =========================================
|
||||
consul_servers:
|
||||
hosts:
|
||||
hf-pdocker-01:
|
||||
consul_server: true
|
||||
consul_bootstrap_expect: 1
|
||||
|
||||
consul_clients:
|
||||
hosts:
|
||||
hf-pdocker-01:
|
||||
hf-pdocker-02:
|
||||
|
||||
# =========================================
|
||||
# Vault Cluster
|
||||
# =========================================
|
||||
vault_servers:
|
||||
hosts:
|
||||
hf-pdocker-01:
|
||||
vault_server: true
|
||||
|
||||
# =========================================
|
||||
# Physical Hosts
|
||||
# =========================================
|
||||
physical:
|
||||
children:
|
||||
docker_hosts:
|
||||
hosts:
|
||||
hf-pdocker-01:
|
||||
ansible_host: 192.168.86.192
|
||||
ansible_user: glyptic
|
||||
ansible_become_password: "{{ vault_sudo_password }}"
|
||||
legacy_name: hobbs
|
||||
role: primary
|
||||
|
||||
hf-pdocker-02:
|
||||
ansible_host: 192.168.86.45
|
||||
ansible_user: glyptic
|
||||
ansible_ssh_private_key_file: ~/.ssh/id_docker_server
|
||||
legacy_name: peggy
|
||||
role: secondary
|
||||
status: degraded
|
||||
|
||||
nvr_hosts:
|
||||
hosts:
|
||||
hf-pnvr-01:
|
||||
ansible_host: 192.168.86.181
|
||||
ansible_user: glyptic
|
||||
ansible_ssh_private_key_file: ~/.ssh/id_docker_server
|
||||
legacy_name: bart
|
||||
|
||||
# =========================================
|
||||
# Network & Storage (reference only)
|
||||
# =========================================
|
||||
network:
|
||||
hosts:
|
||||
hf-nfw-01:
|
||||
ansible_host: 192.168.86.1
|
||||
legacy_name: firewalla
|
||||
|
||||
storage:
|
||||
hosts:
|
||||
hf-snas-01:
|
||||
ansible_host: 192.168.86.30
|
||||
legacy_name: nas
|
||||
Reference in New Issue
Block a user