apiVersion: apps/v1 kind: Deployment metadata: name: site-profile-cloudflared labels: app.kubernetes.io/controller: main app.kubernetes.io/instance: site-profile app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: cloudflared app.kubernetes.io/version: 2026.3.0 helm.sh/chart: cloudflared-2.4.0 namespace: site-profile spec: revisionHistoryLimit: 3 replicas: 1 strategy: type: Recreate selector: matchLabels: app.kubernetes.io/controller: main app.kubernetes.io/name: cloudflared app.kubernetes.io/instance: site-profile template: metadata: labels: app.kubernetes.io/controller: main app.kubernetes.io/instance: site-profile app.kubernetes.io/name: cloudflared spec: enableServiceLinks: false serviceAccountName: default automountServiceAccountToken: true hostIPC: false hostNetwork: false hostPID: false dnsPolicy: ClusterFirst containers: - args: - tunnel - --protocol - http2 - --no-autoupdate - run - --token - $(CF_MANAGED_TUNNEL_TOKEN) env: - name: CF_MANAGED_TUNNEL_TOKEN valueFrom: secretKeyRef: key: cf-tunnel-token name: site-profile-cloudflared-secret image: cloudflare/cloudflared:2026.3.0 imagePullPolicy: IfNotPresent name: main resources: requests: cpu: 10m memory: 128Mi --- apiVersion: apps/v1 kind: Deployment metadata: name: site-profile labels: app.kubernetes.io/controller: main app.kubernetes.io/instance: site-profile app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: site-profile helm.sh/chart: site-profile-4.6.2 namespace: site-profile spec: revisionHistoryLimit: 3 replicas: 3 strategy: type: RollingUpdate selector: matchLabels: app.kubernetes.io/controller: main app.kubernetes.io/name: site-profile app.kubernetes.io/instance: site-profile template: metadata: labels: app.kubernetes.io/controller: main app.kubernetes.io/instance: site-profile app.kubernetes.io/name: site-profile spec: enableServiceLinks: false serviceAccountName: default automountServiceAccountToken: true hostIPC: false hostNetwork: false hostPID: false dnsPolicy: ClusterFirst containers: - image: harbor.alexlebens.net/images/site-profile:3.12.1 imagePullPolicy: IfNotPresent name: main resources: requests: cpu: 10m memory: 128Mi --- apiVersion: external-secrets.io/v1 kind: ExternalSecret metadata: name: site-profile-cloudflared-secret namespace: site-profile labels: helm.sh/chart: cloudflared-2.4.0 app.kubernetes.io/instance: site-profile app.kubernetes.io/part-of: site-profile app.kubernetes.io/version: "2.4.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: site-profile-cloudflared-secret spec: secretStoreRef: kind: ClusterSecretStore name: vault data: - secretKey: cf-tunnel-token remoteRef: conversionStrategy: Default decodingStrategy: None key: /cloudflare/tunnels/site-profile metadataPolicy: None property: token --- apiVersion: v1 kind: Service metadata: name: site-profile labels: app.kubernetes.io/instance: site-profile app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: site-profile app.kubernetes.io/service: site-profile helm.sh/chart: site-profile-4.6.2 namespace: site-profile spec: type: ClusterIP ports: - port: 80 targetPort: 4321 protocol: TCP name: http selector: app.kubernetes.io/controller: main app.kubernetes.io/instance: site-profile app.kubernetes.io/name: site-profile