feat!: Remove core and crds fluxtomizations and use raw helm chart to install CRs
Signed-off-by: Devin Buhl <devin@buhl.casa>
This commit is contained in:
39 files changed
+185
-206
No files matched your search
@@ -1,2 +1,3 @@
|
|||||||
megalinter-reports
|
megalinter-reports
|
||||||
|
tmpl
|
||||||
README.md
|
README.md
|
||||||
@@ -103,10 +103,8 @@ The Git repository contains the following directories under `cluster` and are or
|
|||||||
```sh
|
```sh
|
||||||
📁 cluster # k8s cluster defined as code
|
📁 cluster # k8s cluster defined as code
|
||||||
├─📁 flux # flux, gitops operator, loaded before everything
|
├─📁 flux # flux, gitops operator, loaded before everything
|
||||||
├─📁 crds # custom resources, loaded before 📁 core and 📁 apps
|
├─📁 charts # helm chart repos
|
||||||
├─📁 charts # helm repos, loaded before 📁 core and 📁 apps
|
├─📁 config # cluster config
|
||||||
├─📁 config # cluster config, loaded before 📁 core and 📁 apps
|
|
||||||
├─📁 core # crucial apps, namespaced dir tree, loaded before 📁 apps
|
|
||||||
└─📁 apps # regular apps, namespaced dir tree, loaded last
|
└─📁 apps # regular apps, namespaced dir tree, loaded last
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -5,3 +5,4 @@ resources:
|
|||||||
- namespace.yaml
|
- namespace.yaml
|
||||||
- echo-server
|
- echo-server
|
||||||
- hajimari
|
- hajimari
|
||||||
|
- reloader
|
||||||
File renamed without changes.
File renamed without changes.
@@ -3,7 +3,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- namespace.yaml
|
- namespace.yaml
|
||||||
- cert-manager
|
|
||||||
# - kured
|
|
||||||
- metrics-server
|
- metrics-server
|
||||||
- reloader
|
|
||||||
@@ -6,4 +6,4 @@ resources:
|
|||||||
- flux-system
|
- flux-system
|
||||||
- kube-system
|
- kube-system
|
||||||
- networking
|
- networking
|
||||||
- system-upgrade
|
# - system-upgrade
|
||||||
+2
-2
@@ -3,7 +3,7 @@ apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
|||||||
kind: HelmRelease
|
kind: HelmRelease
|
||||||
metadata:
|
metadata:
|
||||||
name: cert-manager
|
name: cert-manager
|
||||||
namespace: kube-system
|
namespace: networking
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 15m
|
||||||
chart:
|
chart:
|
||||||
@@ -23,7 +23,7 @@ spec:
|
|||||||
remediation:
|
remediation:
|
||||||
retries: 5
|
retries: 5
|
||||||
values:
|
values:
|
||||||
installCRDs: false
|
installCRDs: true
|
||||||
webhook:
|
webhook:
|
||||||
enabled: true
|
enabled: true
|
||||||
extraArgs:
|
extraArgs:
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: cert-manager-issuers
|
||||||
|
namespace: networking
|
||||||
|
spec:
|
||||||
|
interval: 15m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: raw
|
||||||
|
version: v0.3.1
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: dysnix
|
||||||
|
namespace: flux-system
|
||||||
|
install:
|
||||||
|
createNamespace: true
|
||||||
|
remediation:
|
||||||
|
retries: 5
|
||||||
|
upgrade:
|
||||||
|
remediation:
|
||||||
|
retries: 5
|
||||||
|
dependsOn:
|
||||||
|
- name: cert-manager
|
||||||
|
namespace: networking
|
||||||
|
values:
|
||||||
|
resources:
|
||||||
|
- apiVersion: cert-manager.io/v1
|
||||||
|
kind: ClusterIssuer
|
||||||
|
metadata:
|
||||||
|
name: letsencrypt-production
|
||||||
|
spec:
|
||||||
|
acme:
|
||||||
|
server: https://acme-v02.api.letsencrypt.org/directory
|
||||||
|
email: "${SECRET_CLOUDFLARE_EMAIL}"
|
||||||
|
privateKeySecretRef:
|
||||||
|
name: letsencrypt-production
|
||||||
|
solvers:
|
||||||
|
- dns01:
|
||||||
|
cloudflare:
|
||||||
|
email: "${SECRET_CLOUDFLARE_EMAIL}"
|
||||||
|
apiKeySecretRef:
|
||||||
|
name: cloudflare-api-key
|
||||||
|
key: api-key
|
||||||
|
selector:
|
||||||
|
dnsZones:
|
||||||
|
- ${SECRET_DOMAIN}
|
||||||
|
|
||||||
|
- apiVersion: cert-manager.io/v1
|
||||||
|
kind: ClusterIssuer
|
||||||
|
metadata:
|
||||||
|
name: letsencrypt-staging
|
||||||
|
spec:
|
||||||
|
acme:
|
||||||
|
server: https://acme-staging-v02.api.letsencrypt.org/directory
|
||||||
|
email: "${SECRET_CLOUDFLARE_EMAIL}"
|
||||||
|
privateKeySecretRef:
|
||||||
|
name: letsencrypt-staging
|
||||||
|
solvers:
|
||||||
|
- dns01:
|
||||||
|
cloudflare:
|
||||||
|
email: "${SECRET_CLOUDFLARE_EMAIL}"
|
||||||
|
apiKeySecretRef:
|
||||||
|
name: cloudflare-api-key
|
||||||
|
key: api-key
|
||||||
|
selector:
|
||||||
|
dnsZones:
|
||||||
|
- ${SECRET_DOMAIN}
|
||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
---
|
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- crds.yaml
|
- helm-release.yaml
|
||||||
|
- secret.sops.yaml
|
||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
---
|
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- cluster-issuers
|
- helm-release.yaml
|
||||||
|
- issuers
|
||||||
@@ -2,41 +2,41 @@
|
|||||||
apiVersion: batch/v1
|
apiVersion: batch/v1
|
||||||
kind: CronJob
|
kind: CronJob
|
||||||
metadata:
|
metadata:
|
||||||
name: cloudflare-ddns
|
name: &app cloudflare-ddns
|
||||||
namespace: networking
|
namespace: default
|
||||||
spec:
|
spec:
|
||||||
schedule: "0 * * * *"
|
schedule: "@hourly"
|
||||||
concurrencyPolicy: "Forbid"
|
concurrencyPolicy: Forbid
|
||||||
successfulJobsHistoryLimit: 3
|
successfulJobsHistoryLimit: 1
|
||||||
failedJobsHistoryLimit: 5
|
failedJobsHistoryLimit: 2
|
||||||
jobTemplate:
|
jobTemplate:
|
||||||
spec:
|
spec:
|
||||||
backoffLimit: 3
|
ttlSecondsAfterFinished: 3600
|
||||||
ttlSecondsAfterFinished: 300
|
|
||||||
template:
|
template:
|
||||||
spec:
|
spec:
|
||||||
restartPolicy: Never
|
automountServiceAccountToken: false
|
||||||
|
restartPolicy: OnFailure
|
||||||
containers:
|
containers:
|
||||||
- name: cloudflare-ddns
|
- name: *app
|
||||||
image: ghcr.io/onedr0p/kubernetes-kubectl:1.25.3
|
image: ghcr.io/onedr0p/kubernetes-kubectl:1.25.3@sha256:e1f54416c4f8779f748ba4a8d7d48d489b584e8963ee8b84310e19d6e2f0430e
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- secretRef:
|
||||||
name: cloudflare-ddns
|
name: *app
|
||||||
command:
|
command:
|
||||||
- "/bin/bash"
|
- "/bin/bash"
|
||||||
- "/app/cloudflare-ddns.sh"
|
- &scriptPath "/app/cloudflare-ddns.sh"
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: cloudflare-ddns
|
- name: *app
|
||||||
mountPath: /app/cloudflare-ddns.sh
|
mountPath: *scriptPath
|
||||||
subPath: cloudflare-ddns.sh
|
subPath: &scriptName cloudflare-ddns.sh
|
||||||
readOnly: true
|
readOnly: true
|
||||||
volumes:
|
volumes:
|
||||||
- name: cloudflare-ddns
|
- name: *app
|
||||||
projected:
|
projected:
|
||||||
defaultMode: 0775
|
defaultMode: 0775
|
||||||
sources:
|
sources:
|
||||||
- configMap:
|
- configMap:
|
||||||
name: cloudflare-ddns
|
name: *app
|
||||||
items:
|
items:
|
||||||
- key: cloudflare-ddns.sh
|
- key: *scriptName
|
||||||
path: cloudflare-ddns.sh
|
path: *scriptName
|
||||||
@@ -24,7 +24,9 @@ spec:
|
|||||||
retries: 5
|
retries: 5
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: cert-manager
|
- name: cert-manager
|
||||||
namespace: kube-system
|
namespace: networking
|
||||||
|
- name: cert-manager-issuers
|
||||||
|
namespace: networking
|
||||||
values:
|
values:
|
||||||
controller:
|
controller:
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: metallb.io/v1beta1
|
|
||||||
kind: L2Advertisement
|
|
||||||
metadata:
|
|
||||||
name: l2-ip
|
|
||||||
namespace: networking
|
|
||||||
spec:
|
|
||||||
ipAddressPools:
|
|
||||||
- default-pool
|
|
||||||
---
|
|
||||||
apiVersion: metallb.io/v1beta1
|
|
||||||
kind: IPAddressPool
|
|
||||||
metadata:
|
|
||||||
name: default-pool
|
|
||||||
namespace: networking
|
|
||||||
spec:
|
|
||||||
addresses:
|
|
||||||
- "${METALLB_LB_RANGE}"
|
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
---
|
||||||
|
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||||
|
kind: HelmRelease
|
||||||
|
metadata:
|
||||||
|
name: metallb-config
|
||||||
|
namespace: networking
|
||||||
|
spec:
|
||||||
|
interval: 15m
|
||||||
|
chart:
|
||||||
|
spec:
|
||||||
|
chart: raw
|
||||||
|
version: v0.3.1
|
||||||
|
sourceRef:
|
||||||
|
kind: HelmRepository
|
||||||
|
name: dysnix
|
||||||
|
namespace: flux-system
|
||||||
|
install:
|
||||||
|
createNamespace: true
|
||||||
|
remediation:
|
||||||
|
retries: 5
|
||||||
|
upgrade:
|
||||||
|
remediation:
|
||||||
|
retries: 5
|
||||||
|
dependsOn:
|
||||||
|
- name: metallb
|
||||||
|
namespace: networking
|
||||||
|
values:
|
||||||
|
resources:
|
||||||
|
- apiVersion: metallb.io/v1beta1
|
||||||
|
kind: L2Advertisement
|
||||||
|
metadata:
|
||||||
|
name: l2-ip
|
||||||
|
namespace: networking
|
||||||
|
spec:
|
||||||
|
ipAddressPools:
|
||||||
|
- default-pool
|
||||||
|
|
||||||
|
- apiVersion: metallb.io/v1beta1
|
||||||
|
kind: IPAddressPool
|
||||||
|
metadata:
|
||||||
|
name: default-pool
|
||||||
|
namespace: networking
|
||||||
|
spec:
|
||||||
|
addresses:
|
||||||
|
- "${METALLB_LB_RANGE}"
|
||||||
File renamed without changes.
@@ -22,7 +22,7 @@ spec:
|
|||||||
remediation:
|
remediation:
|
||||||
retries: 5
|
retries: 5
|
||||||
values:
|
values:
|
||||||
|
crds:
|
||||||
|
enabled: true
|
||||||
psp:
|
psp:
|
||||||
create: false
|
create: false
|
||||||
crds:
|
|
||||||
enabled: false
|
|
||||||
@@ -3,4 +3,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- helm-release.yaml
|
- helm-release.yaml
|
||||||
- config.yaml
|
- config
|
||||||
+1
-1
@@ -3,7 +3,7 @@ apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
|||||||
kind: HelmRelease
|
kind: HelmRelease
|
||||||
metadata:
|
metadata:
|
||||||
name: kured
|
name: kured
|
||||||
namespace: kube-system
|
namespace: system-upgrade
|
||||||
spec:
|
spec:
|
||||||
interval: 15m
|
interval: 15m
|
||||||
chart:
|
chart:
|
||||||
File renamed without changes.
@@ -3,4 +3,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
|||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
resources:
|
resources:
|
||||||
- namespace.yaml
|
- namespace.yaml
|
||||||
|
# renovate: datasource=docker image=rancher/system-upgrade-controller
|
||||||
|
- https://github.com/rancher/system-upgrade-controller/releases/download/v0.9.1/crd.yaml
|
||||||
- system-upgrade-controller
|
- system-upgrade-controller
|
||||||
|
- kured
|
||||||
@@ -6,11 +6,7 @@ resources:
|
|||||||
- plans
|
- plans
|
||||||
images:
|
images:
|
||||||
- name: rancher/system-upgrade-controller
|
- name: rancher/system-upgrade-controller
|
||||||
newName: docker.io/rancher/system-upgrade-controller
|
|
||||||
newTag: v0.9.1
|
newTag: v0.9.1
|
||||||
commonLabels:
|
|
||||||
app.kubernetes.io/name: system-upgrade-controller
|
|
||||||
app.kubernetes.io/instance: system-upgrade-controller
|
|
||||||
patchesStrategicMerge:
|
patchesStrategicMerge:
|
||||||
# Delete namespace resource
|
# Delete namespace resource
|
||||||
- |
|
- |
|
||||||
@@ -19,3 +15,13 @@ patchesStrategicMerge:
|
|||||||
kind: Namespace
|
kind: Namespace
|
||||||
metadata:
|
metadata:
|
||||||
name: system-upgrade
|
name: system-upgrade
|
||||||
|
# Add labels
|
||||||
|
- |-
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: system-upgrade-controller
|
||||||
|
namespace: system-upgrade
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: system-upgrade-controller
|
||||||
|
app.kubernetes.io/instance: system-upgrade-controller
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
apiVersion: source.toolkit.fluxcd.io/v1beta2
|
||||||
|
kind: HelmRepository
|
||||||
|
metadata:
|
||||||
|
name: dysnix
|
||||||
|
namespace: flux-system
|
||||||
|
spec:
|
||||||
|
interval: 1h
|
||||||
|
url: https://dysnix.github.io/charts
|
||||||
@@ -4,6 +4,7 @@ kind: Kustomization
|
|||||||
resources:
|
resources:
|
||||||
- bitnami-charts.yaml
|
- bitnami-charts.yaml
|
||||||
- bjw-s-charts.yaml
|
- bjw-s-charts.yaml
|
||||||
|
- dysnix-charts.yaml
|
||||||
- external-dns-charts.yaml
|
- external-dns-charts.yaml
|
||||||
- hajimari-charts.yaml
|
- hajimari-charts.yaml
|
||||||
- ingress-nginx-charts.yaml
|
- ingress-nginx-charts.yaml
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
resources:
|
|
||||||
- letsencrypt-production.yaml
|
|
||||||
- letsencrypt-staging.yaml
|
|
||||||
- secret.sops.yaml
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: cert-manager.io/v1
|
|
||||||
kind: ClusterIssuer
|
|
||||||
metadata:
|
|
||||||
name: letsencrypt-production
|
|
||||||
spec:
|
|
||||||
acme:
|
|
||||||
server: https://acme-v02.api.letsencrypt.org/directory
|
|
||||||
email: "${SECRET_CLOUDFLARE_EMAIL}"
|
|
||||||
privateKeySecretRef:
|
|
||||||
name: letsencrypt-production
|
|
||||||
solvers:
|
|
||||||
- dns01:
|
|
||||||
cloudflare:
|
|
||||||
email: "${SECRET_CLOUDFLARE_EMAIL}"
|
|
||||||
apiKeySecretRef:
|
|
||||||
name: cloudflare-api-key
|
|
||||||
key: api-key
|
|
||||||
selector:
|
|
||||||
dnsZones:
|
|
||||||
- ${SECRET_DOMAIN}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: cert-manager.io/v1
|
|
||||||
kind: ClusterIssuer
|
|
||||||
metadata:
|
|
||||||
name: letsencrypt-staging
|
|
||||||
spec:
|
|
||||||
acme:
|
|
||||||
server: https://acme-staging-v02.api.letsencrypt.org/directory
|
|
||||||
email: "${SECRET_CLOUDFLARE_EMAIL}"
|
|
||||||
privateKeySecretRef:
|
|
||||||
name: letsencrypt-staging
|
|
||||||
solvers:
|
|
||||||
- dns01:
|
|
||||||
cloudflare:
|
|
||||||
email: "${SECRET_CLOUDFLARE_EMAIL}"
|
|
||||||
apiKeySecretRef:
|
|
||||||
name: cloudflare-api-key
|
|
||||||
key: api-key
|
|
||||||
selector:
|
|
||||||
dnsZones:
|
|
||||||
- ${SECRET_DOMAIN}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
resources:
|
|
||||||
# renovate: datasource=docker image=quay.io/jetstack/cert-manager-controller
|
|
||||||
- https://github.com/cert-manager/cert-manager/releases/download/v1.9.1/cert-manager.crds.yaml
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
resources:
|
|
||||||
- cert-manager
|
|
||||||
- system-upgrade-controller
|
|
||||||
- metallb
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: source.toolkit.fluxcd.io/v1beta2
|
|
||||||
kind: GitRepository
|
|
||||||
metadata:
|
|
||||||
name: metallb-source
|
|
||||||
namespace: flux-system
|
|
||||||
spec:
|
|
||||||
interval: 12h
|
|
||||||
url: https://github.com/metallb/metallb.git
|
|
||||||
ref:
|
|
||||||
# renovate: registryUrl=https://metallb.github.io/metallb chart=metallb
|
|
||||||
tag: 0.13.7
|
|
||||||
ignore: |
|
|
||||||
# exclude all
|
|
||||||
/*
|
|
||||||
# include crd directory
|
|
||||||
!/config/crd
|
|
||||||
---
|
|
||||||
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
|
|
||||||
kind: Kustomization
|
|
||||||
metadata:
|
|
||||||
name: crds-metallb
|
|
||||||
namespace: flux-system
|
|
||||||
spec:
|
|
||||||
interval: 30m
|
|
||||||
prune: false
|
|
||||||
wait: true
|
|
||||||
sourceRef:
|
|
||||||
kind: GitRepository
|
|
||||||
name: metallb-source
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
resources:
|
|
||||||
# renovate: datasource=docker image=rancher/system-upgrade-controller
|
|
||||||
- https://github.com/rancher/system-upgrade-controller/releases/download/v0.9.1/crd.yaml
|
|
||||||
@@ -5,14 +5,15 @@ metadata:
|
|||||||
name: apps
|
name: apps
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 10m
|
interval: 30m
|
||||||
path: ./cluster/apps
|
path: ./cluster/apps
|
||||||
prune: true
|
prune: true
|
||||||
sourceRef:
|
sourceRef:
|
||||||
kind: GitRepository
|
kind: GitRepository
|
||||||
name: flux-cluster
|
name: flux-cluster
|
||||||
dependsOn:
|
dependsOn:
|
||||||
- name: core
|
- name: config
|
||||||
|
- name: charts
|
||||||
decryption:
|
decryption:
|
||||||
provider: sops
|
provider: sops
|
||||||
secretRef:
|
secretRef:
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: charts
|
name: charts
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 10m
|
interval: 30m
|
||||||
path: ./cluster/charts
|
path: ./cluster/charts
|
||||||
prune: true
|
prune: true
|
||||||
sourceRef:
|
sourceRef:
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: config
|
name: config
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 10m
|
interval: 30m
|
||||||
path: ./cluster/config
|
path: ./cluster/config
|
||||||
prune: true
|
prune: true
|
||||||
sourceRef:
|
sourceRef:
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
|
|
||||||
kind: Kustomization
|
|
||||||
metadata:
|
|
||||||
name: core
|
|
||||||
namespace: flux-system
|
|
||||||
spec:
|
|
||||||
interval: 10m
|
|
||||||
path: ./cluster/core
|
|
||||||
prune: false
|
|
||||||
sourceRef:
|
|
||||||
kind: GitRepository
|
|
||||||
name: flux-cluster
|
|
||||||
dependsOn:
|
|
||||||
- name: charts
|
|
||||||
- name: config
|
|
||||||
- name: crds
|
|
||||||
decryption:
|
|
||||||
provider: sops
|
|
||||||
secretRef:
|
|
||||||
name: sops-age
|
|
||||||
postBuild:
|
|
||||||
substituteFrom:
|
|
||||||
- kind: ConfigMap
|
|
||||||
name: cluster-settings
|
|
||||||
- kind: Secret
|
|
||||||
name: cluster-secrets
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
|
|
||||||
kind: Kustomization
|
|
||||||
metadata:
|
|
||||||
name: crds
|
|
||||||
namespace: flux-system
|
|
||||||
spec:
|
|
||||||
interval: 10m
|
|
||||||
path: ./cluster/crds
|
|
||||||
prune: false
|
|
||||||
sourceRef:
|
|
||||||
kind: GitRepository
|
|
||||||
name: flux-cluster
|
|
||||||
@@ -53,14 +53,14 @@ main() {
|
|||||||
envsubst < "${PROJECT_DIR}/tmpl/cluster/cluster-secrets.sops.yaml" \
|
envsubst < "${PROJECT_DIR}/tmpl/cluster/cluster-secrets.sops.yaml" \
|
||||||
> "${PROJECT_DIR}/cluster/config/cluster-secrets.sops.yaml"
|
> "${PROJECT_DIR}/cluster/config/cluster-secrets.sops.yaml"
|
||||||
envsubst < "${PROJECT_DIR}/tmpl/cluster/cert-manager-secret.sops.yaml" \
|
envsubst < "${PROJECT_DIR}/tmpl/cluster/cert-manager-secret.sops.yaml" \
|
||||||
> "${PROJECT_DIR}/cluster/core/cluster-issuers/secret.sops.yaml"
|
> "${PROJECT_DIR}/cluster/apps/networking/cert-manager/issuers/secret.sops.yaml"
|
||||||
envsubst < "${PROJECT_DIR}/tmpl/cluster/cloudflare-ddns-secret.sops.yaml" \
|
envsubst < "${PROJECT_DIR}/tmpl/cluster/cloudflare-ddns-secret.sops.yaml" \
|
||||||
> "${PROJECT_DIR}/cluster/apps/networking/cloudflare-ddns/secret.sops.yaml"
|
> "${PROJECT_DIR}/cluster/apps/networking/cloudflare-ddns/secret.sops.yaml"
|
||||||
envsubst < "${PROJECT_DIR}/tmpl/cluster/external-dns-secret.sops.yaml" \
|
envsubst < "${PROJECT_DIR}/tmpl/cluster/external-dns-secret.sops.yaml" \
|
||||||
> "${PROJECT_DIR}/cluster/apps/networking/external-dns/secret.sops.yaml"
|
> "${PROJECT_DIR}/cluster/apps/networking/external-dns/secret.sops.yaml"
|
||||||
# encrypt cluster secrets
|
# encrypt cluster secrets
|
||||||
sops --encrypt --in-place "${PROJECT_DIR}/cluster/config/cluster-secrets.sops.yaml"
|
sops --encrypt --in-place "${PROJECT_DIR}/cluster/config/cluster-secrets.sops.yaml"
|
||||||
sops --encrypt --in-place "${PROJECT_DIR}/cluster/core/cluster-issuers/secret.sops.yaml"
|
sops --encrypt --in-place "${PROJECT_DIR}/cluster/apps/networking/cert-manager/issuers/secret.sops.yaml"
|
||||||
sops --encrypt --in-place "${PROJECT_DIR}/cluster/apps/networking/cloudflare-ddns/secret.sops.yaml"
|
sops --encrypt --in-place "${PROJECT_DIR}/cluster/apps/networking/cloudflare-ddns/secret.sops.yaml"
|
||||||
sops --encrypt --in-place "${PROJECT_DIR}/cluster/apps/networking/external-dns/secret.sops.yaml"
|
sops --encrypt --in-place "${PROJECT_DIR}/cluster/apps/networking/external-dns/secret.sops.yaml"
|
||||||
# generate terraform secrets
|
# generate terraform secrets
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ packages:
|
|||||||
- "https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-{{ ansible_distribution_major_version }}.noarch.rpm"
|
- "https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-{{ ansible_distribution_major_version }}.noarch.rpm"
|
||||||
- "https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-{{ ansible_distribution_major_version }}.noarch.rpm"
|
- "https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-{{ ansible_distribution_major_version }}.noarch.rpm"
|
||||||
- dnf-automatic
|
- dnf-automatic
|
||||||
|
- dnf-plugin-system-upgrade
|
||||||
- dnf-utils
|
- dnf-utils
|
||||||
- hdparm
|
- hdparm
|
||||||
- htop
|
- htop
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ metadata:
|
|||||||
name: flux-cluster
|
name: flux-cluster
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 10m
|
interval: 30m
|
||||||
ref:
|
ref:
|
||||||
branch: main
|
branch: main
|
||||||
url: ${BOOTSTRAP_GIT_REPOSITORY}
|
url: ${BOOTSTRAP_GIT_REPOSITORY}
|
||||||
@@ -16,7 +16,7 @@ metadata:
|
|||||||
name: flux-cluster
|
name: flux-cluster
|
||||||
namespace: flux-system
|
namespace: flux-system
|
||||||
spec:
|
spec:
|
||||||
interval: 10m
|
interval: 30m
|
||||||
path: ./cluster/flux
|
path: ./cluster/flux
|
||||||
prune: true
|
prune: true
|
||||||
wait: false
|
wait: false
|
||||||
|
|||||||
Reference in new issue
Block a user