1
0
Fork 0

reorganize kustomize

This commit is contained in:
Massaki Archambault 2020-08-01 21:49:55 -04:00
parent 318e766cab
commit 6b0510e8fc
58 changed files with 74 additions and 144 deletions

View File

@ -9,25 +9,33 @@ KUBECTLAPPLYFLAGS = -l managed-by=kustomize --prune
SRC := $(shell find kustomize/ -type f) SRC := $(shell find kustomize/ -type f)
OUTDIR = build OUTDIR = build
# all environments
KUSTOMIZEDIRALL = kustomize/environment/all
KUSTOMIZEOUTALL = $(OUTDIR)/all/manifest.yaml
ifeq ($(environment),prod) ifeq ($(environment),prod)
environment = prod
# prod # prod
KUSTOMIZEDIR = kustomize/environment/prod KUSTOMIZEDIR = kustomize/overlays/prod
KUSTOMIZEOUT = $(OUTDIR)/prod/manifest.yaml KUSTOMIZEOUT = $(OUTDIR)/$(environment)/manifest.yaml
# base-deploy
KUSTOMIZEDIRALL = kustomize/overlays/prod-base-deploy
KUSTOMIZEOUTALL = $(OUTDIR)/$(environment)/base-deploy.yaml
else else
# dev
environment = dev environment = dev
KUBECTLFLAGS += --kubeconfig kubectl/kubeconfig.yaml
KUSTOMIZEDIR = kustomize/environment/dev # dev
KUSTOMIZEOUT = $(OUTDIR)/dev/manifest.yaml #KUBECTLFLAGS += --kubeconfig kubectl/kubeconfig.yaml
KUSTOMIZEDIR = kustomize/overlays/dev
KUSTOMIZEOUT = $(OUTDIR)/$(environment)/manifest.yaml
# base-deploy
KUSTOMIZEDIRALL = kustomize/overlays/dev-base-deploy
KUSTOMIZEOUTALL = $(OUTDIR)/$(environment)/base-deploy.yaml
endif endif
.PHONY: info clean diff apply .PHONY: all info base-deploy clean diff apply
all: info $(KUSTOMIZEOUT) all: info base-deploy $(KUSTOMIZEOUT)
info: info:
@echo "Building for" $(environment) @echo "Building for" $(environment)
@ -35,10 +43,12 @@ info:
clean: clean:
rm -r $(OUTDIR) rm -r $(OUTDIR)
$(KUSTOMIZEOUT): $(SRC) base-deploy: $(SRC)
@mkdir -p $(dir $(KUSTOMIZEOUTALL)) @mkdir -p $(dir $(KUSTOMIZEOUTALL))
@mkdir -p $(dir $(KUSTOMIZEOUT))
$(KUSTOMIZE) build $(KUSTOMIZEFLAGS) $(KUSTOMIZEDIRALL) >$(KUSTOMIZEOUTALL) || (rm $(KUSTOMIZEOUTALL); exit 1) $(KUSTOMIZE) build $(KUSTOMIZEFLAGS) $(KUSTOMIZEDIRALL) >$(KUSTOMIZEOUTALL) || (rm $(KUSTOMIZEOUTALL); exit 1)
$(KUSTOMIZEOUT): $(SRC)
@mkdir -p $(dir $(KUSTOMIZEOUT))
$(KUSTOMIZE) build $(KUSTOMIZEFLAGS) $(KUSTOMIZEDIR) >$(KUSTOMIZEOUT) || (rm $(KUSTOMIZEOUT); exit 1) $(KUSTOMIZE) build $(KUSTOMIZEFLAGS) $(KUSTOMIZEDIR) >$(KUSTOMIZEOUT) || (rm $(KUSTOMIZEOUT); exit 1)
diff: $(KUSTOMIZEOUT) diff: $(KUSTOMIZEOUT)
@ -46,4 +56,3 @@ diff: $(KUSTOMIZEOUT)
apply: $(KUSTOMIZEOUT) apply: $(KUSTOMIZEOUT)
$(KUBECTL) $(KUBECTLFLAGS) apply $(KUBECTLAPPLYFLAGS) -f $(KUSTOMIZEOUT) $(KUBECTL) $(KUBECTLFLAGS) apply $(KUBECTLAPPLYFLAGS) -f $(KUSTOMIZEOUT)

