# FlowerCore Scoreboard — TLS + Ingress # Deployment and Service managed by deploy script (not ArgoCD) --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: scoreboard-web-tls namespace: fc-scoreboard spec: secretName: scoreboard-web-tls issuerRef: name: step-ca-acme kind: ClusterIssuer dnsNames: - scoreboard.iamworkin.lan --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: scoreboard-web namespace: fc-scoreboard spec: entryPoints: - websecure routes: - match: Host(`scoreboard.iamworkin.lan`) kind: Rule services: - name: scoreboard-web port: 80 tls: secretName: scoreboard-web-tls # ---- PUBLIC HOST PRE-STAGING (DISABLED - Sprint 61+ exposure go-decision only) ---- # When the operator decides to expose scoreboard-web publicly, uncomment + update the host, # then verify the five safe-to-expose gates (authentik-safe-to-expose-readiness-2026-06-07.md section 2). # # --- IngressRoute --- # apiVersion: traefik.io/v1alpha1 # kind: IngressRoute # metadata: # name: scoreboard-web-public # namespace: fc-scoreboard # spec: # entryPoints: [websecure] # routes: # - match: Host(`scoreboard.flowercore.io`) && (Method(`GET`) || Method(`HEAD`)) # kind: Rule # middlewares: # - name: scoreboard-web-public-profile-header # injects entitlement profile # services: # - name: scoreboard-web # port: 80 # tls: {} # # POST/PUT/PATCH/DELETE miss every route -> Traefik 404 -> no admin writes on the public surface. # # Reference pattern: dist.flowercore.io (already live + method-gated; do not edit that one).