2019-03-18 15:06:25 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
OS = $(strip $(shell uname -s))
|
|
|
|
ARCH = linux_amd64
|
|
|
|
ifeq ($(OS),Darwin)
|
|
|
|
ARCH = darwin_amd64
|
|
|
|
endif
|
|
|
|
|
|
|
|
PLUGIN_DIR = ~/.terraform.d/plugins
|
|
|
|
|
|
|
|
PROVISIONER_NAME = terraform-provisioner-ansible
|
2019-07-28 23:55:50 +00:00
|
|
|
PROVISIONER_VERSION = v2.3.0
|
2019-03-18 15:06:25 +00:00
|
|
|
PROVISIONER_ARCHIVE = $(PROVISIONER_NAME)-$(subst _,-,$(ARCH))_$(PROVISIONER_VERSION)
|
|
|
|
PROVISIONER_URL = https://github.com/radekg/terraform-provisioner-ansible/releases/download/$(PROVISIONER_VERSION)/$(PROVISIONER_ARCHIVE)
|
|
|
|
|
2020-09-07 19:30:11 +00:00
|
|
|
all: requirements install-provisioner secrets init-terraform
|
2019-07-28 23:55:50 +00:00
|
|
|
@echo "Success!"
|
2019-03-18 15:06:25 +00:00
|
|
|
|
2020-09-07 19:30:11 +00:00
|
|
|
plugins: install-provisioner
|
2019-03-18 15:06:25 +00:00
|
|
|
|
|
|
|
requirements:
|
|
|
|
ansible-galaxy install --ignore-errors --force -r ansible/requirements.yml
|
|
|
|
|
2019-07-28 23:55:50 +00:00
|
|
|
check-unzip:
|
|
|
|
ifeq (, $(shell which unzip))
|
|
|
|
$(error "No unzip in PATH, consider doing apt install unzip")
|
|
|
|
endif
|
2019-03-18 15:06:25 +00:00
|
|
|
|
|
|
|
install-provisioner:
|
|
|
|
if [ ! -e $(PLUGIN_DIR)/$(ARCH)/$(PROVISIONER_NAME)_$(PROVISIONER_VERSION) ]; then \
|
|
|
|
mkdir -p $(PLUGIN_DIR); \
|
|
|
|
wget $(PROVISIONER_URL) -O $(PLUGIN_DIR)/$(ARCH)/$(PROVISIONER_NAME)_$(PROVISIONER_VERSION); \
|
|
|
|
chmod +x $(PLUGIN_DIR)/$(ARCH)/$(PROVISIONER_NAME)_$(PROVISIONER_VERSION); \
|
|
|
|
fi
|
|
|
|
|
2019-07-28 23:55:50 +00:00
|
|
|
init-terraform:
|
|
|
|
terraform init -upgrade=true
|
|
|
|
|
2019-03-18 15:06:25 +00:00
|
|
|
secrets:
|
|
|
|
pass services/consul/ca-crt > ansible/files/consul-ca.crt
|
|
|
|
pass services/consul/ca-key > ansible/files/consul-ca.key
|
|
|
|
pass services/consul/client-crt > ansible/files/consul-client.crt
|
|
|
|
pass services/consul/client-key > ansible/files/consul-client.key
|
2019-07-28 23:55:50 +00:00
|
|
|
echo "Saving secrets to: terraform.tfvars"
|
2020-09-07 19:30:11 +00:00
|
|
|
@echo -e "\
|
2019-03-18 15:06:25 +00:00
|
|
|
# secrets extracted from password-store\n\
|
2020-01-07 20:11:46 +00:00
|
|
|
cloudflare_token = \"$(shell pass cloud/Cloudflare/token)\"\n\
|
|
|
|
cloudflare_email = \"$(shell pass cloud/Cloudflare/email)\"\n\
|
|
|
|
cloudflare_account = \"$(shell pass cloud/Cloudflare/account)\"\n\
|
2019-03-18 15:06:25 +00:00
|
|
|
" > terraform.tfvars
|
|
|
|
|
|
|
|
cleanup:
|
|
|
|
rm -r $(PLUGIN_DIR)/$(ARCHIVE)
|