diff --git a/charts/apps/audiobookshelf/Chart.yaml b/charts/apps/charts/audiobookshelf/Chart.yaml similarity index 100% rename from charts/apps/audiobookshelf/Chart.yaml rename to charts/apps/charts/audiobookshelf/Chart.yaml diff --git a/charts/apps/audiobookshelf/templates/client.yaml b/charts/apps/charts/audiobookshelf/templates/client.yaml similarity index 100% rename from charts/apps/audiobookshelf/templates/client.yaml rename to charts/apps/charts/audiobookshelf/templates/client.yaml diff --git a/charts/apps/audiobookshelf/templates/deployment.yaml b/charts/apps/charts/audiobookshelf/templates/deployment.yaml similarity index 100% rename from charts/apps/audiobookshelf/templates/deployment.yaml rename to charts/apps/charts/audiobookshelf/templates/deployment.yaml diff --git a/charts/apps/audiobookshelf/templates/external-http-service.yaml b/charts/apps/charts/audiobookshelf/templates/external-http-service.yaml similarity index 100% rename from charts/apps/audiobookshelf/templates/external-http-service.yaml rename to charts/apps/charts/audiobookshelf/templates/external-http-service.yaml diff --git a/charts/apps/audiobookshelf/templates/pvc.yaml b/charts/apps/charts/audiobookshelf/templates/pvc.yaml similarity index 100% rename from charts/apps/audiobookshelf/templates/pvc.yaml rename to charts/apps/charts/audiobookshelf/templates/pvc.yaml diff --git a/charts/apps/audiobookshelf/templates/service.yaml b/charts/apps/charts/audiobookshelf/templates/service.yaml similarity index 100% rename from charts/apps/audiobookshelf/templates/service.yaml rename to charts/apps/charts/audiobookshelf/templates/service.yaml diff --git a/charts/apps/audiobookshelf/values.yaml b/charts/apps/charts/audiobookshelf/values.yaml similarity index 100% rename from charts/apps/audiobookshelf/values.yaml rename to charts/apps/charts/audiobookshelf/values.yaml diff --git a/charts/apps/bytestash/Chart.yaml b/charts/apps/charts/bytestash/Chart.yaml similarity index 100% rename from charts/apps/bytestash/Chart.yaml rename to charts/apps/charts/bytestash/Chart.yaml diff --git a/charts/apps/bytestash/templates/_headless-service.yaml b/charts/apps/charts/bytestash/templates/_headless-service.yaml similarity index 100% rename from charts/apps/bytestash/templates/_headless-service.yaml rename to charts/apps/charts/bytestash/templates/_headless-service.yaml diff --git a/charts/apps/bytestash/templates/_http-service.yaml b/charts/apps/charts/bytestash/templates/_http-service.yaml similarity index 100% rename from charts/apps/bytestash/templates/_http-service.yaml rename to charts/apps/charts/bytestash/templates/_http-service.yaml diff --git a/charts/apps/miniflux.disable/templates/client.yaml b/charts/apps/charts/bytestash/templates/client.yaml similarity index 84% rename from charts/apps/miniflux.disable/templates/client.yaml rename to charts/apps/charts/bytestash/templates/client.yaml index 377c75d..60befa2 100644 --- a/charts/apps/miniflux.disable/templates/client.yaml +++ b/charts/apps/charts/bytestash/templates/client.yaml @@ -6,5 +6,5 @@ spec: environment: '{{ .Values.globals.environment }}' redirectUris: - path: /api/auth/oidc/callback - subdomain: bytestash + subdomain: '{{ .Values.subdomain }}' matchingMode: strict diff --git a/charts/apps/bytestash/templates/deployment.yaml b/charts/apps/charts/bytestash/templates/deployment.yaml similarity index 100% rename from charts/apps/bytestash/templates/deployment.yaml rename to charts/apps/charts/bytestash/templates/deployment.yaml diff --git a/charts/apps/bytestash/templates/external-http-service.yaml b/charts/apps/charts/bytestash/templates/external-http-service.yaml similarity index 100% rename from charts/apps/bytestash/templates/external-http-service.yaml rename to charts/apps/charts/bytestash/templates/external-http-service.yaml diff --git a/charts/apps/bytestash/templates/pvc.yaml b/charts/apps/charts/bytestash/templates/pvc.yaml similarity index 100% rename from charts/apps/bytestash/templates/pvc.yaml rename to charts/apps/charts/bytestash/templates/pvc.yaml diff --git a/charts/apps/bytestash/templates/service.yaml b/charts/apps/charts/bytestash/templates/service.yaml similarity index 100% rename from charts/apps/bytestash/templates/service.yaml rename to charts/apps/charts/bytestash/templates/service.yaml diff --git a/charts/apps/bytestash/values.yaml b/charts/apps/charts/bytestash/values.yaml similarity index 100% rename from charts/apps/bytestash/values.yaml rename to charts/apps/charts/bytestash/values.yaml diff --git a/charts/apps/gitea/Chart.yaml b/charts/apps/charts/gitea/Chart.yaml similarity index 100% rename from charts/apps/gitea/Chart.yaml rename to charts/apps/charts/gitea/Chart.yaml diff --git a/charts/apps/gitea/templates/client.yaml b/charts/apps/charts/gitea/templates/client.yaml similarity index 100% rename from charts/apps/gitea/templates/client.yaml rename to charts/apps/charts/gitea/templates/client.yaml diff --git a/charts/apps/gitea/templates/database.yaml b/charts/apps/charts/gitea/templates/database.yaml similarity index 100% rename from charts/apps/gitea/templates/database.yaml rename to charts/apps/charts/gitea/templates/database.yaml diff --git a/charts/apps/gitea/templates/deployment.yaml b/charts/apps/charts/gitea/templates/deployment.yaml similarity index 100% rename from charts/apps/gitea/templates/deployment.yaml rename to charts/apps/charts/gitea/templates/deployment.yaml diff --git a/charts/apps/gitea/templates/external-http-service.yaml b/charts/apps/charts/gitea/templates/external-http-service.yaml similarity index 100% rename from charts/apps/gitea/templates/external-http-service.yaml rename to charts/apps/charts/gitea/templates/external-http-service.yaml diff --git a/charts/apps/gitea/templates/pvc.yaml b/charts/apps/charts/gitea/templates/pvc.yaml similarity index 100% rename from charts/apps/gitea/templates/pvc.yaml rename to charts/apps/charts/gitea/templates/pvc.yaml diff --git a/charts/apps/gitea/templates/service.yaml b/charts/apps/charts/gitea/templates/service.yaml similarity index 100% rename from charts/apps/gitea/templates/service.yaml rename to charts/apps/charts/gitea/templates/service.yaml diff --git a/charts/apps/gitea/values.yaml b/charts/apps/charts/gitea/values.yaml similarity index 100% rename from charts/apps/gitea/values.yaml rename to charts/apps/charts/gitea/values.yaml diff --git a/charts/apps/charts/headscale/Chart.yaml b/charts/apps/charts/headscale/Chart.yaml new file mode 100644 index 0000000..01287f5 --- /dev/null +++ b/charts/apps/charts/headscale/Chart.yaml @@ -0,0 +1,3 @@ +apiVersion: v2 +version: 1.0.0 +name: headscale diff --git a/charts/apps/charts/headscale/templates/client.yaml b/charts/apps/charts/headscale/templates/client.yaml new file mode 100644 index 0000000..7401edd --- /dev/null +++ b/charts/apps/charts/headscale/templates/client.yaml @@ -0,0 +1,10 @@ +apiVersion: homelab.mortenolsen.pro/v1 +kind: OidcClient +metadata: + name: '{{ .Release.Name }}' +spec: + environment: '{{ .Values.globals.environment }}' + redirectUris: + - path: /oidc/callback + subdomain: '{{ .Values.subdomain }}' + matchingMode: strict diff --git a/charts/apps/charts/headscale/templates/config-map.yaml b/charts/apps/charts/headscale/templates/config-map.yaml new file mode 100644 index 0000000..3906380 --- /dev/null +++ b/charts/apps/charts/headscale/templates/config-map.yaml @@ -0,0 +1,70 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: '{{ .Release.Name }}-config-template' +data: + config.yaml.template: | + server_url: ${PUBLIC_URL} + listen_addr: 0.0.0.0:8080 + metrics_listen_addr: 0.0.0.0:9090 + grpc_listen_addr: 0.0.0.0:50443 + + private_key_path: /var/lib/headscale/private_key # Path inside the container + + noise: + private_key_path: /var/lib/headscale/noise_private_key # Path inside the container + + listen_routes: false + base_domain: "${PUBLIC_URL}" # For client routes and DNS push. + + derp: + server: + enabled: false + region_id: 999 + region_code: "headscale" + region_name: "Headscale Embedded DERP" + stun_listen_addr: "0.0.0.0:3478" + automatically_add_embedded_derp_region: true + urls: + - https://controlplane.tailscale.com/derpmap/default + auto_update_enabled: true + update_frequency: 24h + + oidc: + enabled: true + only_start_if_oidc_is_available: true + issuer: "${OIDC_ISSUER_URL}" + client_id: "${OIDC_CLIENT_ID}" + client_secret: "${OIDC_CLIENT_SECRET}" + scopes: ["openid", "profile", "email"] + redirect_url: "${PUBLIC_URL}/oidc/callback" + pkce: + enabled: true + method: S256 + + + # DNS configuration + dns: + magic_dns: false + override_local_dns: true # Push Headscale's DNS settings to clients + ttl: 60 + nameservers: + global: + - 1.1.1.1 # Cloudflare DNS + #- 10.43.0.10 # Replace with your ClusterIP for kube-dns/CoreDNS + # Domains to search for (e.g., for Kubernetes services) + search_domains: + - svc.cluster.local + - cluster.local + + auto_create_users: true + + oidc_user_property: preferred_username # Or 'email' or 'sub' + + prefixes: + v4: 10.20.20.0/24 # Example: A /24 subnet for your VPN clients + + database: + type: sqlite + sqlite: + path: /var/lib/headscale/db.sqlite diff --git a/charts/apps/charts/headscale/templates/deployment.yaml b/charts/apps/charts/headscale/templates/deployment.yaml new file mode 100644 index 0000000..5fe4a05 --- /dev/null +++ b/charts/apps/charts/headscale/templates/deployment.yaml @@ -0,0 +1,97 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: '{{ .Release.Name }}' + labels: + app: '{{ .Release.Name }}' +spec: + replicas: 1 + selector: + matchLabels: + app: '{{ .Release.Name }}' + template: + metadata: + labels: + app: '{{ .Release.Name }}' + spec: + # To expose WireGuard UDP directly, we need a NodePort service. + # The Pod needs to be aware of the external port it's being exposed on. + # The easiest way to get WireGuard to listen on the correct port and make it + # externally accessible is to use `hostNetwork: true` for the UDP component, + # or by directly specifying the listen port in Headscale config if the NodePort is stable. + + # OPTION 1: Best for simple homelab on bare metal where host network traffic isn't an issue + # hostNetwork: true # This makes the pod listen directly on the node's IPs + # dnsPolicy: ClusterFirstWithHostNet # Required if using hostNetwork + + initContainers: + - name: generate-config + image: alpine/git # A small image with 'envsubst' available or easily installable + imagePullPolicy: IfNotPresent + command: ['sh', '-c'] + args: + - | + # Install envsubst if it's not present (alpine/git may not have it by default) + apk update && apk add bash gettext + + # Substitute environment variables into the template + # The vars are passed via `env` section below + envsubst < /config-template/config.yaml.template > /etc/headscale/config.yaml + + mkdir -p /etc/headscale + # Optional: Verify the generated config + echo "--- Generated Headscale Configuration ---" + cat /etc/headscale/config.yaml + echo "---------------------------------------" + env: + # These are the variables that `envsubst` will look for and replace + - name: PUBLIC_URL + value: 'https://{{ .Values.subdomain }}.olsen.cloud' + - name: OIDC_ISSUER_URL + valueFrom: + secretKeyRef: + name: '{{ .Release.Name }}-client' + key: configurationIssuer + - name: OIDC_CLIENT_ID + valueFrom: + secretKeyRef: + name: '{{ .Release.Name }}-client' + key: clientId + - name: OIDC_CLIENT_SECRET + valueFrom: + secretKeyRef: + name: '{{ .Release.Name }}-client' + key: clientSecret + # Add any other variables used in config.yaml.template here + volumeMounts: + - name: config-template + mountPath: /config-template # Mount the ConfigMap as a volume + readOnly: true + - name: headscale-config + mountPath: /etc/headscale # Destination for the generated config + + containers: + - name: '{{ .Release.Name }}' + image: headscale/headscale:latest # Use the official image + command: ['headscale', 'serve'] + ports: + - name: http-api + containerPort: 8080 + protocol: TCP + - name: wireguard-udp + containerPort: 41641 + protocol: UDP + volumeMounts: + - name: headscale-data + mountPath: /var/lib/headscale + - name: headscale-config + mountPath: /etc/headscale + volumes: + - name: config-template + configMap: + name: '{{ .Release.Name }}-config-template' + - name: headscale-config + emptyDir: {} + - name: headscale-data + persistentVolumeClaim: + claimName: '{{ .Release.Name }}-data' diff --git a/charts/apps/jellyfin/templates/external-http-service.yaml b/charts/apps/charts/headscale/templates/external-http-service.yaml similarity index 100% rename from charts/apps/jellyfin/templates/external-http-service.yaml rename to charts/apps/charts/headscale/templates/external-http-service.yaml diff --git a/charts/apps/metamcp/templates/pvc.yaml b/charts/apps/charts/headscale/templates/pvc.yaml similarity index 100% rename from charts/apps/metamcp/templates/pvc.yaml rename to charts/apps/charts/headscale/templates/pvc.yaml diff --git a/charts/apps/charts/headscale/templates/service.yaml b/charts/apps/charts/headscale/templates/service.yaml new file mode 100644 index 0000000..1e0dee4 --- /dev/null +++ b/charts/apps/charts/headscale/templates/service.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Service +metadata: + name: '{{ .Release.Name }}' + labels: + app: '{{ .Release.Name }}' +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: 8080 + protocol: TCP + name: http + - name: wireguard-udp # TODO: should this be a LB service? + port: 41641 + targetPort: 41641 + protocol: UDP + selector: + app: '{{ .Release.Name }}' diff --git a/charts/apps/charts/headscale/values.yaml b/charts/apps/charts/headscale/values.yaml new file mode 100644 index 0000000..bebba02 --- /dev/null +++ b/charts/apps/charts/headscale/values.yaml @@ -0,0 +1,7 @@ +globals: + environment: prod +image: + repository: headscale/headscale + tag: latest + pullPolicy: IfNotPresent +subdomain: headscale diff --git a/charts/apps/jellyfin/Chart.yaml b/charts/apps/charts/jellyfin/Chart.yaml similarity index 100% rename from charts/apps/jellyfin/Chart.yaml rename to charts/apps/charts/jellyfin/Chart.yaml diff --git a/charts/apps/jellyfin/notes.md b/charts/apps/charts/jellyfin/notes.md similarity index 100% rename from charts/apps/jellyfin/notes.md rename to charts/apps/charts/jellyfin/notes.md diff --git a/charts/apps/jellyfin/templates/client.yaml b/charts/apps/charts/jellyfin/templates/client.yaml similarity index 100% rename from charts/apps/jellyfin/templates/client.yaml rename to charts/apps/charts/jellyfin/templates/client.yaml diff --git a/charts/apps/jellyfin/templates/config-pvc.yaml b/charts/apps/charts/jellyfin/templates/config-pvc.yaml similarity index 100% rename from charts/apps/jellyfin/templates/config-pvc.yaml rename to charts/apps/charts/jellyfin/templates/config-pvc.yaml diff --git a/charts/apps/jellyfin/templates/deployment.yaml b/charts/apps/charts/jellyfin/templates/deployment.yaml similarity index 100% rename from charts/apps/jellyfin/templates/deployment.yaml rename to charts/apps/charts/jellyfin/templates/deployment.yaml diff --git a/charts/apps/metamcp/templates/external-http-service.yaml b/charts/apps/charts/jellyfin/templates/external-http-service.yaml similarity index 100% rename from charts/apps/metamcp/templates/external-http-service.yaml rename to charts/apps/charts/jellyfin/templates/external-http-service.yaml diff --git a/charts/apps/jellyfin/templates/service.yaml b/charts/apps/charts/jellyfin/templates/service.yaml similarity index 100% rename from charts/apps/jellyfin/templates/service.yaml rename to charts/apps/charts/jellyfin/templates/service.yaml diff --git a/charts/apps/jellyfin/values.yaml b/charts/apps/charts/jellyfin/values.yaml similarity index 100% rename from charts/apps/jellyfin/values.yaml rename to charts/apps/charts/jellyfin/values.yaml diff --git a/charts/apps/metamcp/Chart.yaml b/charts/apps/charts/metamcp/Chart.yaml similarity index 100% rename from charts/apps/metamcp/Chart.yaml rename to charts/apps/charts/metamcp/Chart.yaml diff --git a/charts/apps/metamcp/templates/database.yaml b/charts/apps/charts/metamcp/templates/database.yaml similarity index 100% rename from charts/apps/metamcp/templates/database.yaml rename to charts/apps/charts/metamcp/templates/database.yaml diff --git a/charts/apps/metamcp/templates/deployment.yaml b/charts/apps/charts/metamcp/templates/deployment.yaml similarity index 100% rename from charts/apps/metamcp/templates/deployment.yaml rename to charts/apps/charts/metamcp/templates/deployment.yaml diff --git a/charts/apps/miniflux.disable/templates/external-http-service.yaml b/charts/apps/charts/metamcp/templates/external-http-service.yaml similarity index 100% rename from charts/apps/miniflux.disable/templates/external-http-service.yaml rename to charts/apps/charts/metamcp/templates/external-http-service.yaml diff --git a/charts/apps/miniflux.disable/templates/pvc.yaml b/charts/apps/charts/metamcp/templates/pvc.yaml similarity index 100% rename from charts/apps/miniflux.disable/templates/pvc.yaml rename to charts/apps/charts/metamcp/templates/pvc.yaml diff --git a/charts/apps/metamcp/templates/secret.yaml b/charts/apps/charts/metamcp/templates/secret.yaml similarity index 100% rename from charts/apps/metamcp/templates/secret.yaml rename to charts/apps/charts/metamcp/templates/secret.yaml diff --git a/charts/apps/metamcp/templates/service.yaml b/charts/apps/charts/metamcp/templates/service.yaml similarity index 100% rename from charts/apps/metamcp/templates/service.yaml rename to charts/apps/charts/metamcp/templates/service.yaml diff --git a/charts/apps/metamcp/values.yaml b/charts/apps/charts/metamcp/values.yaml similarity index 100% rename from charts/apps/metamcp/values.yaml rename to charts/apps/charts/metamcp/values.yaml diff --git a/charts/apps/miniflux.disable/Chart.yaml b/charts/apps/charts/miniflux.disable/Chart.yaml similarity index 100% rename from charts/apps/miniflux.disable/Chart.yaml rename to charts/apps/charts/miniflux.disable/Chart.yaml diff --git a/charts/apps/bytestash/templates/client.yaml b/charts/apps/charts/miniflux.disable/templates/client.yaml similarity index 100% rename from charts/apps/bytestash/templates/client.yaml rename to charts/apps/charts/miniflux.disable/templates/client.yaml diff --git a/charts/apps/miniflux.disable/templates/deployment.yaml b/charts/apps/charts/miniflux.disable/templates/deployment.yaml similarity index 100% rename from charts/apps/miniflux.disable/templates/deployment.yaml rename to charts/apps/charts/miniflux.disable/templates/deployment.yaml diff --git a/charts/apps/n8n/templates/external-http-service.yaml b/charts/apps/charts/miniflux.disable/templates/external-http-service.yaml similarity index 100% rename from charts/apps/n8n/templates/external-http-service.yaml rename to charts/apps/charts/miniflux.disable/templates/external-http-service.yaml diff --git a/charts/apps/n8n/templates/pvc.yaml b/charts/apps/charts/miniflux.disable/templates/pvc.yaml similarity index 100% rename from charts/apps/n8n/templates/pvc.yaml rename to charts/apps/charts/miniflux.disable/templates/pvc.yaml diff --git a/charts/apps/miniflux.disable/templates/service.yaml b/charts/apps/charts/miniflux.disable/templates/service.yaml similarity index 100% rename from charts/apps/miniflux.disable/templates/service.yaml rename to charts/apps/charts/miniflux.disable/templates/service.yaml diff --git a/charts/apps/miniflux.disable/values.yaml b/charts/apps/charts/miniflux.disable/values.yaml similarity index 100% rename from charts/apps/miniflux.disable/values.yaml rename to charts/apps/charts/miniflux.disable/values.yaml diff --git a/charts/apps/n8n/Chart.yaml b/charts/apps/charts/n8n/Chart.yaml similarity index 100% rename from charts/apps/n8n/Chart.yaml rename to charts/apps/charts/n8n/Chart.yaml diff --git a/charts/apps/n8n/templates/database.yaml b/charts/apps/charts/n8n/templates/database.yaml similarity index 100% rename from charts/apps/n8n/templates/database.yaml rename to charts/apps/charts/n8n/templates/database.yaml diff --git a/charts/apps/n8n/templates/deployment.yaml b/charts/apps/charts/n8n/templates/deployment.yaml similarity index 100% rename from charts/apps/n8n/templates/deployment.yaml rename to charts/apps/charts/n8n/templates/deployment.yaml diff --git a/charts/apps/openwebui/templates/external-http-service.yaml b/charts/apps/charts/n8n/templates/external-http-service.yaml similarity index 100% rename from charts/apps/openwebui/templates/external-http-service.yaml rename to charts/apps/charts/n8n/templates/external-http-service.yaml diff --git a/charts/apps/ollama/templates/pvc.yaml b/charts/apps/charts/n8n/templates/pvc.yaml similarity index 100% rename from charts/apps/ollama/templates/pvc.yaml rename to charts/apps/charts/n8n/templates/pvc.yaml diff --git a/charts/apps/n8n/templates/service.yaml b/charts/apps/charts/n8n/templates/service.yaml similarity index 100% rename from charts/apps/n8n/templates/service.yaml rename to charts/apps/charts/n8n/templates/service.yaml diff --git a/charts/apps/n8n/values.yaml b/charts/apps/charts/n8n/values.yaml similarity index 100% rename from charts/apps/n8n/values.yaml rename to charts/apps/charts/n8n/values.yaml diff --git a/charts/apps/ollama/Chart.yaml b/charts/apps/charts/ollama/Chart.yaml similarity index 100% rename from charts/apps/ollama/Chart.yaml rename to charts/apps/charts/ollama/Chart.yaml diff --git a/charts/apps/ollama/templates/client.yaml b/charts/apps/charts/ollama/templates/client.yaml similarity index 100% rename from charts/apps/ollama/templates/client.yaml rename to charts/apps/charts/ollama/templates/client.yaml diff --git a/charts/apps/ollama/templates/deployment.yaml b/charts/apps/charts/ollama/templates/deployment.yaml similarity index 100% rename from charts/apps/ollama/templates/deployment.yaml rename to charts/apps/charts/ollama/templates/deployment.yaml diff --git a/charts/apps/openwebui/templates/pvc.yaml b/charts/apps/charts/ollama/templates/pvc.yaml similarity index 100% rename from charts/apps/openwebui/templates/pvc.yaml rename to charts/apps/charts/ollama/templates/pvc.yaml diff --git a/charts/apps/ollama/templates/service.yaml b/charts/apps/charts/ollama/templates/service.yaml similarity index 100% rename from charts/apps/ollama/templates/service.yaml rename to charts/apps/charts/ollama/templates/service.yaml diff --git a/charts/apps/ollama/values.yaml b/charts/apps/charts/ollama/values.yaml similarity index 100% rename from charts/apps/ollama/values.yaml rename to charts/apps/charts/ollama/values.yaml diff --git a/charts/apps/openwebui/Chart.yaml b/charts/apps/charts/openwebui/Chart.yaml similarity index 100% rename from charts/apps/openwebui/Chart.yaml rename to charts/apps/charts/openwebui/Chart.yaml diff --git a/charts/apps/openwebui/templates/client.yaml b/charts/apps/charts/openwebui/templates/client.yaml similarity index 100% rename from charts/apps/openwebui/templates/client.yaml rename to charts/apps/charts/openwebui/templates/client.yaml diff --git a/charts/apps/openwebui/templates/deployment.yaml b/charts/apps/charts/openwebui/templates/deployment.yaml similarity index 100% rename from charts/apps/openwebui/templates/deployment.yaml rename to charts/apps/charts/openwebui/templates/deployment.yaml diff --git a/charts/apps/charts/openwebui/templates/external-http-service.yaml b/charts/apps/charts/openwebui/templates/external-http-service.yaml new file mode 100644 index 0000000..e28916d --- /dev/null +++ b/charts/apps/charts/openwebui/templates/external-http-service.yaml @@ -0,0 +1,11 @@ +apiVersion: homelab.mortenolsen.pro/v1 +kind: ExternalHttpService +metadata: + name: '{{ .Release.Name }}' +spec: + environment: '{{ .Values.globals.environment }}' + subdomain: '{{ .Values.subdomain }}' + destination: + host: '{{ .Release.Name }}.{{ .Release.Namespace }}.svc.cluster.local' + port: + number: 80 diff --git a/charts/apps/charts/openwebui/templates/pvc.yaml b/charts/apps/charts/openwebui/templates/pvc.yaml new file mode 100644 index 0000000..bc1d0a6 --- /dev/null +++ b/charts/apps/charts/openwebui/templates/pvc.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: '{{ .Release.Name }}-data' +spec: + accessModes: + - 'ReadWriteOnce' + resources: + requests: + storage: '1Gi' + storageClassName: '{{ .Values.globals.environment }}' diff --git a/charts/apps/openwebui/templates/service.yaml b/charts/apps/charts/openwebui/templates/service.yaml similarity index 100% rename from charts/apps/openwebui/templates/service.yaml rename to charts/apps/charts/openwebui/templates/service.yaml diff --git a/charts/apps/openwebui/values.yaml b/charts/apps/charts/openwebui/values.yaml similarity index 100% rename from charts/apps/openwebui/values.yaml rename to charts/apps/charts/openwebui/values.yaml diff --git a/charts/apps/values.yaml b/charts/apps/charts/values.yaml similarity index 100% rename from charts/apps/values.yaml rename to charts/apps/charts/values.yaml diff --git a/charts/volumes/Chart.yaml b/charts/apps/charts/volumes/Chart.yaml similarity index 100% rename from charts/volumes/Chart.yaml rename to charts/apps/charts/volumes/Chart.yaml diff --git a/charts/volumes/templates/books-pvc.yaml b/charts/apps/charts/volumes/templates/books-pvc.yaml similarity index 100% rename from charts/volumes/templates/books-pvc.yaml rename to charts/apps/charts/volumes/templates/books-pvc.yaml diff --git a/charts/volumes/templates/movies-pvc.yaml b/charts/apps/charts/volumes/templates/movies-pvc.yaml similarity index 100% rename from charts/volumes/templates/movies-pvc.yaml rename to charts/apps/charts/volumes/templates/movies-pvc.yaml diff --git a/charts/volumes/templates/music-pvc.yaml b/charts/apps/charts/volumes/templates/music-pvc.yaml similarity index 100% rename from charts/volumes/templates/music-pvc.yaml rename to charts/apps/charts/volumes/templates/music-pvc.yaml diff --git a/charts/volumes/templates/podcasts-pvc.yaml b/charts/apps/charts/volumes/templates/podcasts-pvc.yaml similarity index 100% rename from charts/volumes/templates/podcasts-pvc.yaml rename to charts/apps/charts/volumes/templates/podcasts-pvc.yaml diff --git a/charts/volumes/templates/tv-pvc.yaml b/charts/apps/charts/volumes/templates/tv-pvc.yaml similarity index 100% rename from charts/volumes/templates/tv-pvc.yaml rename to charts/apps/charts/volumes/templates/tv-pvc.yaml diff --git a/charts/volumes/values.yaml b/charts/apps/charts/volumes/values.yaml similarity index 100% rename from charts/volumes/values.yaml rename to charts/apps/charts/volumes/values.yaml diff --git a/charts/root/Chart.yaml b/charts/apps/root/Chart.yaml similarity index 100% rename from charts/root/Chart.yaml rename to charts/apps/root/Chart.yaml diff --git a/charts/root/templates/apps.yaml b/charts/apps/root/templates/apps.yaml similarity index 100% rename from charts/root/templates/apps.yaml rename to charts/apps/root/templates/apps.yaml diff --git a/charts/root/templates/root.yaml b/charts/apps/root/templates/root.yaml similarity index 100% rename from charts/root/templates/root.yaml rename to charts/apps/root/templates/root.yaml diff --git a/charts/root/values.yaml b/charts/apps/root/values.yaml similarity index 100% rename from charts/root/values.yaml rename to charts/apps/root/values.yaml