2019-03-20 12:35:05 +00:00
|
|
|
OS = $(strip $(shell uname -s))
|
2021-02-23 12:24:47 +00:00
|
|
|
|
2019-03-20 12:35:05 +00:00
|
|
|
ifeq ($(OS),Darwin)
|
2021-02-23 12:24:47 +00:00
|
|
|
ARCH = darwin_amd64
|
2021-03-11 09:39:53 +00:00
|
|
|
PROVISIONER_SHA1 = bd688a503f526beedaf6ef5d2dba1128051573b6
|
2021-02-23 12:24:47 +00:00
|
|
|
else
|
|
|
|
ARCH = linux_amd64
|
2021-03-11 09:39:53 +00:00
|
|
|
PROVISIONER_SHA1 = da9cdf019d8f860a6e417257d81b1b21aceba7b7
|
2019-03-20 12:35:05 +00:00
|
|
|
endif
|
|
|
|
|
2021-02-23 12:24:47 +00:00
|
|
|
TF_PLUGINS_DIR = $(HOME)/.terraform.d/plugins
|
2019-03-20 12:35:05 +00:00
|
|
|
|
|
|
|
PROVISIONER_NAME = terraform-provisioner-ansible
|
2021-02-23 12:24:47 +00:00
|
|
|
PROVISIONER_VERSION = v2.5.0
|
2019-03-20 12:35:05 +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)
|
2021-02-23 12:24:47 +00:00
|
|
|
PROVISIONER_PATH = $(TF_PLUGINS_DIR)/$(ARCH)/$(PROVISIONER_NAME)_$(PROVISIONER_VERSION)
|
2019-03-20 12:35:05 +00:00
|
|
|
|
2020-09-07 21:25:32 +00:00
|
|
|
all: requirements install-provisioner secrets init-terraform
|
2019-07-29 02:35:57 +00:00
|
|
|
@echo "Success!"
|
2019-03-20 12:35:05 +00:00
|
|
|
|
2021-05-10 13:29:38 +00:00
|
|
|
requirements-install:
|
2021-04-09 06:18:59 +00:00
|
|
|
ansible-galaxy install --keep-scm-meta --ignore-errors --force -r ansible/requirements.yml
|
|
|
|
|
|
|
|
requirements-check:
|
|
|
|
ansible/versioncheck.py
|
2019-03-20 12:35:05 +00:00
|
|
|
|
2021-05-10 13:29:38 +00:00
|
|
|
requirements: requirements-install requirements-check
|
|
|
|
|
2021-02-23 12:24:47 +00:00
|
|
|
$(PROVISIONER_PATH):
|
|
|
|
@mkdir -p $(TF_PLUGINS_DIR)/$(ARCH); \
|
|
|
|
wget -q $(PROVISIONER_URL) -O $(PROVISIONER_PATH); \
|
|
|
|
chmod +x $(PROVISIONER_PATH); \
|
2019-03-20 12:35:05 +00:00
|
|
|
|
2021-02-23 12:24:47 +00:00
|
|
|
install-provisioner: $(PROVISIONER_PATH)
|
2021-03-11 09:39:53 +00:00
|
|
|
@echo "$(PROVISIONER_SHA1) $(PROVISIONER_PATH)" | shasum -c \
|
2021-02-23 12:24:47 +00:00
|
|
|
|| rm -v $(PROVISIONER_PATH)
|
2019-07-29 02:35:57 +00:00
|
|
|
|
2020-09-26 14:28:34 +00:00
|
|
|
secrets:
|
2019-03-20 12:35:05 +00:00
|
|
|
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
|
2020-05-25 16:49:07 +00:00
|
|
|
|
2021-02-23 12:24:47 +00:00
|
|
|
init-terraform:
|
|
|
|
terraform init -upgrade=true
|
|
|
|
|
2019-03-20 12:35:05 +00:00
|
|
|
cleanup:
|
2021-02-23 12:24:47 +00:00
|
|
|
rm -r $(TF_PLUGINS_DIR)/$(ARCHIVE)
|
2021-01-25 20:45:35 +00:00
|
|
|
|
|
|
|
ssh-config: export SSH_CONFIG_DIR ?= $(HOME)/.ssh/config.d
|
|
|
|
ssh-config: export SSH_CONFIG_FILE ?= infra-nimbus
|
|
|
|
ssh-config: export SSH_USERNAME ?= $(USER)
|
|
|
|
ssh-config:
|
|
|
|
scripts/create-ssh-config.sh
|