95 Commits
Author SHA1 Message Date
luke a00a9cd3f7 fix tls indentation for grafana values 2021-06-19 21:55:16 +01:00
luke 3e643e6ce1 save test resource examples and add tls cert-manager issuer reference for grafana 2021-06-19 21:45:05 +01:00
luke e9c1d38cce fix name of zone in google clouddns 2021-06-19 18:22:53 +01:00
luke f7109503a2 remove certificate test 2021-06-19 18:10:59 +01:00
luke b9c2521476 change name of issuer and add test certificate for labdevops.net 2021-06-19 17:55:06 +01:00
luke 49e81cf760 fix indentation cloudDNS 2021-06-19 16:31:48 +01:00
luke 19e38c2f19 update cert-manager clouddns sealed secret 2021-06-19 16:19:39 +01:00
luke f2babe383b change external-dns secret to sealed secret 2021-06-19 15:35:55 +01:00
luke fde20726e0 update namespace for dashboards 2021-06-19 14:42:53 +01:00
luke 573a1efeaf update namespace for controller as per helm values.yaml notes 2021-06-19 14:41:11 +01:00
luke b5adb510d7 add fixes to sealedsecrets target ns 2021-06-19 14:27:34 +01:00
luke b590146621 fix sealed secreet values indentation 2021-06-19 14:03:22 +01:00
luke 1e46f7ce26 add sealed secrets component kustomization 2021-06-19 14:01:47 +01:00
luke a2776515bf add sealed secrets component 2021-06-19 14:00:57 +01:00
luke bb468c1fe7 add certmanager kustomization 2021-06-17 19:38:27 +01:00
luke dc6d9d16ee add cert-manager component 2021-06-17 19:34:30 +01:00
luke 40dd178458 iupdate 2021-06-17 15:56:34 +01:00
luke 0fa34afd08 add ingress to grafana 2021-06-17 15:54:49 +01:00
luke f3f1476d81 update ownertxtid with cluster name 2021-06-17 15:41:29 +01:00
luke 54b3f765b1 update projectname in external-dns config 2021-06-16 12:37:19 +01:00
luke cba3170970 update serviceaccountsecret for ext-dns 2021-05-26 03:17:56 +01:00
luke d70d0fd290 update google config to not use project, rely on crednetials.json secret content 2021-05-26 02:51:43 +01:00
luke 0d71cdfab4 update secret to yaml 2021-05-26 02:42:46 +01:00
luke 9f7c63dc9d add amd64 selector to the external-dns component (bitnami no arm support as ususal) 2021-05-26 02:36:41 +01:00
luke c49ce01f1d insecure but for now - setup credentials secret for external-dns 2021-05-26 02:27:44 +01:00
luke f427099bcc fill in namespace details 2021-05-26 01:00:06 +01:00
luke 93a1ee2852 fix external-dns kustomization 2021-05-25 20:34:39 +01:00
luke b15669ba7d add reference kustomization to external-dns component 2021-05-25 00:53:18 +01:00
luke a3903538ae add bitnami repo for external-dns and helm release for external-dns 2021-05-25 00:41:16 +01:00
luke a40228dcb0 add ns for external-dns component 2021-05-24 15:12:35 +01:00
luke 98dc9c8acd fix chart name kube-prometheus-stack 2021-05-23 22:34:10 +01:00
luke 192caab317 fix kube-prometheus-stack chart and ignore helmvendor path 2021-05-23 22:12:36 +01:00
luke 4fde29efb2 update components moving to new cluster 2021-05-23 21:31:53 +01:00
luke 836bcdfdee move scripts to new cluster name 2021-05-23 21:19:36 +01:00
LABDigital 40154f3612 Add Flux sync manifests 2021-05-23 21:17:54 +01:00
LABDigital a42e0c4355 Add Flux v0.13.4 component manifests 2021-05-23 21:16:58 +01:00
luke 36ad31867b update sync and kustomizatino into their own folders 2021-05-23 20:34:13 +01:00
luke 2d01c4c0bd update nfs subdir ext provisioner to 4.0.10 2021-05-23 16:56:18 +01:00
LABDigital 67fec0841b Add Flux v0.12.0 component manifests 2021-04-22 10:05:43 +01:00
LABDigital 8cd34cead2 Add Flux sync manifests 2021-04-21 21:20:34 +01:00
LABDigital 461a7c6105 Add Flux v0.12.3 component manifests 2021-04-21 21:17:47 +01:00
luke 4593bc910d add promtheus stack setup 2021-04-21 20:50:47 +01:00
luke f695c299c4 add nfs-system ns file content 2021-04-11 15:59:19 +01:00
luke 4ca5fca650 setup and add nfs-subdir-external-provisioner to components 2021-04-11 15:46:30 +01:00
luke fefff19343 fix indentation for metallb controller image 2021-04-10 16:47:38 +01:00
luke 7f7a7a2ba0 Change metallb from bitnami images to default metallb images
Remove amd64 nodSelector from nginx-ingress and metallb setup
2021-04-10 16:31:58 +01:00
luke 28e497ed19 add amd64 selector to nginx ingress 2021-04-10 16:13:38 +01:00
luke 348bf9fba6 update controller with amd64 arch selector 2021-04-10 14:42:19 +01:00
luke f924bda710 add components metallb kustomization 2021-04-10 14:37:58 +01:00
luke 63a91a841d add configInline for layer 2 mode to values for metallb 2021-04-10 14:34:23 +01:00
luke a9b7bf3574 point bitnami helm repo at correct url 2021-04-10 14:31:04 +01:00
luke 98132e1a10 update nodeSelector for metallb to only select amd64 architecture 2021-04-10 14:27:54 +01:00
luke bcbb6f6545 add ingress to test1/podinfo 2021-04-10 14:15:55 +01:00
luke 9f75da869f update to podinfo test1 5.2.0 2021-04-09 15:27:55 +01:00
luke 7b4ce7ef04 oops 2021-04-09 14:37:55 +01:00
luke 69f00e2e86 set specific version of test1 podinfo 2021-04-09 14:32:15 +01:00
luke 0293693aa5 update podinfo test1 deploy 2021-04-09 14:23:45 +01:00
luke d1ae2579d5 add test1 tests setup 2021-04-09 14:10:34 +01:00
luke 25685bf019 add prometheus component setup 2021-04-06 02:14:32 +01:00
luke f6bfdeceb4 add nginx-ingress kustomization to flux-system 2021-04-05 17:40:19 +01:00
luke d7c0f7def5 add nginx-ingress component, move metallb to metallb-system ns 2021-04-05 17:37:13 +01:00
luke 5f03942104 Remove metallb to opt for manual test install 2021-04-05 15:08:51 +01:00
luke 84be475c69 update flux components to 0.11.0 2021-04-05 14:46:14 +01:00
luke f4e49d7eec Merge branch 'master' of ssh://git.labdevops.net:2222/home.labdigital.co.uk/k3s_cluster1_flux_system 2021-04-05 12:54:13 +01:00
luke 2e3be75e32 add missing tag to helmrelease for metallb 2021-04-03 22:12:06 +01:00
luke f9d9445373 add missing tag to helmrelease for metallb 2021-04-02 22:45:32 +01:00
luke 99979c2c0d add validation client to metallb kustomization 2021-04-02 21:53:24 +01:00
luke 4554fa9c59 move component kustomization back to flux-system ns and remove
components specific ns
2021-04-02 21:43:47 +01:00
luke b30609b8c7 add metallb component 2021-04-02 21:15:26 +01:00
luke d0f382915b move test3 customisation to flux-system ns so it exists 2021-03-27 14:28:40 +00:00
luke 2081a59ecd update to sepeate kustomization and kustomize resource 2021-03-27 14:27:14 +00:00
luke 5de9ad9cf7 Try switching up validation and copy from working kustomization 2021-03-27 14:24:19 +00:00
luke ba3b2b5d95 update path to absolute 2021-03-27 14:09:44 +00:00
luke ba911df65b update path to absolute 2021-03-27 14:05:32 +00:00
luke 63e2fc8464 update path to kustomization for test3 2021-03-27 13:52:14 +00:00
luke fd42e5b709 add test3 ns setup 2021-03-27 13:32:43 +00:00
luke 68b3c6af2d change hr to helmrelease instead of helmrepo 2021-03-27 13:16:14 +00:00
luke b5e943bf82 add podinfo helmrelease 2021-03-27 13:10:28 +00:00
luke 54715df6c9 add helmrepository for pod-info 2021-03-21 22:51:39 +00:00
luke a9aabfc000 add test2 namespace 2021-03-21 22:46:09 +00:00
luke 8a11fd44ec add test namespace 2021-03-21 20:51:22 +00:00
luke b7da56af55 adjacent folders in path base with kustomization files 2021-03-21 20:46:02 +00:00
luke 5149c0cbf0 add test namespace the cluster, see if recursive kustomize work 2021-03-21 20:41:54 +00:00
luke 2a9a4b9f53 add test nginx deployment 2021-03-20 21:56:29 +00:00
luke 217dbdc663 add test kustomization 2021-03-20 21:30:32 +00:00
luke c436cdb930 update to export format helmrepo source 2021-03-20 17:30:58 +00:00
luke 022c346859 add podinfo helm repository 2021-03-20 17:19:34 +00:00
luke fb2cdc7654 add sync and kustomise manifests 2021-02-14 20:29:18 +00:00
luke 3d835eeb92 update repo with 0.8 flux setup 2021-02-14 16:25:17 +00:00
luke 22a6ea6645 add kustomizeation to flux-system 2021-01-31 20:34:26 +00:00
luke 5007e58073 add flux-system kustomization 2021-01-31 20:17:34 +00:00
luke cefe6d0ea7 add podinfo test 2021-01-27 02:52:55 +00:00
luke b77f2eccfc add git gotk sync git source 2021-01-27 02:08:36 +00:00
luke 1498461bfa update to flux 0.7.2 2021-01-27 02:05:14 +00:00
luke e901c202d4 Add flux components 2021-01-24 15:57:04 +00:00
59 changed files with 3555 additions and 43 deletions
+1
View File
@@ -0,0 +1 @@
helmvendor/**
+6
View File
@@ -0,0 +1,6 @@
#!/bin/bash
flux bootstrap git \
--ssh-hostname=git.labdevops.net:2222 \
--path=clusters/k3s-odc2-110 \
--branch=master \
--url=ssh://git@git.labdevops.net:2222/home.labdigital.co.uk/k3s_cluster1_flux_system.git
@@ -0,0 +1,13 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: cert-manager
namespace: flux-system
spec:
interval: 10m0s
path: ./components/cert-manager
prune: true
sourceRef:
kind: GitRepository
name: flux-system
@@ -0,0 +1,13 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: external-dns
namespace: flux-system
spec:
interval: 10m0s
path: ./components/external-dns
prune: true
sourceRef:
kind: GitRepository
name: flux-system
@@ -0,0 +1,13 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: metallb
namespace: flux-system
spec:
interval: 10m0s
path: ./components/metallb
prune: true
sourceRef:
kind: GitRepository
name: flux-system
@@ -0,0 +1,13 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: nfs-provisioner
namespace: flux-system
spec:
interval: 10m0s
path: ./components/nfs-provisioner
prune: true
sourceRef:
kind: GitRepository
name: flux-system
@@ -0,0 +1,13 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: nginx-ingress
namespace: flux-system
spec:
interval: 10m0s
path: ./components/nginx-ingress
prune: true
sourceRef:
kind: GitRepository
name: flux-system
@@ -0,0 +1,13 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: promtheus-stack
namespace: flux-system
spec:
interval: 10m0s
path: ./components/prometheus
prune: true
sourceRef:
kind: GitRepository
name: flux-system
@@ -0,0 +1,13 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: sealed-secrets
namespace: flux-system
spec:
interval: 10m0s
path: ./components/sealedsecrets
prune: true
sourceRef:
kind: GitRepository
name: flux-system
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,27 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: GitRepository
metadata:
name: flux-system
namespace: flux-system
spec:
interval: 1m0s
ref:
branch: master
secretRef:
name: flux-system
url: ssh://git@git.labdevops.net:2222/home.labdigital.co.uk/k3s_cluster1_flux_system.git
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: flux-system
namespace: flux-system
spec:
interval: 10m0s
path: ./clusters/k3s-odc2-110
prune: true
sourceRef:
kind: GitRepository
name: flux-system
validation: client
@@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- gotk-components.yaml
- gotk-sync.yaml
+8
View File
@@ -0,0 +1,8 @@
#!/bin/bash
set -x
MASTER=odc2-110
ARM_NODES="pi4-115, pi4-116"
kubectl taint nodes "$MASTER" node-role.kubernetes.io/master=true:NoSchedule
kubectl label node "$MASTER" kubernetes.io/role=master node-role.kubernetes.io/master=
#kubectl taint nodes "$ARM_NODES"
@@ -4,7 +4,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: flux-system
---
apiVersion: apiextensions.k8s.io/v1
@@ -16,7 +16,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: alerts.notification.toolkit.fluxcd.io
spec:
group: notification.toolkit.fluxcd.io
@@ -191,7 +191,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: buckets.source.toolkit.fluxcd.io
spec:
group: source.toolkit.fluxcd.io
@@ -379,7 +379,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: gitrepositories.source.toolkit.fluxcd.io
spec:
group: source.toolkit.fluxcd.io
@@ -598,7 +598,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: helmcharts.source.toolkit.fluxcd.io
spec:
group: source.toolkit.fluxcd.io
@@ -790,7 +790,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: helmreleases.helm.toolkit.fluxcd.io
spec:
group: helm.toolkit.fluxcd.io
@@ -1306,7 +1306,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: helmrepositories.source.toolkit.fluxcd.io
spec:
group: source.toolkit.fluxcd.io
@@ -1474,7 +1474,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: kustomizations.kustomize.toolkit.fluxcd.io
spec:
group: kustomize.toolkit.fluxcd.io
@@ -1871,7 +1871,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: providers.notification.toolkit.fluxcd.io
spec:
group: notification.toolkit.fluxcd.io
@@ -2018,7 +2018,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: receivers.notification.toolkit.fluxcd.io
spec:
group: notification.toolkit.fluxcd.io
@@ -2198,7 +2198,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: helm-controller
namespace: flux-system
---
@@ -2208,7 +2208,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: kustomize-controller
namespace: flux-system
---
@@ -2218,7 +2218,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: notification-controller
namespace: flux-system
---
@@ -2228,7 +2228,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: source-controller
namespace: flux-system
---
@@ -2238,7 +2238,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: crd-controller-flux-system
rules:
- apiGroups:
@@ -2318,7 +2318,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: cluster-reconciler-flux-system
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -2338,7 +2338,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: crd-controller-flux-system
roleRef:
apiGroup: rbac.authorization.k8s.io
@@ -2370,7 +2370,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
control-plane: controller
name: notification-controller
namespace: flux-system
@@ -2390,7 +2390,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
control-plane: controller
name: source-controller
namespace: flux-system
@@ -2410,7 +2410,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
control-plane: controller
name: webhook-receiver
namespace: flux-system
@@ -2430,7 +2430,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
control-plane: controller
name: helm-controller
namespace: flux-system
@@ -2503,7 +2503,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
control-plane: controller
name: kustomize-controller
namespace: flux-system
@@ -2578,7 +2578,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
control-plane: controller
name: notification-controller
namespace: flux-system
@@ -2654,7 +2654,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
control-plane: controller
name: source-controller
namespace: flux-system
@@ -2738,7 +2738,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: allow-scraping
namespace: flux-system
spec:
@@ -2758,7 +2758,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: allow-webhooks
namespace: flux-system
spec:
@@ -2777,7 +2777,7 @@ metadata:
labels:
app.kubernetes.io/instance: flux-system
app.kubernetes.io/part-of: flux
app.kubernetes.io/version: v0.12.3
app.kubernetes.io/version: v0.12.0
name: deny-ingress
namespace: flux-system
spec:
@@ -0,0 +1,14 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: flux-system
namespace: flux-system
spec:
interval: 10m0s
path: ./clusters/odc2-110-admin
prune: true
sourceRef:
kind: GitRepository
name: flux-system
validation: client
@@ -7,21 +7,8 @@ metadata:
spec:
interval: 1m0s
ref:
branch: main
branch: master
secretRef:
name: flux-system
url: ssh://git@git.labdevops.net/home.labdigital.co.uk/k3s_cluster1_flux_system.git
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: flux-system
namespace: flux-system
spec:
interval: 10m0s
path: ./clusters/odc2-110-admin
prune: true
sourceRef:
kind: GitRepository
name: flux-system
validation: client
url: ssh://git@git.labdevops.net:2222/home.labdigital.co.uk/k3s_cluster1_flux_system.git
@@ -2,4 +2,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- gotk-components.yaml
- gotk-kustomization.yaml
- gotk-sync.yaml
@@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- namespace_test.yaml
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: test
@@ -0,0 +1,14 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: test1
namespace: flux-system
spec:
interval: 10m0s
path: ./tests/test1
prune: true
validation: client
sourceRef:
kind: GitRepository
name: flux-system
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: test2
@@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: podinfo
namespace: test2
spec:
chart:
spec:
chart: podinfo
sourceRef:
kind: HelmRepository
name: podinfo
interval: 1m0s
+14
View File
@@ -0,0 +1,14 @@
---
apiVersion: kustomize.toolkit.fluxcd.io/v1beta1
kind: Kustomization
metadata:
name: test3
namespace: flux-system
spec:
interval: 10m0s
path: ./deployments/test3
prune: true
validation: client
sourceRef:
kind: GitRepository
name: flux-system
@@ -0,0 +1,20 @@
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: labdevops-net-letsencrypt-prod
namespace: certmanager-system
spec:
acme:
email: luke@labdigital.co.uk
server: https://acme-v02.api.letsencrypt.org/directory
#preferredChain: "ISRG Root X1"
privateKeySecretRef:
name: clouddns-dns01-solver-svc-acct
solvers:
- dns01:
cloudDNS:
project: homelab-264922
hostedZoneName: 'labdevops-net'
serviceAccountSecretRef:
key: credentials.json
name: gcp-sa-secret
@@ -0,0 +1,16 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: cert-manager
namespace: certmanager-system
spec:
chart:
spec:
chart: cert-manager
sourceRef:
kind: HelmRepository
name: jetstack
interval: 20m0s
values:
installCRDs: true
@@ -0,0 +1,9 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
name: jetstack
namespace: certmanager-system
spec:
interval: 20m0s
url: https://charts.jetstack.io
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: certmanager-system
@@ -0,0 +1,16 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
creationTimestamp: null
name: gcp-sa-secret
namespace: certmanager-system
spec:
encryptedData:
credentials.json: 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
template:
data: null
metadata:
creationTimestamp: null
name: gcp-sa-secret
namespace: certmanager-system
+12
View File
@@ -0,0 +1,12 @@
{
"type": "service_account",
"project_id": "homelab-264922",
"private_key_id": "f7ac68fc0ae11097e43d19037c48c4c01ba55fcc",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDnRqeXIpUfvI35\na6N9MW6Bp8raEMHp3x6o/DC4DrDlL3xiRMliXX/C2+wJpJ3x2HyemaF262k9oZg6\no+tbUcqUXI+0lPYlWpMVv8OfP2GQ+bD/2o5exLq6oVieeRfCsC1DAfYa7Z6wDjko\nFMQYesvnIkPK7285KxIr9SRhNoLEAS6ZYZMTuM0I1f2bLa/f18I/2qiNfy5o8+e6\nkqvrFH5rTtRD+KcZxWvDkq1KV3vuefNM5zGGRdbKMSG0LkuBctWHJE4CW6C5n5JJ\nMUo6MD1dIwZpb9u6etVuCs+E/Y9K2Uo1D4U7OvNrYD9HlNX1WcOug14OE1/89feZ\n9QHlMkprAgMBAAECggEAae/byWdeXnSspcDP2QNBBqPYz81YPavlq+sk19Jm5fw7\n4fl3M5b3dEbvljUw4fxTjQR7SPEpOkFgbQ/zuVc8T3wcmU+YdmDIOfCmhzXtl45A\nLNosV62OiPlqEeEO6K9xdB2cYRZSF3vUY48ribkJ2FxCKF1HmayofLkkCmGBQY0X\n+y7pAMUZrmLpChqh4JfW3jSp1KWuozeCKBmQf9osxniUB2CQcv7eMMkszbs3yiyW\nI5z2Hw3dE5JKAMh+fHylpcUbVaFjSWGX35hTblSCXThUB2nIYEtSQFTR5Pb8HTVj\nh1NG3RRZ6cyJXpCaF2pUjowoJ3VaKr5NpysWpSIY/QKBgQD8xnamacO99/TzpMyl\nwM2vNR1kbLLkrFAzATmGKqUlMFIr9qIf4+IHT+e5YEuG35uj0LPXFdxoVcWwefNB\noXVvVrXXx89mGRmSSZ9iHA/CLtVP03Ll7zbM6c9pDYthmeaLVZf8yOYrRHL/Eos7\nvERgSkd8biixoMQf/0nXvfGDLQKBgQDqOfoZG/S0kspnDCHKAM1eoKy2n7RGjo7t\n15yJmITmxf/sb21TDdSctVZRZqRNQfa1yGdxeycY0KLXqrvHw3AKl8gpFqthuYPg\n8EGwmJ7dmjeDZVE/EGp55X7BTVuudqTJamufUKp4GbRxBg3L+VWwIliseFBIzUcY\nJrkD8Dvi9wKBgE2PY+ap+zq1834y6exOHY6OIKeoxrdtu+n6jTkCqsufaQc+VP6u\nALO3q+Vwi5wlzm7UYeo0Nf35m4AL2z0fGpaAJ6m/EH9GYldFqdcDvz4Y+rDUs6Oj\n48+6Sj70vfjDrT7Bk7InvqA2D4b+nKRGn0BgalDeyDPAnY0n2vOMv6c9AoGAE17w\nHBt/xV9Ode8+7CHc2jKXlhLnKd6oW2s1evuuIhfF7pvYgsHmD3+/v8OpWupVqPsF\n8xCoTxkSHpv0I7U6EuYym5NQYSiii3vTMvOsT89tP+SlL34AEEy2iu4G4wrU3gN7\nGxXkw0H89kv14CSivYpZowngOeUgOBMbwgOgMEkCgYEA4z4QOgamQjhMj+qwxHzR\nBxXqjTO/BnIhjhEKEgkRwjr0M7LU9Hzw/o70SvbVXY2lkQP3K4+60ismMDsXbstb\n1MjVXA5FVOWz69CufL3lbpNdgzI7K9YgnYLcE4s0MxbGKY7erg1Tv9a+wlSGPc90\nJvRJcc6TdixI/eJIlFzl6cs=\n-----END PRIVATE KEY-----\n",
"client_email": "ext-dns-k3sodc2110@homelab-264922.iam.gserviceaccount.com",
"client_id": "113935552429314488865",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/ext-dns-k3sodc2110%40homelab-264922.iam.gserviceaccount.com"
}
@@ -0,0 +1,41 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: external-dns
namespace: externaldns-system
spec:
chart:
spec:
chart: external-dns
version: "5.0.0"
sourceRef:
kind: HelmRepository
name: bitnami
interval: 10m0s
values:
provider: "google"
txtOwnerId: "extdns-k3s-odc2-110"
domainFilters:
- "labdevops.net"
google:
project: "homelab-264922"
## Google Project to use
##
# project: "homelab-264922"
## Google Application Credentials
##
serviceAccountSecret: "external-dns"
serviceAccountSecretKey: "credentials.json"
## Prometheus Exporter / Metrics
##
metrics:
enabled: true
# podAnnotations:
# prometheus.io/scrape: "true"
# prometheus.io/port: "7979"
serviceMonitor:
enabled: true
namespace: prometheus-system
nodeSelector:
kubernetes.io/arch: amd64
+10
View File
@@ -0,0 +1,10 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
name: bitnami
namespace: externaldns-system
spec:
interval: 1m0s
url: https://charts.bitnami.com/bitnami
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: externaldns-system
@@ -0,0 +1,16 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
creationTimestamp: null
name: external-dns
namespace: externaldns-system
spec:
encryptedData:
credentials.json: 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
template:
data: null
metadata:
creationTimestamp: null
name: external-dns
namespace: externaldns-system
+8
View File
@@ -0,0 +1,8 @@
#!/bin/bash
#gcloud auth login
gcloud auth login
gcloud config set project homelab-264922
gcloud iam service-accounts create ext-dns-k3sodc2110 --display-name "SvcAcc ext-dns on k3s-odc2-110 labdevops.net"
gcloud projects add-iam-policy-binding homelab-264922 --role='roles/dns.admin' --member='serviceAccount:ext-dns-k3sodc2110@homelab-264922.iam.gserviceaccount.com'
gcloud iam service-accounts keys create credentials.json --iam-account ext-dns-k3sodc2110@homelab-264922.iam.gserviceaccount.com
kubectl create secret -n externaldns-system generic external-dns --from-file=credentials.json=credentials.json --dry-run=client --output=jso
+10
View File
@@ -0,0 +1,10 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
name: bitnami
namespace: metallb-system
spec:
interval: 1m0s
url: https://charts.bitnami.com/bitnami
@@ -0,0 +1,31 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: metallb
namespace: metallb-system
spec:
chart:
spec:
chart: metallb
version: "2.3.5"
sourceRef:
kind: HelmRepository
name: bitnami
interval: 10m0s
values:
controller:
image:
repository: metallb/controller
tag: v0.9.6
speaker:
image:
repository: metallb/speaker
tag: v0.9.6
configInline:
address-pools:
- name: default
protocol: layer2
addresses:
- 192.168.7.200-192.168.7.210
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: metallb-system
+9
View File
@@ -0,0 +1,9 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
name: nfs-subdir-external-provisioner
namespace: nfs-system
spec:
interval: 20m0s
url: https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
@@ -0,0 +1,32 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: nfs-subdir-external-provisioner
namespace: nfs-system
spec:
chart:
spec:
chart: nfs-subdir-external-provisioner
version: "4.0.10"
sourceRef:
kind: HelmRepository
name: nfs-subdir-external-provisioner
interval: 20m0s
values:
nodeSelector:
kubernetes.io/arch: arm64
# strategyType: Recreate
storageClass:
name: nfs-storage
defaultClass: true
archiveOnDelete: true
allowVolumeExpansion: true
provisionerName: storage.provisioner/nfs
nfs:
server: 192.168.7.100
path: /datapool/nfs/kubernetes
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: nfs-system
@@ -0,0 +1,10 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
name: ingress-nginx
namespace: ingress-system
spec:
interval: 20m0s
url: https://kubernetes.github.io/ingress-nginx
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: ingress-system
@@ -0,0 +1,21 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: nginx-ingress
namespace: ingress-system
spec:
chart:
spec:
chart: ingress-nginx
version: "3.26.x"
sourceRef:
kind: HelmRepository
name: ingress-nginx
interval: 20m0s
# values:
# controller:
# nodeSelector:
# kubernetes.io/arch: 'amd64'
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: prometheus-system
@@ -0,0 +1,10 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
name: prometheus-community
namespace: prometheus-system
spec:
interval: 20m0s
url: https://prometheus-community.github.io/helm-charts
@@ -0,0 +1,28 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: kube-prometheus-stack
namespace: prometheus-system
spec:
chart:
spec:
chart: kube-prometheus-stack
sourceRef:
kind: HelmRepository
name: prometheus-community
interval: 20m0s
values:
grafana:
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: labdevops-net-letsencrypt-prod
hosts:
- grafana.labdevops.net
tls:
- secretName: grafana-cm-tls
hosts:
- grafana.labdevops.net
@@ -0,0 +1,10 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
name: bitnami-labs-sealed-secrets
namespace: sealedsecrets-system
spec:
interval: 1h0m0s
url: https://bitnami-labs.github.io/sealed-secrets
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: sealedsecrets-system
+2
View File
@@ -0,0 +1,2 @@
#!/bin/bash
## TODO: add secret from /keybase/private/lukeab/k3s-odc2-110/sealedsecrets/pub-cert.pem
@@ -0,0 +1,32 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: sealed-secrets
namespace: sealedsecrets-system
spec:
chart:
spec:
chart: sealed-secrets
sourceRef:
kind: HelmRepository
name: bitnami-labs-sealed-secrets
version: ">=1.16.0-0"
interval: 1h0m0s
releaseName: sealed-secrets
targetNamespace: sealedsecrets-system
install:
crds: Create
upgrade:
crds: CreateReplace
values:
namespace: sealedsecrets-system
serviceMonitor:
create: true
# secretName: "sealed-secrets-key"
# uncomment this when generated key is offloaded and pre-configured
dashboards:
create: true
namespace: sealedsecrets-system
labels:
grafana_dashboard: "1"
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: test3
+23
View File
@@ -0,0 +1,23 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-test
namespace: test3
spec:
selector:
matchLabels:
app: nginx-test
template:
metadata:
labels:
app: nginx-test
spec:
containers:
- name: nginx-test
image: nginx
resources:
limits:
memory: "128Mi"
cpu: "500m"
ports:
- containerPort: 80
+15
View File
@@ -0,0 +1,15 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: podinfo
namespace: test3
spec:
chart:
spec:
chart: podinfo
sourceRef:
kind: HelmRepository
name: podinfo
interval: 1m0s
View File
@@ -0,0 +1,14 @@
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: testcert-labdevops-net
namespace: certmanager-system
spec:
dnsNames:
- testcert.labdevops.net
- blablahtest.labdevops.net
secretName: testcert-labdevops-tls
issuerRef:
name: labdevops-net-letsencrypt-prod
kind: ClusterIssuer
+24
View File
@@ -0,0 +1,24 @@
apiVersion: v1
kind: Namespace
metadata:
name: cert-manager
---
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: test-selfsigned
namespace: cert-manager
spec:
selfSigned: {}
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: selfsigned-cert
namespace: cert-manager
spec:
dnsNames:
- labdevops.net
secretName: selfsigned-cert-tls
issuerRef:
name: test-selfsigned
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: test1
+9
View File
@@ -0,0 +1,9 @@
---
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
name: podinfo
namespace: test1
spec:
interval: 1m0s
url: https://stefanprodan.github.io/podinfo
+22
View File
@@ -0,0 +1,22 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: podinfo
namespace: test1
spec:
chart:
spec:
chart: podinfo
version: 5.2.0
sourceRef:
kind: HelmRepository
name: podinfo
interval: 1m0s
values:
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: nginx
path: "/"