## Summary - nginx container (`containers/cv/`) downloads and serves a content tarball at startup (same pattern as quartz) - ArgoCD app + k8s manifests (deployment, service, Tailscale ingress) - Caddy route for `cv.ops.eblu.me` - Deploy workflow: resolves "latest" or specific version from Forgejo packages, updates deployment, syncs ArgoCD - Content is built and released from the separate [cv repo](https://forge.ops.eblu.me/eblume/cv) ## Deployment steps (after merge) 1. `mise run container-tag-and-release cv v1.0.0` 2. Run "Release CV" workflow in cv repo (SPECIFIC_VERSION `v0.1.0`) 3. Run "Deploy CV" workflow in blumeops (default: latest) 4. `mise run provision-indri -- --tags caddy` 5. Verify at `https://cv.ops.eblu.me/` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/169
27 lines
663 B
YAML
27 lines
663 B
YAML
---
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: cv-tailscale
|
|
namespace: cv
|
|
annotations:
|
|
tailscale.com/proxy-class: "default"
|
|
tailscale.com/proxy-group: "ingress"
|
|
tailscale.com/tags: "tag:k8s"
|
|
gethomepage.dev/enabled: "true"
|
|
gethomepage.dev/name: "CV"
|
|
gethomepage.dev/group: "Apps"
|
|
gethomepage.dev/icon: "mdi-file-document"
|
|
gethomepage.dev/description: "Resume / CV"
|
|
gethomepage.dev/href: "https://cv.ops.eblu.me"
|
|
gethomepage.dev/pod-selector: "app=cv"
|
|
spec:
|
|
ingressClassName: tailscale
|
|
defaultBackend:
|
|
service:
|
|
name: cv
|
|
port:
|
|
number: 80
|
|
tls:
|
|
- hosts:
|
|
- cv
|