# Wave 8 — end-user workloads: Temporal, Portainer, and the cloudflared tunnel. # Experimental dirs (llm, forge, dev-tools, shadowsocks) are intentionally # NOT included yet — add them here once they're production-ready. # temporal using unified CNPG pattern (app user, temporal-db-app secret) # Secret copied by bootstrap.sh (like cicd/iam namespaces) apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: temporal namespace: argocd annotations: argocd.argoproj.io/sync-wave: "8" spec: project: homelab sources: - repoURL: https://go.temporal.io/helm-charts chart: temporal targetRevision: "0.74.0" helm: valueFiles: - $values/k8s/apps/temporal/temporal-values.yaml - repoURL: https://github.com/Riotpiaole/riotpiao.homelab.com.git targetRevision: main ref: values destination: server: https://kubernetes.default.svc namespace: temporal syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true --- apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: portainer namespace: argocd annotations: argocd.argoproj.io/sync-wave: "8" spec: project: homelab sources: - repoURL: https://portainer.github.io/k8s/ chart: portainer targetRevision: "*" helm: valueFiles: - $values/k8s/apps/portainer/portainer-values.yaml - repoURL: https://github.com/Riotpiaole/riotpiao.homelab.com.git targetRevision: main ref: values destination: server: https://kubernetes.default.svc namespace: dashboard syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true --- apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: cloudflared namespace: argocd annotations: argocd.argoproj.io/sync-wave: "8" spec: project: homelab source: repoURL: https://github.com/Riotpiaole/riotpiao.homelab.com.git targetRevision: main path: k8s/apps/cloudflared destination: server: https://kubernetes.default.svc namespace: cloudflared syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true --- # iMessage/SMS delivery. Raw manifests: a privileged macOS VM (Docker-OSX) # running the BlueBubbles server, plus its dedicated local StorageClass. # # Pinned to worker-2 via nodeSelector `workload: imessage` + a matching # toleration for that node's taint. Until worker-2 is provisioned this app # syncs everything except the pod, which stays Pending — that is expected. # # No CreateNamespace: namespace.yaml carries `pod-security: privileged`, which # the VM needs (/dev/kvm, privileged), and an ArgoCD-created namespace would # not have those labels. apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: sms namespace: argocd annotations: argocd.argoproj.io/sync-wave: "8" spec: project: homelab source: repoURL: https://github.com/Riotpiaole/riotpiao.homelab.com.git targetRevision: main path: k8s/apps/sms destination: server: https://kubernetes.default.svc namespace: sms syncPolicy: automated: prune: true selfHeal: true --- # Consolidated: homarr + homarr-patches → homarr # Helm chart + values + PostSync hook patch (fix-probes-job.yaml) apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: homarr namespace: argocd annotations: argocd.argoproj.io/sync-wave: "8" spec: project: homelab sources: - repoURL: https://homarr-labs.github.io/charts chart: homarr targetRevision: "*" helm: valueFiles: - $values/k8s/apps/homarr/homarr-values.yaml - repoURL: https://github.com/Riotpiaole/riotpiao.homelab.com.git targetRevision: main ref: values - repoURL: https://github.com/Riotpiaole/riotpiao.homelab.com.git targetRevision: main path: k8s/apps/homarr # PostSync hook: fix-probes-job.yaml destination: server: https://kubernetes.default.svc namespace: dashboard syncPolicy: automated: prune: true selfHeal: true syncOptions: - CreateNamespace=true