Files
bluejay-infra/apps/fc-menuboard/fc-menuboard.yaml
2026-06-04 15:55:07 -05:00

56 lines
1.6 KiB
YAML

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