diff --git a/.gitignore b/.gitignore index 2a72f97..7eec3fd 100644 --- a/.gitignore +++ b/.gitignore @@ -36,4 +36,5 @@ tags # End of https://www.gitignore.io/api/vim,code .env +kubectl/ build/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a971be6 --- /dev/null +++ b/Makefile @@ -0,0 +1,43 @@ +KUSTOMIZE = docker run -v $(HOME)/.aws:/root/.aws:ro -v $(PWD):/host:ro -w /host badjware/kustomize-plugins:latest +KUSTOMIZEFLAGS = --enable_alpha_plugins + +KUBECTL = kubectl +KUBECTLFLAGS = +KUBECTLDIFFFLAGS = --server-side +KUBECTLAPPLYFLAGS = -l managed-by=kustomize --prune + +SRC := $(shell find kustomize/ -type f) +OUTDIR = build/ + +ifeq ($(environment),prod) + # prod + KUSTOMIZEDIR = kustomize/environment/prod + KUSTOMIZEOUT = $(OUTDIR)/prod/out.yaml +else + # dev + environment = dev + KUBECTLFLAGS += --kubeconfig kubectl/kubeconfig.yaml + KUSTOMIZEDIR = kustomize/environment/dev + KUSTOMIZEOUT = $(OUTDIR)/dev/out.yaml +endif + +.PHONY: info clean diff apply + +all: info $(KUSTOMIZEOUT) + +info: + @echo "Building for" $(environment) + +clean: + rm -r $(OUTDIR) + +$(KUSTOMIZEOUT): $(SRC) + @mkdir -p $(dir $(KUSTOMIZEOUT)) + $(KUSTOMIZE) build $(KUSTOMIZEFLAGS) $(KUSTOMIZEDIR) >$(KUSTOMIZEOUT) || rm $(KUSTOMIZEOUT) + +diff: $(KUSTOMIZEOUT) + $(KUBECTL) $(KUBECTLFLAGS) diff $(KUBECTLDIFFFLAGS) -f $(KUSTOMIZEOUT) + +apply: $(KUSTOMIZEOUT) + $(KUBECTL) $(KUBECTLFLAGS) apply $(KUBECTLAPPLYFLAGS) -f $(KUSTOMIZEOUT) + diff --git a/docker-compose.yml b/docker-compose.yml index fbb81bf..d3fda68 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,7 +15,6 @@ services: volumes: - k3s_data:/var/lib/rancher/k3s - .:/host - - ./manifests:/var/lib/rancher/k3s/server/manifests/host ports: - 80:80 - 443:443