View File

@ -24,8 +24,8 @@ services:
- manifests:/var/lib/rancher/k3s/server/manifests/manifests:ro - manifests:/var/lib/rancher/k3s/server/manifests/manifests:ro
- .:/host - .:/host
ports: ports:
- 80:30080 - 80:80
- 443:30443 - 443:443
- 6443:6443 - 6443:6443
agent: agent:
image: rancher/k3s image: rancher/k3s

View File

@ -1,5 +0,0 @@
generators:
- cert-manager.yaml
commonlabels:
app: cert-manager

View File

@ -1,11 +0,0 @@
generators:
- nginx-ingress-controller.yaml
patchesStrategicMerge:
- nginx-ingress-controller-nodeselector-patch.yaml
- nginx-ingress-controller-nodeport-patch.yaml
namespace: ingress-nginx
commonlabels:
app: ingress-nginx

View File

@ -1,12 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
externalTrafficPolicy: Local
ports:
- port: 80
nodePort: 30080
- port: 443
nodePort: 30443

View File

@ -1,10 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: ingress-nginx-controller
namespace: ingress-nginx
spec:
template:
spec:
nodeSelector:
node-role.kubernetes.io/master: "true"

View File

@ -1,10 +0,0 @@
resources:
- nfs-provisionner-storageclass.yaml
generators:
- nfs-provisionner.yaml
namespace: kube-system
patchesStrategicMerge:
- nfs-provisionner-deployment-patch.yaml

View File

@ -1,15 +0,0 @@
kind: Deployment
apiVersion: apps/v1
metadata:
name: nfs-provisioner
spec:
template:
spec:
containers:
- name: nfs-provisioner
args:
- "-provisioner=badjware.dev/nfs"
volumes:
- name: export-volume
hostPath:
path: /srv/nfs

View File

@ -1,9 +0,0 @@
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: nfs
annotations:
storageclass.beta.kubernetes.io/is-default-class: "true"
provisioner: badjware.dev/nfs
mountOptions:
- vers=4.1

View File

@ -1,9 +0,0 @@
apiVersion: badjware/v1
kind: RemoteResources
metadata:
name: nfs-provisionner
resources:
- url: https://raw.githubusercontent.com/kubernetes-incubator/external-storage/master/nfs/deploy/kubernetes/deployment.yaml
sha256: fead9be4f0fd1b2e2f9780a47a6f2b3a7a552ea9d9e526654bb0ac1f263718ac
- url: https://raw.githubusercontent.com/kubernetes-incubator/external-storage/master/nfs/deploy/kubernetes/rbac.yaml
sha256: cb4075fac2084d477cb2384e39075217bf672627a3edb58c100307b500879846

View File

@ -3,5 +3,5 @@ kind: RemoteResources
metadata: metadata:
name: cert-manager name: cert-manager
resources: resources:
- url: https://github.com/jetstack/cert-manager/releases/download/v0.15.0/cert-manager.yaml - url: https://github.com/jetstack/cert-manager/releases/download/v0.16.0/cert-manager.yaml
sha256: 255a558beaa4009f43aaf7f9aeadac9beca7b4e0d58c9c92cdf5aece3b3f2b2c sha256: 5770f5f01c10a902355b3522b8ce44508ebb6ec88955efde9a443afe5b3969d7

View File

@ -0,0 +1,2 @@
generators:
- cert-manager.yaml

View File

@ -1,8 +1,4 @@
bases:
- ../mariadb
resources: resources:
- namespace.yaml
- gitea-deployment.yaml - gitea-deployment.yaml
- drone-server-deployment.yaml - drone-server-deployment.yaml
- drone-runner-deployment.yaml - drone-runner-deployment.yaml
@ -10,7 +6,7 @@ resources:
secretGenerator: secretGenerator:
- name: mariadb-credentials-secret - name: mariadb-credentials-secret
type: Opaque type: Opaque
behavior: replace behavior: create
literals: literals:
- database=gitea - database=gitea
- username=gitea - username=gitea
@ -25,8 +21,6 @@ secretGenerator:
- client_id=replaceme - client_id=replaceme
- client_secret=replaceme - client_secret=replaceme
namespace: gitea
vars: vars:
- name: GITEA_EXTERNAL_HOST - name: GITEA_EXTERNAL_HOST
objref: objref:

