From f35e65ec2a580cd614dec9c04c52085f872a7c33 Mon Sep 17 00:00:00 2001 From: JJGadgets Date: Sat, 16 Apr 2022 00:35:09 +0800 Subject: [PATCH] initial Flux structure --- kube/1-bootstrap/flux/1-kube-core.yaml | 22 ++++++++++++++++++++++ kube/1-bootstrap/flux/2-kube-crds.yaml | 25 +++++++++++++++++++++++++ kube/1-bootstrap/flux/3-kube-core.yaml | 22 ++++++++++++++++++++++ kube/1-bootstrap/flux/4-core.yaml | 22 ++++++++++++++++++++++ kube/1-bootstrap/flux/5-apps.yaml | 22 ++++++++++++++++++++++ kube/2-kube-crds/kustomization.yaml | 4 ++++ kube/3-kube-core/kustomization.yaml | 4 ++++ kube/4-core/kustomization.yaml | 4 ++++ kube/5-apps/kustomization.yaml | 4 ++++ 9 files changed, 129 insertions(+) create mode 100644 kube/1-bootstrap/flux/1-kube-core.yaml create mode 100644 kube/1-bootstrap/flux/2-kube-crds.yaml create mode 100644 kube/1-bootstrap/flux/3-kube-core.yaml create mode 100644 kube/1-bootstrap/flux/4-core.yaml create mode 100644 kube/1-bootstrap/flux/5-apps.yaml create mode 100644 kube/2-kube-crds/kustomization.yaml create mode 100644 kube/3-kube-core/kustomization.yaml create mode 100644 kube/4-core/kustomization.yaml create mode 100644 kube/5-apps/kustomization.yaml diff --git a/kube/1-bootstrap/flux/1-kube-core.yaml b/kube/1-bootstrap/flux/1-kube-core.yaml new file mode 100644 index 00000000..6b39382d --- /dev/null +++ b/kube/1-bootstrap/flux/1-kube-core.yaml @@ -0,0 +1,22 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1beta2 +kind: Kustomization +metadata: + name: 3-kube-core + namespace: flux-system +spec: + sourceRef: + kind: GitRepository + name: flux-system + path: ./kube/3-kube-core + interval: 1m0s + + dependsOn: + - name: 2-kube-crds + + decryption: + provider: sops + secretRef: + name: sops-age + + prune: false + wait: true diff --git a/kube/1-bootstrap/flux/2-kube-crds.yaml b/kube/1-bootstrap/flux/2-kube-crds.yaml new file mode 100644 index 00000000..cf7c7275 --- /dev/null +++ b/kube/1-bootstrap/flux/2-kube-crds.yaml @@ -0,0 +1,25 @@ +--- +apiVersion: kustomize.toolkit.fluxcd.io/v1beta2 + +# not GitRepository since we're using single repo with both bootstrap path and multiple CD paths +kind: Kustomization + +# what this manifest will be named and where will it be deployed to +metadata: + name: 2-kube-crds + # only manifest is deployed in flux-system namespace so Flux can reference it, resources in the Git repo path won't be deployed here + namespace: flux-system + +spec: + sourceRef: + kind: GitRepository + # for single repo with both bootstrap path and multiple paths to CD, use repo already known to Flux by referring to it using "flux-system", so the Source of Truth = repo Flux already watches for its bootstrap and state + name: flux-system + # path of repo to watch + path: ./kube/2-kube-crds + + # check source every minute + interval: 1m0s + + prune: false + wait: true diff --git a/kube/1-bootstrap/flux/3-kube-core.yaml b/kube/1-bootstrap/flux/3-kube-core.yaml new file mode 100644 index 00000000..6b39382d --- /dev/null +++ b/kube/1-bootstrap/flux/3-kube-core.yaml @@ -0,0 +1,22 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1beta2 +kind: Kustomization +metadata: + name: 3-kube-core + namespace: flux-system +spec: + sourceRef: + kind: GitRepository + name: flux-system + path: ./kube/3-kube-core + interval: 1m0s + + dependsOn: + - name: 2-kube-crds + + decryption: + provider: sops + secretRef: + name: sops-age + + prune: false + wait: true diff --git a/kube/1-bootstrap/flux/4-core.yaml b/kube/1-bootstrap/flux/4-core.yaml new file mode 100644 index 00000000..7677e83e --- /dev/null +++ b/kube/1-bootstrap/flux/4-core.yaml @@ -0,0 +1,22 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1beta2 +kind: Kustomization +metadata: + name: 4-core + namespace: flux-system +spec: + sourceRef: + kind: GitRepository + name: flux-system + path: ./kube/4-core + interval: 1m0s + + dependsOn: + - name: 3-kube-core + + decryption: + provider: sops + secretRef: + name: sops-age + + prune: false + wait: true diff --git a/kube/1-bootstrap/flux/5-apps.yaml b/kube/1-bootstrap/flux/5-apps.yaml new file mode 100644 index 00000000..2e34465f --- /dev/null +++ b/kube/1-bootstrap/flux/5-apps.yaml @@ -0,0 +1,22 @@ +apiVersion: kustomize.toolkit.fluxcd.io/v1beta2 +kind: Kustomization +metadata: + name: 5-apps + namespace: flux-system +spec: + sourceRef: + kind: GitRepository + name: flux-system + path: ./kube/5-apps + interval: 1m0s + + dependsOn: + - name: 4-core + + decryption: + provider: sops + secretRef: + name: sops-age + + prune: false + wait: true diff --git a/kube/2-kube-crds/kustomization.yaml b/kube/2-kube-crds/kustomization.yaml new file mode 100644 index 00000000..fe0f332a --- /dev/null +++ b/kube/2-kube-crds/kustomization.yaml @@ -0,0 +1,4 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: [] diff --git a/kube/3-kube-core/kustomization.yaml b/kube/3-kube-core/kustomization.yaml new file mode 100644 index 00000000..fe0f332a --- /dev/null +++ b/kube/3-kube-core/kustomization.yaml @@ -0,0 +1,4 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: [] diff --git a/kube/4-core/kustomization.yaml b/kube/4-core/kustomization.yaml new file mode 100644 index 00000000..fe0f332a --- /dev/null +++ b/kube/4-core/kustomization.yaml @@ -0,0 +1,4 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: [] diff --git a/kube/5-apps/kustomization.yaml b/kube/5-apps/kustomization.yaml new file mode 100644 index 00000000..fe0f332a --- /dev/null +++ b/kube/5-apps/kustomization.yaml @@ -0,0 +1,4 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: []