diff --git a/k8s.mk b/k8s.mk index 37f712c..c965a5d 100644 --- a/k8s.mk +++ b/k8s.mk @@ -4,13 +4,31 @@ 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 | envsubst | kubectl apply -f - + @- 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