diff --git a/apps/fc-signage-appletv/README.md b/apps/fc-signage-appletv/README.md new file mode 100644 index 0000000..fc681d4 --- /dev/null +++ b/apps/fc-signage-appletv/README.md @@ -0,0 +1,14 @@ +# fc-signage-appletv + +Apple TV signage is a sealed appliance running the `FlowerCore.Signage.Agent.AppleTv` tvOS app per ADR-134. + +This ApplicationSet entry is documentation and inventory metadata only. It intentionally creates no `Deployment`, `Service`, or `Pod`. + +The Apple TV app connects outbound to existing FC.Signage.Web surfaces: + +- `https://signage.iamworkin.lan/hub/signage` for SignalR live status. +- `GET /api/v1/nodes/{nodeId}/state` for the 30 second polling fallback. +- `POST /api/v1/nodes/register` and `POST /api/v1/nodes/{nodeId}/enroll` for pairing and mTLS enrollment. +- `POST /api/v1/nodes/{nodeId}/heartbeat` for metrics, current content identity, and local audit excerpts. + +Distribution is via Apple Developer Enterprise Program or TestFlight plus FC.Distribution / UpdateCenter publishing once Apple credentials are available. diff --git a/apps/fc-signage-appletv/kustomization.yaml b/apps/fc-signage-appletv/kustomization.yaml new file mode 100644 index 0000000..76e9d5c --- /dev/null +++ b/apps/fc-signage-appletv/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - manifest.yaml diff --git a/apps/fc-signage-appletv/manifest.yaml b/apps/fc-signage-appletv/manifest.yaml new file mode 100644 index 0000000..0d38439 --- /dev/null +++ b/apps/fc-signage-appletv/manifest.yaml @@ -0,0 +1,26 @@ +# Apple TV signage is a sealed tvOS appliance. This ArgoCD app intentionally +# carries documentation metadata only; no Deployment, Service, or Pod resources +# are created for the player. +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: fc-signage-appletv-docs + namespace: fc-signage + labels: + app.kubernetes.io/name: fc-signage-appletv + app.kubernetes.io/part-of: flowercore-signage + flowercore.io/manifest-kind: docs-only +data: + README: | + FlowerCore.Signage.Agent.AppleTv is distributed through Apple Developer + Enterprise Program or TestFlight, not Kubernetes. + + The app connects outbound to FC.Signage.Web: + - SignalR: https://signage.iamworkin.lan/hub/signage + - Polling fallback: GET /api/v1/nodes/{nodeId}/state + - Enrollment: POST /api/v1/nodes/{nodeId}/enroll + - Heartbeat: POST /api/v1/nodes/{nodeId}/heartbeat + + This placeholder gives ArgoCD and inventory dashboards a first-class + Apple TV signage app entry without creating runtime pods.