1
1
SHELL := /bin/bash
2
+ CLUSTER_HOST := ltc.makeitwork.cloud
2
3
OPENSHIFT := $(shell which oc)
3
4
TERRAFORM := $(shell which terraform)
4
5
ARGOCD_URL := $(shell sops decrypt secrets/secrets.yaml | grep argocd_url | cut -d ' ' -f 2)
31
32
@echo " \tpre-commit-check-deps: check pre-commit dependencies"
32
33
@echo
33
34
35
+ check-context :
36
+ @if [[ " ${CONTEXT} " == * " ${DESIRED_CONTEXT} " * ]]; then echo " Context check passed" ; else echo " Context check failed" && exit 1; fi
37
+
34
38
clean :
35
39
@find . -name .terraform -type d | xargs -I {} rm -rf {}
36
40
@@ -40,18 +44,25 @@ init: check-context clean .terraform/terraform.tfstate
40
44
@${OPENSHIFT} get project ${OPENSHIFT_TF_NAMESPACE} > /dev/null 2>&1 || ${OPENSHIFT} new-project ${OPENSHIFT_TF_NAMESPACE}
41
45
@${TERRAFORM} init -reconfigure -upgrade -input=false -backend-config=" host=https://${OPENSHIFT_API_URL} " -backend-config=" namespace=${OPENSHIFT_TF_NAMESPACE} "
42
46
43
- plan : init .terraform/plan
47
+ plan : ansible-check init .terraform/plan
44
48
45
49
.terraform/plan :
46
- @${TERRAFORM} state show kubernetes_manifest.openshift_gitops_subscription > /dev/null 2>&1 && ${TERRAFORM} plan -compact-warnings -out .terraform/plan || ${TERRAFORM} plan -compact-warnings -out .terraform/plan -target kubernetes_manifest.openshift_gitops_subscription
50
+ @${TERRAFORM} plan -compact-warnings -out .terraform/plan
47
51
48
- initial-deployment-apply :
49
- @${TERRAFORM} state show kubernetes_manifest.openshift_gitops_subscription > /dev/null 2>&1 || ( echo " INITIAL DEPLOYMENT" && ${TERRAFORM} apply -auto-approve -compact-warnings -target kubernetes_manifest.openshift_gitops_subscription .terraform/plan && rm -f .terraform/plan && echo " WAITING FOR GITOPS DEPLOYMENT" && while true ; do oc get argocd -n openshift-gitops openshift-gitops > /dev/null 2>&1 && sleep 10 && break ; sleep 2; done && oc apply -k kustomize && echo " WAITING FOR CHANGES TO BE DEPLOYED" && while true ; do oc get argocd openshift-gitops -n openshift-gitops -o yaml | grep KSOPS > /dev/null 2>&1 && sleep 10 && break ; sleep 2; done && ${TERRAFORM} plan -compact-warnings -out .terraform/plan )
52
+ ansible-check :
53
+ @rm -rf ~ /.ansible > /dev/null 2>&1
54
+ @ansible-galaxy install -r ansible/requirements.yml
55
+ @ansible/site.yml -i " ${CLUSTER_HOST} ," -C --diff
50
56
51
- apply : test plan initial-deployment-apply
57
+ apply : ansible-init test plan
52
58
@${TERRAFORM} apply -auto-approve -compact-warnings .terraform/plan
53
59
@rm -f .terraform/plan
54
60
61
+ ansible-init :
62
+ @rm -rf ~ /.ansible > /dev/null 2>&1
63
+ @ansible-galaxy install -r ansible/requirements.yml
64
+ @ansible/site.yml -i " ${CLUSTER_HOST} ,"
65
+
55
66
test : check-context .git/hooks/pre-commit
56
67
@pre-commit run -a
57
68
@@ -74,19 +85,18 @@ pre-commit-install-hooks: .git/hooks/pre-commit
74
85
.git/hooks/pre-commit : pre-commit-check-deps
75
86
@pre-commit install --install-hooks
76
87
77
- check-context :
78
- @ if [[ " ${CONTEXT} " == * " ${DESIRED_CONTEXT} " * ]]; then echo " Context check passed" ; else echo " Context check failed" && exit 1; fi
79
88
80
89
argocd-password :
81
- @ ${OPENSHIFT} get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath=' {.data.admin\.password}' | base64 -d
82
- @ echo
90
+ @${OPENSHIFT} get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath=' {.data.admin\.password}' | base64 -d
91
+ @echo
83
92
84
93
password : argocd-password
85
94
86
95
argocd-login :
87
- @ argocd login --skip-test-tls --insecure --username admin --password " $( shell ${OPENSHIFT} get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath=' {.data.admin\.password}' | base64 -d) " ${ARGOCD_URL}
96
+ @argocd login --skip-test-tls --insecure --username admin --password " $( shell ${OPENSHIFT} get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath=' {.data.admin\.password}' | base64 -d) " ${ARGOCD_URL}
88
97
89
98
argocd-sync : argocd-login
90
- @ argocd app sync gitops-configs
99
+ @argocd app sync gitops-configs
91
100
92
101
sync : argocd-sync
102
+
0 commit comments