From 7f660291ff6a18ac7ee093a4bdd600465a693265 Mon Sep 17 00:00:00 2001 From: Tommy Date: Fri, 20 Oct 2023 13:41:14 +0200 Subject: [PATCH] Improve docs --- README.org | 81 ++++++++++-------------------------------------- docs/ingress.org | 62 ++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+), 65 deletions(-) create mode 100644 docs/ingress.org diff --git a/README.org b/README.org index 97b6280..fc13dc1 100644 --- a/README.org +++ b/README.org @@ -1,79 +1,30 @@ #+TITLE: Helm Charts #+DATE: 2023-10-18 -* Kubernetes applications packaged into helm charts +** Kubernetes applications packaged into helm charts -Started on the repo of [ananace](https://gitlab.com/ananace/charts) and extended with various other charts I needed to adapt for my cluster. Charts are minimal and are stripped to only accept Secrets. +Minimal charts built for use with Flux. -*** [[charts/element-web][Element Web]] -*** [[charts/matrix-media-repo][Matrix Media Repo]] -*** [[charts/matrix-synapse][Matrix Synapse]] -*** [[charts/synatainer][Synatainer]] -*** [[charts/sliding-sync-proxy][Matrix Sliding Sync / Sync v3 proxy]] +Repo was inspired (and some parts imported) from [[https://gitlab.com/ananace/charts][ananace]]. -** Usage +*** Charts + +**** [[charts/element-web][Element Web]] + +A simplified version of ananace chart, implementing secrets for PostgreSQL as well. + +**** [[charts/matrix-media-repo][Matrix Media Repo]] +**** [[charts/matrix-synapse][Matrix Synapse]] +**** [[charts/synatainer][Synatainer]] +**** [[charts/sliding-sync-proxy][Matrix Sliding Sync / Sync v3 proxy]] + +*** Usage #+BEGIN_SRC $ helm repo add tommy-skaug-charts ghcr.io/tommy-skaug/charts #+END_SRC -*** Ingress - -The charts maintains the internal networking and you wire the connection to the outside world. I use two ingress classes: Tailscale and nginx, and you can wire a service by adding to kustomization and [[https://fluxcd.io/][flux]] e.g. like the following. - -To expose publicly via nginx: - -#+BEGIN_SRC yaml ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: matrix-synapse-ingress - namespace: messaging - annotations: - external-dns.alpha.kubernetes.io/target: ingress.${PUBLIC_DOMAIN} -spec: - ingressClassName: nginx - rules: - - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: matrix-synapse - port: - number: 8008 - tls: - - hosts: - - matrix -#+END_SRC - -To use the [[https://tailscale.com/kb/1236/kubernetes-operator/][Tailscale operator]]: - -#+BEGIN_SRC yaml ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: hajimari-ingress - namespace: home -spec: - ingressClassName: tailscale - rules: - - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: hajimari - port: - number: 3000 - tls: - - hosts: - - apps -#+END_SRC +Check out the ingress configuration in [[./docs/ingress.org][ingress.org]] ** License diff --git a/docs/ingress.org b/docs/ingress.org new file mode 100644 index 0000000..51746e0 --- /dev/null +++ b/docs/ingress.org @@ -0,0 +1,62 @@ +#+TITLE: Ingress +#+DATE: 2023-10-20 + +The charts maintains the internal networking and you wire the connection to the outside world. I use two ingress classes: Tailscale and nginx, and you can wire a service by adding to kustomization and [[https://fluxcd.io/][flux]] e.g. like the following. + +** Nginx + +To expose publicly via nginx: + +#+BEGIN_SRC yaml +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: matrix-synapse-ingress + namespace: messaging + annotations: + external-dns.alpha.kubernetes.io/target: ingress.${PUBLIC_DOMAIN} +spec: + ingressClassName: nginx + rules: + - http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: matrix-synapse + port: + number: 8008 + tls: + - hosts: + - matrix +#+END_SRC + +** Tailscale + +To use the [[https://tailscale.com/kb/1236/kubernetes-operator/][Tailscale operator]]: + +#+BEGIN_SRC yaml +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: hajimari-ingress + namespace: home +spec: + ingressClassName: tailscale + rules: + - http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: hajimari + port: + number: 3000 + tls: + - hosts: + - apps +#+END_SRC \ No newline at end of file