41 lines
712 B
Makefile
41 lines
712 B
Makefile
|
# Set default target for make > 3.80
|
||
|
.DEFAULT_GOAL := default
|
||
|
|
||
|
# Default make to the deploy target
|
||
|
.PHONY: default
|
||
|
default: deploy
|
||
|
|
||
|
SELECTED_WORKSPACE := $(shell terraform workspace show)
|
||
|
ENV := $(if $(ENV),$(ENV),$(SELECTED_WORKSPACE))
|
||
|
|
||
|
.PHONY: setup
|
||
|
setup:
|
||
|
ifneq ($(SELECTED_WORKSPACE),$(ENV))
|
||
|
ifndef CI
|
||
|
@terraform workspace select $(ENV)
|
||
|
endif
|
||
|
endif
|
||
|
|
||
|
.PHONY: init
|
||
|
init:
|
||
|
@terraform init
|
||
|
|
||
|
.PHONY: plan
|
||
|
plan: setup
|
||
|
@terraform plan \
|
||
|
$(if $(PLAN),--out $(PLAN)) \
|
||
|
$(if $(ENV),--var-file=$(ENV).tfvars) \
|
||
|
$(ARGS)
|
||
|
|
||
|
.PHONY: deploy
|
||
|
deploy: setup
|
||
|
@terraform apply \
|
||
|
$(if $(PLAN),$(PLAN)) \
|
||
|
$(ARGS)
|
||
|
|
||
|
.PHONY: destroy
|
||
|
destroy: setup
|
||
|
@terraform destroy \
|
||
|
$(if $(ENV),--var-file=$(ENV).tfvars) \
|
||
|
$(ARGS)
|