SERVER ?= "192.168.2.41" SSH_USER = iamthefij SSH_KEY = ~/.ssh/id_ed25519 .PHONY: rm-nomad rm-nomad: hashi-up nomad uninstall \ --ssh-target-addr $(SERVER) \ --ssh-target-key $(SSH_KEY) \ --ssh-target-user $(SSH_USER) \ --ssh-target-sudo-pass $(SSH_TARGET_SUDO_PASS) .PHONY: nomad-up nomad-up: hashi-up nomad install \ --ssh-target-addr $(SERVER) \ --ssh-target-key $(SSH_KEY) \ --ssh-target-user $(SSH_USER) \ --ssh-target-sudo-pass $(SSH_TARGET_SUDO_PASS) \ --server --client hashi-up nomad start \ --ssh-target-addr $(SERVER) \ --ssh-target-key $(SSH_KEY) \ --ssh-target-user $(SSH_USER) \ --ssh-target-sudo-pass $(SSH_TARGET_SUDO_PASS) .PHONY: rm-consul rm-consul: hashi-up consul uninstall \ --ssh-target-addr $(SERVER) \ --ssh-target-key $(SSH_KEY) \ --ssh-target-user $(SSH_USER) \ --ssh-target-sudo-pass $(SSH_TARGET_SUDO_PASS) .PHONY: consul-up consul-up: hashi-up consul install \ --ssh-target-addr $(SERVER) \ --ssh-target-key $(SSH_KEY) \ --ssh-target-user $(SSH_USER) \ --ssh-target-sudo-pass $(SSH_TARGET_SUDO_PASS) \ --advertise-addr $(SERVER) \ --client-addr 0.0.0.0 \ --http-addr 0.0.0.0 \ --connect \ --server hashi-up consul start \ --ssh-target-addr $(SERVER) \ --ssh-target-key $(SSH_KEY) \ --ssh-target-user $(SSH_USER) \ --ssh-target-sudo-pass $(SSH_TARGET_SUDO_PASS) .PHONY: cluster cluster: ansible-cluster venv/bin/ansible: python3 -m venv venv ./venv/bin/pip install ansible python-consul hvac .PHONY: galaxy galaxy: venv/bin/ansible ./venv/bin/ansible-galaxy install -p roles -r roles/requirements.yml ./venv/bin/ansible-galaxy collection install -r collections/requirements.yml .PHONY: ansible-cluster ansible-cluster: venv/bin/ansible galaxy env VIRTUAL_ENV=/Users/ifij/workspace/iamthefij/orchestration-tests/nomad/venv ./venv/bin/ansible-playbook -K -vv \ $(shell test -f vault-keys.json && echo '-e "@vault-keys.json"') \ -i ansible_hosts.yml -M ./roles ./setup-cluster.yml .PHONY: bootstrap-values bootstrap-values: venv/bin/ansible galaxy env VIRTUAL_ENV=/Users/ifij/workspace/iamthefij/orchestration-tests/nomad/venv ./venv/bin/ansible-playbook -vv \ $(shell test -f vault-keys.json && echo '-e "@vault-keys.json"') \ -i ansible_hosts.yml -M ./roles ./bootstrap-values.yml .PHONY: unseal-vault unseal-vault: venv/bin/ansible galaxy env VIRTUAL_ENV=/Users/ifij/workspace/iamthefij/orchestration-tests/nomad/venv ./venv/bin/ansible-playbook -K -vv \ -e "@vault-keys.json" -i ansible_hosts.yml -M ./roles ./unseal-vault.yml .PHONY: init init: @terraform init .PHONY: plan plan: @terraform plan \ -var "nomad_secret_id=$(shell jq -r .SecretID nomad_bootstrap.json)" \ -var "vault_token=$(shell jq -r .root_token vault-keys.json)" .PHONY: apply apply: @terraform apply \ -var "nomad_secret_id=$(shell jq -r .SecretID nomad_bootstrap.json)" \ -var "vault_token=$(shell jq -r .root_token vault-keys.json)" # Install CNI on hosts? # curl -L -o cni-plugins.tgz "https://github.com/containernetworking/plugins/releases/download/v1.0.0/cni-plugins-linux-$( [ $(uname -m) = aarch64 ] && echo arm64 || echo amd64)"-v1.0.0.tgz # sudo mkdir -p /opt/cni/bin # sudo tar -C /opt/cni/bin -xzf cni-plugins.tgz