Infrastructure deployment for the Murafiq platform.
Repos must be cloned side by side under the same parent directory:
~/dev/emcode/
├── infra-core/ ← git clone git@github.com:EmcodeTech/infra-core.git
└── deploy-murafiq/ ← this repo
Ansible resolves roles from ../../infra-core/ansible/roles via ansible.cfg.
| Tool | Version |
|---|---|
| Terraform | >= 1.7.0 |
| Ansible | >= 2.14 |
| Python | >= 3.10 |
export PROXMOX_VE_ENDPOINT='https://172.16.1.237:8006/'
export PROXMOX_VE_API_TOKEN='terraform@pve!tf-token=<token>'
export PROXMOX_VE_INSECURE=true
export TF_VAR_ssh_public_key="$(cat ~/.ssh/id_ed25519_devops.pub)"
export TF_VAR_admin_password="<console-password>"
export ANSIBLE_PRIVATE_KEY_FILE=~/.ssh/id_ed25519_devopsmake ansible-deps # installs Ansible collections
make init # initialises Terraformmake plan # show what will be created
make apply # create VMsmake configure-check # dry run — show what would change
make configure # apply base role to all VMsmake configure-tag TAG=firewall # run only firewall tasks
make ssh VM=murafiq-ingestion-01 # SSH into a VM
make outputs # show all VM IPs
make destroy # destroy all VMs (confirmation required)