View File

@ -1,8 +1,4 @@
bases:
- ../mariadb
resources: resources:
- namespace.yaml
- grafana-deployment.yaml - grafana-deployment.yaml
configMapGenerator: configMapGenerator:
@ -13,13 +9,8 @@ configMapGenerator:
secretGenerator: secretGenerator:
- name: mariadb-credentials-secret - name: mariadb-credentials-secret
type: Opaque type: Opaque
behavior: replace behavior: create
literals: literals:
- database=grafana - database=grafana
- username=grafana - username=grafana
- password=replaceme - password=replaceme
namespace: grafana
commonLabels:
app: grafana

View File

@ -0,0 +1,2 @@
generators:
- nginx-ingress-controller.yaml

View File

@ -1,21 +1,15 @@
bases:
- ../mariadb
resources: resources:
- namespace.yaml
- nextcloud-deployment.yaml - nextcloud-deployment.yaml
- nextcloud-cronjob.yaml - nextcloud-cronjob.yaml
secretGenerator: secretGenerator:
- name: mariadb-credentials-secret - name: mariadb-credentials-secret
type: Opaque type: Opaque
behavior: replace behavior: create
literals: literals:
- database=nextcloud - database=nextcloud
- username=nextcloud - username=nextcloud
- password=replaceme - password=replaceme
namespace: nextcloud
commonlabels: commonlabels:
app: nextcloud app: nextcloud

View File

@ -0,0 +1,4 @@
bases:
- ../../bases/cert-manager
namespace: cert-manager

View File

@ -0,0 +1,8 @@
bases:
- ../../bases/gitea
# - ../../base/mariadb
resources:
- namespace.yaml
namespace: gitea

View File

@ -0,0 +1,8 @@
bases:
- ../../bases/grafana
# - ../../base/mariadb
resources:
- namespace.yaml
namespace: grafana

View File

@ -0,0 +1,4 @@
bases:
- ../../bases/ingress-nginx
namespace: ingress-nginx

View File

@ -0,0 +1,8 @@
bases:
- ../../bases/nextcloud
# - ../../base/mariadb
resources:
- namespace.yaml
namespace: nextcloud

View File

@ -1,7 +1,6 @@
bases: bases:
- ../../base/nfs-provisionner - ../../namespaces/cert-manager
- ../../base/ingress-nginx - ../../namespaces/ingress-nginx
- ../../base/cert-manager
# allow "kubectl apply -l managed-by=k3s --prune ..." # allow "kubectl apply -l managed-by=k3s --prune ..."
commonlabels: commonlabels:

View File

@ -1,9 +1,7 @@
bases: bases:
- ../../base/kubernetes-dashboard - ../../namespaces/gitea
- ../../base/gitea - ../../namespaces/grafana
- ../../base/nextcloud - ../../namespaces/nextcloud
- ../../base/grafana
- ../../base/monitoring
resources: resources:
- cert-manager/clusterissuer.yaml - cert-manager/clusterissuer.yaml
@ -28,14 +26,14 @@ patchesJson6902:
group: networking.k8s.io group: networking.k8s.io
version: v1beta1 version: v1beta1
kind: Ingress kind: Ingress
name: kubernetes-dashboard name: gitea
patch: |- patch: |-
- op: replace - op: replace
path: /spec/tls/0/hosts/0 path: /spec/tls/0/hosts/0
value: kubernetes-dashboard.staging.badjware.dev value: gitea.staging.badjware.dev
- op: replace - op: replace
path: /spec/rules/0/host path: /spec/rules/0/host
value: kubernetes-dashboard.staging.badjware.dev value: gitea.staging.badjware.dev
- target: - target:
<<: *ingress_target <<: *ingress_target
name: grafana name: grafana
@ -56,16 +54,6 @@ patchesJson6902:
- op: replace - op: replace
path: /spec/rules/0/host path: /spec/rules/0/host
value: nextcloud.staging.badjware.dev value: nextcloud.staging.badjware.dev
- target:
<<: *ingress_target
name: gitea
patch: |-
- op: replace
path: /spec/tls/0/hosts/0
value: gitea.staging.badjware.dev
- op: replace
path: /spec/rules/0/host
value: gitea.staging.badjware.dev
- target: - target:
<<: *ingress_target <<: *ingress_target
name: drone name: drone