From 914028ea2fadbec2e031e04176c080360e2dcfe3 Mon Sep 17 00:00:00 2001 From: Sean Morley Date: Sat, 7 Dec 2024 16:25:31 -0500 Subject: [PATCH] Update Kubernetes and Kustomize documentation --- documentation/.vitepress/config.mts | 4 ++++ documentation/docs/install/kustomize.md | 6 ++++-- .../install/kustomize_example.md => kustomization.yml | 10 ++++------ 3 files changed, 12 insertions(+), 8 deletions(-) rename documentation/docs/install/kustomize_example.md => kustomization.yml (97%) diff --git a/documentation/.vitepress/config.mts b/documentation/.vitepress/config.mts index 5e315f8..243cec9 100644 --- a/documentation/.vitepress/config.mts +++ b/documentation/.vitepress/config.mts @@ -65,6 +65,10 @@ export default defineConfig({ { text: "Docker 🐋", link: "/docs/install/docker" }, { text: "Proxmox LXC 🐧", link: "/docs/install/proxmox_lxc" }, { text: "Synology NAS ☁️", link: "/docs/install/synology_nas" }, + { + text: "Kubernetes and Kustomize 🌐", + link: "/docs/install/kustomize", + }, { text: "With A Reverse Proxy", diff --git a/documentation/docs/install/kustomize.md b/documentation/docs/install/kustomize.md index 6575325..5e9d074 100644 --- a/documentation/docs/install/kustomize.md +++ b/documentation/docs/install/kustomize.md @@ -1,4 +1,4 @@ -# Kustomize (k8s) +# Kubernetes and Kustomize (k8s) _AdventureLog can be run inside a kubernetes cluster using [kustomize](https://kustomize.io/)._ @@ -7,6 +7,7 @@ _AdventureLog can be run inside a kubernetes cluster using [kustomize](https://k A working kubernetes cluster. AdventureLog has been tested on k8s, but any Kustomize-capable flavor should be easy to use. ## Cluster Routing + Because the AdventureLog backend must be reachable by **both** the web browser and the AdventureLog frontend, k8s-internal routing mechanisms traditional for standing up other similar applications **cannot** be used. In order to host AdventureLog in your cluster, you must therefor configure an internally and externally resolvable ingress that routes to your AdventureLog backend container. @@ -14,6 +15,7 @@ In order to host AdventureLog in your cluster, you must therefor configure an in Once you have made said ingress, set `PUBLIC_SERVER_URL` and `PUBLIC_URL` env variables below to the url of that ingress. ## Tailscale and Headscale + Many k8s homelabs choose to use [Tailscale](https://tailscale.com/) or similar projects to remove the need for open ports in your home firewall. The [Tailscale k8s Operator](https://tailscale.com/kb/1185/kubernetes/) will set up an externally resolvable service/ingress for your AdventureLog instance, @@ -23,7 +25,7 @@ You must [expose tailnet IPs to your cluster](https://tailscale.com/kb/1438/kube ## Getting Started -Take a look at the [example config](kustomize_example.md) and modify it for your usecase. +Take a look at the [example config](https://github.com/seanmorley15/AdventureLog/blob/main/kustomization.yml) and modify it for your usecase. ## Environment Variables diff --git a/documentation/docs/install/kustomize_example.md b/kustomization.yml similarity index 97% rename from documentation/docs/install/kustomize_example.md rename to kustomization.yml index 9396c32..da7c6e7 100644 --- a/documentation/docs/install/kustomize_example.md +++ b/kustomization.yml @@ -1,4 +1,3 @@ -```yaml apiVersion: apps/v1 kind: Deployment metadata: @@ -36,7 +35,7 @@ spec: value: "http://url-typed-into-browser.io:80" - name: BODY_SIZE_LIMIT value: "Infinity" - + - name: adventure-db image: postgis/postgis:15-3.3 imagePullPolicy: IfNotPresent @@ -53,7 +52,7 @@ spec: - name: POSTGRES_USER value: adventure - name: POSTGRES_PASSWORD - valueFrom: + valueFrom: secretKeyRef: name: adventurelog-secret key: adventure-postgres-password @@ -75,7 +74,7 @@ spec: - name: PGUSER value: "adventure" - name: PGPASSWORD - valueFrom: + valueFrom: secretKeyRef: name: adventurelog-secret key: adventure-postgres-password @@ -125,7 +124,7 @@ spec: protocol: TCP port: 80 targetPort: 80 - - name: base + - name: base protocol: TCP port: 8000 targetPort: 8000 @@ -152,4 +151,3 @@ spec: resources: requests: storage: 10Gi -``` \ No newline at end of file