make-deploy/k8s.mk

36 lines
731 B
Makefile

# k8s
#
# deploys k8s
MANDATORY-k8s = K8S_CONTEXT
k8s_fetch_manifest = \
if [ $(1) == "http*" ]; then \
curl -o $(2) $(1) \
else \
cp $(1) $(2) \
fi
start-k8s:
@- echo "\n### starting deployment with k8s"
@- echo "\n### setting kubernetes context to $(K8S_CONTEXT)"
@ kubectl config use-context $(K8S_CONTEXT)
@- echo "\n### run kubectl apply -f kubernetes.yaml and secrets.yaml"
@- cat kubernetes.yaml secrets.yaml >_manifest.yaml
ifdef K8S_MANIFESTS
@- $(foreach file,$(K8S_MANIFESTS), \
$(call k8s_fetch_manifest($(file),"_tmpfile.yaml")); \
cat _tmpfile.yaml >>_manifest.yaml; \
rm _tmpfile.yaml; \
)
endif
@ cat _manifest.yaml | envsubst | kubectl apply -f -
@- rm _manifest.yaml
pull-k8s:
# nop