commit 64faf259714bcdb76a6fbec7eff8eb765c4ec179
parent 1000cb8c88bd81739da04a1dae59fde32015c6eb
Author: MTRNord <MTRNord@users.noreply.github.com>
Date: Tue, 18 Nov 2025 20:34:57 +0100
always use prod LE
Signed-off-by: MTRNord <MTRNord@users.noreply.github.com>
Diffstat:
3 files changed, 2 insertions(+), 150 deletions(-)
diff --git a/README.md b/README.md
@@ -1,140 +1 @@
-# Cluster Configs for Midnightthoughts and Nordgedanken
-
-These are the current running setups at Midnightthoughts and Nordegedanken.
-
-This is based on <https://github.com/fluxcd/flux2-kustomize-helm-example/tree/d54e250182ead1f4a00e9fd78b05dc9e0186246d>
-
-## Prerequisites
-
-You will need a Kubernetes cluster version 1.21 or newer.
-For a quick local test, you can use [Kubernetes kind](https://kind.sigs.k8s.io/docs/user/quick-start/).
-Any other Kubernetes setup will work as well though.
-
-Install the Flux CLI on MacOS or Linux using Homebrew:
-
-```sh
-brew install fluxcd/tap/flux
-```
-
-Or install the CLI by downloading precompiled binaries using a Bash script:
-
-```sh
-curl -s https://fluxcd.io/install.sh | sudo bash
-```
-
-## Repository structure
-
-The Git repository contains the following top directories:
-
-- **apps** dir contains Helm releases with a custom configuration per cluster
-- **infrastructure** dir contains common infra tools such as ingress-nginx and cert-manager
-- **clusters** dir contains the Flux configuration per cluster (Note that staging isn't deployed anywhere at this time)
-
-```
-├── apps
-│ ├── base
-│ ├── production
-│ └── staging
-├── infrastructure
-│ ├── configs
-│ └── controllers
-└── clusters
- ├── production
- └── staging
-```
-
-### Applications
-
-The apps configuration is structured into:
-
-- **apps/base/** dir contains namespaces and Helm release definitions
-- **apps/production/** dir contains the production Helm release values
-- **apps/staging/** dir contains the staging values
-
-```
-./apps/
-├── base
-│ └── podinfo
-│ ├── kustomization.yaml
-│ ├── namespace.yaml
-│ ├── release.yaml
-│ └── repository.yaml
-├── production
-│ ├── kustomization.yaml
-│ └── podinfo-patch.yaml
-└── staging
- ├── kustomization.yaml
- └── podinfo-patch.yaml
-```
-
-### Infrastructure
-
-The infrastructure is structured into:
-
-- **infrastructure/controllers/** dir contains namespaces and Helm release definitions for Kubernetes controllers
-- **infrastructure/configs/** dir contains Kubernetes custom resources such as cert issuers and networks policies
-
-```
-./infrastructure/
-├── configs
-│ ├── cluster-issuers.yaml
-│ ├── network-policies.yaml
-│ └── kustomization.yaml
-└── controllers
- ├── cert-manager.yaml
- ├── ingress-nginx.yaml
- ├── weave-gitops.yaml
- └── kustomization.yaml
-```
-
-In **clusters/production/infrastructure.yaml** we replace the Let's Encrypt server value to point to the production API:
-
-```yaml
-apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
-kind: Kustomization
-metadata:
- name: infra-configs
- namespace: flux-system
-spec:
- # ...omitted for brevity
- dependsOn:
- - name: infra-controllers
- patches:
- - patch: |
- - op: replace
- path: /spec/acme/server
- value: https://acme-v02.api.letsencrypt.org/directory
- target:
- kind: ClusterIssuer
- name: letsencrypt
-```
-
-Note that with `dependsOn` we tell Flux to first install or upgrade the controllers and only then the configs.
-This ensures that the Kubernetes CRDs are registered on the cluster, before Flux applies any custom resources.
-
-<!-- TODO setup bootstrap docs -->
-
-## Useful things
-
-Watch for the Helm releases being installed:
-
-```console
-$ watch flux get helmreleases --all-namespaces
-
-NAMESPACE NAME REVISION SUSPENDED READY MESSAGE
-flux-system weave-gitops 4.0.12 False True Release reconciliation succeeded
-```
-
-Watch kustomizations getting deployed:
-
-```console
-$ flux get kustomizations -w
-
-NAME REVISION SUSPENDED READY MESSAGE
-flux-system main@sha1:21ebd912 False True Applied revision: main@sha1:21ebd912
-infra-controllers main@sha1:21ebd912 False True Applied revision: main@sha1:21ebd912
-```
-
-## Kube linter
-
-`kube-linter lint . > audit.txt`
+TODO: Rewrite this file
diff --git a/clusters/talos_cluster/infrastructure.yaml b/clusters/talos_cluster/infrastructure.yaml
@@ -55,14 +55,6 @@ spec:
name: flux-system
path: ./infrastructure_talos/configs
prune: true
- patches:
- - patch: |
- - op: replace
- path: /spec/acme/server
- value: https://acme-v02.api.letsencrypt.org/directory
- target:
- kind: ClusterIssuer
- name: letsencrypt-dns
decryption:
provider: sops
secretRef:
diff --git a/infrastructure_talos/configs/cluster-issuers.yaml b/infrastructure_talos/configs/cluster-issuers.yaml
@@ -5,8 +5,7 @@ metadata:
spec:
acme:
email: mtrnord@nordgedanken.dev
- # The server is replaced in /clusters/production/infrastructure.yaml
- server: https://acme-staging-v02.api.letsencrypt.org/directory
+ server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: letsencrypt-dns-account-key
profile: tlsserver