# FlowerCore Digital Signage — TLS + Ingress # Deployment and Service managed by deploy script (not ArgoCD) --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: signage-web-tls namespace: fc-signage spec: secretName: signage-web-tls issuerRef: name: step-ca-acme kind: ClusterIssuer dnsNames: - signage.iamworkin.lan --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: signage-web namespace: fc-signage spec: entryPoints: - websecure routes: - match: Host(`signage.iamworkin.lan`) kind: Rule services: - name: signage-web port: 5190 tls: secretName: signage-web-tls --- # HTTP route for signage players that may not use TLS apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: signage-web-http namespace: fc-signage spec: entryPoints: - web routes: - match: Host(`signage.iamworkin.lan`) kind: Rule services: - name: signage-web port: 5190 # ---- PUBLIC HOST PRE-STAGING (DISABLED - Sprint 61+ exposure go-decision only) ---- # When the operator decides to expose signage-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: signage-web-public # namespace: fc-signage # spec: # entryPoints: [websecure] # routes: # - match: Host(`signage.flowercore.io`) && (Method(`GET`) || Method(`HEAD`)) # kind: Rule # middlewares: # - name: signage-web-public-profile-header # injects entitlement profile # services: # - name: signage-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).