mirror of
https://github.com/status-im/infra-logos.git
synced 2026-08-27 10:41:10 +00:00
Changes from infra-template: - cd0c9ba - nix: ugrade from Ansible 2.17 to 2.18 - 2e0d34e - nix: bump nixpkgs input to nixos.25.11 - 9d588ae - vault: cleanup cache dir based on file prefix - bb7e87b - vault: put cache in SECRETS_DIR by default - 339c9d3 - flake: support adding optional pkgs.nix - daefaa9 - flake: add pysocks python package for proxy support - 9b1c8d5 - switch from pass to gopass Signed-off-by: Jakub Sokołowski <jakub@status.im>
86 lines
2.4 KiB
Makefile
86 lines
2.4 KiB
Makefile
# Colors
|
|
YLW = \033[1;33m
|
|
RED = \033[0;31m
|
|
GRN = \033[0;32m
|
|
BLU = \033[0;34m
|
|
BLD = \033[1m
|
|
RST = \033[0m
|
|
|
|
OS = $(shell uname -s | tr A-Z a-z)
|
|
ARCH = "${OS}-$(shell uname -m)"
|
|
|
|
ifeq ($(OS),darwin)
|
|
PROVISIONER_SHA1 = bd688a503f526beedaf6ef5d2dba1128051573b6
|
|
else
|
|
PROVISIONER_SHA1 = 1cbdf2bafe9e968a039264a6d3e6b58a2d2576eb
|
|
endif
|
|
|
|
TF_PLUGINS_DIR = $(HOME)/.terraform.d/plugins
|
|
|
|
PROVISIONER_NAME = terraform-provisioner-ansible
|
|
PROVISIONER_VERSION = v2.5.1
|
|
PROVISIONER_ARCHIVE = $(PROVISIONER_NAME)-$(ARCH)-$(PROVISIONER_VERSION)
|
|
PROVISIONER_URL = https://github.com/status-im/terraform-provisioner-ansible/releases/download/$(PROVISIONER_VERSION)/$(PROVISIONER_ARCHIVE)
|
|
PROVISIONER_PATH = $(TF_PLUGINS_DIR)/$(PROVISIONER_NAME)
|
|
|
|
all: roles-install install-provisioner init-terraform checks
|
|
@echo "Success!"
|
|
|
|
roles-install:
|
|
@ansible/roles.py --install
|
|
|
|
roles-check:
|
|
@ansible/roles.py --check || \
|
|
echo -e '\n$(YLW)WARNING: Local role versions appear to be incorrect.$(RST)' >&2
|
|
|
|
roles-update:
|
|
@ansible/roles.py --update
|
|
|
|
roles: roles-install roles-check
|
|
|
|
$(PROVISIONER_PATH):
|
|
@mkdir -p $(TF_PLUGINS_DIR)/$(ARCH); \
|
|
wget -q $(PROVISIONER_URL) -O $(PROVISIONER_PATH); \
|
|
chmod +x $(PROVISIONER_PATH); \
|
|
|
|
install-provisioner: $(PROVISIONER_PATH)
|
|
@echo "$(PROVISIONER_SHA1) $(PROVISIONER_PATH)" | shasum -c \
|
|
|| rm -v $(PROVISIONER_PATH)
|
|
|
|
secrets:
|
|
rm -fr $(SECRETS_DIR)
|
|
direnv reload
|
|
|
|
init-terraform: consul-check
|
|
terraform init -upgrade=true
|
|
|
|
cleanup:
|
|
rm -r $(TF_PLUGINS_DIR)/$(ARCHIVE)
|
|
|
|
consul-check:
|
|
ifndef CONSUL_HTTP_TOKEN
|
|
@echo -e "$(RED)$(BLD)ERROR: No CONSUL_HTTP_TOKEN env variable set!$(RST)"; exit 1
|
|
endif
|
|
|
|
vault-check:
|
|
ifndef VAULT_TOKEN
|
|
@echo -e "$(RED)$(BLD)ERROR: No VAULT_TOKEN env variable set!$(RST)"; exit 1
|
|
endif
|
|
|
|
DIRENV_LOADED ?= $(shell direnv status --json | jq .state.loadedRC.allowed)
|
|
direnv-check:
|
|
@if [[ "$(DIRENV_LOADED)" -ne 0 ]] && [[ -z "$${DIRENV_IN_ENVRC}" ]]; then \
|
|
echo -e "$(YLW)WARNING: This repo assumes use of Direnv:$(RST)" \
|
|
"$(BLD)"'eval "$$(direnv hook zsh)"; direnv allow'"$(RST)"; \
|
|
fi
|
|
|
|
pass-check:
|
|
@gopass --nosync git fetch -q > /dev/null
|
|
@gopass --nosync git status | grep -q 'Your branch is up to date with' || \
|
|
echo -e '$(YLW)WARNING: infra-pass is not up to date with its remote.$(RST)'
|
|
|
|
checks: roles-check direnv-check consul-check vault-check pass-check
|
|
@echo -e "\n$(GRN)$(BLD)WELCOME BACK, COMMANDER$(RST)"
|
|
|
|
.PHONY = checks roles-check direnv-check consul-check vault-check
|