2017-11-13 23:45:38 +00:00
|
|
|
TF_VARFILE=.terraform.cb.json
|
|
|
|
TERRAFORM=./scripts/terraform
|
2017-07-19 00:57:04 +00:00
|
|
|
|
2017-08-26 19:51:12 +00:00
|
|
|
check: generate validate
|
2017-07-23 07:12:54 +00:00
|
|
|
$(MAKE) -C webapp check
|
2017-07-22 20:51:37 +00:00
|
|
|
|
2017-12-20 23:53:09 +00:00
|
|
|
generate: generate-k8s
|
2017-08-26 19:51:12 +00:00
|
|
|
|
2017-11-30 01:37:13 +00:00
|
|
|
run: webapp
|
2017-08-26 19:59:38 +00:00
|
|
|
docker-compose up
|
|
|
|
|
2017-08-26 19:51:12 +00:00
|
|
|
clean:
|
2017-12-20 23:53:09 +00:00
|
|
|
rm -rf k8s/generated
|
2017-08-26 21:30:35 +00:00
|
|
|
docker-compose down || true
|
2017-08-26 19:51:12 +00:00
|
|
|
$(MAKE) -C webapp clean
|
2017-07-19 00:57:04 +00:00
|
|
|
|
2017-08-26 19:51:12 +00:00
|
|
|
|
|
|
|
|
|
|
|
## Handle sub-projects
|
|
|
|
###############################################################
|
|
|
|
webapp:
|
|
|
|
$(MAKE) -C webapp
|
|
|
|
###############################################################
|
|
|
|
|
|
|
|
|
|
|
|
## Terraform
|
|
|
|
###############################################################
|
2017-11-13 23:45:38 +00:00
|
|
|
validate: plans/*.tf tfinit
|
|
|
|
$(TERRAFORM) validate --var-file=$(TF_VARFILE) plans
|
2017-07-23 19:28:19 +00:00
|
|
|
|
2017-11-13 23:45:38 +00:00
|
|
|
plan: validate tfinit
|
|
|
|
$(TERRAFORM) plan --var-file=$(TF_VARFILE) plans
|
2017-07-21 00:00:16 +00:00
|
|
|
|
2017-11-13 23:45:38 +00:00
|
|
|
deploy: plan tfinit
|
|
|
|
$(TERRAFORM) apply --var-file=$(TF_VARFILE) plans
|
|
|
|
|
|
|
|
tfinit: $(TF_VARFILE) ./scripts/tf-init
|
|
|
|
./scripts/tf-init $(TF_VARFILE)
|
2017-12-12 01:21:28 +00:00
|
|
|
$(TF_VARFILE):
|
|
|
|
touch $(TF_VARFILE)
|
2017-08-26 19:51:12 +00:00
|
|
|
###############################################################
|
2017-07-23 19:28:19 +00:00
|
|
|
|
2017-08-26 19:51:12 +00:00
|
|
|
|
|
|
|
## Kubernetes
|
|
|
|
###############################################################
|
2017-07-21 06:31:54 +00:00
|
|
|
generate-k8s: monkeys.txt k8s/generated
|
|
|
|
@for m in $(shell cat monkeys.txt); do \
|
|
|
|
echo ">> Generating kubernetes resources for $$m" ; \
|
|
|
|
cat k8s/jenkins.yaml.template | sed "s/@@USER@@/$$m/" > k8s/generated/$$m.yaml ; \
|
|
|
|
done;
|
|
|
|
|
2017-07-22 20:51:37 +00:00
|
|
|
deploy-k8s: .kube/config generate-k8s
|
2017-07-23 20:23:07 +00:00
|
|
|
@for f in k8s/*.yaml; do \
|
|
|
|
echo ">> Provisioning resources from $$f"; \
|
2017-08-19 15:56:03 +00:00
|
|
|
./scripts/kubectl create -f $$f || true ; \
|
2017-07-23 20:23:07 +00:00
|
|
|
done;
|
2017-07-21 06:31:54 +00:00
|
|
|
@for f in k8s/generated/*.yaml; do \
|
|
|
|
echo ">> Provisioning resources from $$f"; \
|
|
|
|
./scripts/kubectl create -f $$f ; \
|
|
|
|
done;
|
|
|
|
|
2017-07-22 20:51:37 +00:00
|
|
|
.kube/config:
|
|
|
|
./scripts/az acs kubernetes get-credentials \
|
|
|
|
-f ./.kube/config \
|
|
|
|
-n codevaletdev-controlplane \
|
|
|
|
-n codevaletdev-controlplane \
|
|
|
|
-g codevaletdev-controlplane
|
2017-07-21 06:31:54 +00:00
|
|
|
|
|
|
|
k8s/generated:
|
|
|
|
mkdir -p k8s/generated
|
2017-08-26 07:22:53 +00:00
|
|
|
###############################################################
|
|
|
|
|
2017-07-19 01:24:23 +00:00
|
|
|
|
2017-12-20 23:53:09 +00:00
|
|
|
.PHONY: clean all plan validate \
|
2017-11-13 23:53:02 +00:00
|
|
|
deploy generate-k8s deploy-k8s webapp check generate \
|
2017-12-20 23:53:09 +00:00
|
|
|
run tfinit
|