fc-desktop: add remotedesktop warm pool intent

This commit is contained in:
Andrew Stoltz
2026-05-19 12:27:47 -05:00
parent ca574c2280
commit 6382582090
3 changed files with 139 additions and 3 deletions

View File

@@ -1,10 +1,13 @@
# FlowerCore Remote Desktop — TLS + Ingress
#
# Source-of-truth split:
# - bluejay-infra OWNS: Certificate, IngressRoute, all NetworkPolicies
# - bluejay-infra OWNS: Certificate, IngressRoute, all NetworkPolicies,
# and the explicit RemoteDesktopPoolCrd warm-pool intent in
# remotedesktop-pools.yaml.
# (see network-policies.yaml in this directory).
# - FlowerCore.RemoteDesktop scripts/deploy-web.sh OWNS: Deployment +
# Service. Reason: image refs like `localhost/fc-desktop:linux-xfce`
# - FlowerCore.RemoteDesktop OWNS: CRD definition/operator Deployment and
# scripts/deploy-web.sh Deployment + Service. Reason: image refs like
# `localhost/fc-desktop:linux-xfce`
# only exist on each node's containerd after a manual import, so a
# Deployment manifest in bluejay-infra would race the image-import
# step and crash-loop.

View File

@@ -0,0 +1,101 @@
# FlowerCore RemoteDesktop warm-pool intent.
#
# These CRDs are deliberately explicit. The RemoteDesktop warmup loop no
# longer scans template defaults to decide what to warm; every enabled pool
# here represents operator/GitOps intent and prevents a repeat of the
# orphan-pool leak from 2026-05-08.
---
apiVersion: flowercore.io/v1
kind: RemoteDesktopPoolCrd
metadata:
name: browser-lab-pool
namespace: fc-desktop
labels:
app.kubernetes.io/name: remotedesktop-pool
app.kubernetes.io/part-of: flowercore-remotedesktop
app.kubernetes.io/managed-by: bluejay-infra
spec:
templateSlug: browser-only
desiredSize: 1
enabled: true
reconcileNow: true
---
apiVersion: flowercore.io/v1
kind: RemoteDesktopPoolCrd
metadata:
name: opensuse-xfce-pool
namespace: fc-desktop
labels:
app.kubernetes.io/name: remotedesktop-pool
app.kubernetes.io/part-of: flowercore-remotedesktop
app.kubernetes.io/managed-by: bluejay-infra
spec:
templateSlug: opensuse-xfce
desiredSize: 1
enabled: true
userVolumeMode: LateAttach
reconcileNow: true
---
apiVersion: flowercore.io/v1
kind: RemoteDesktopPoolCrd
metadata:
name: dev-workstation-pool
namespace: fc-desktop
labels:
app.kubernetes.io/name: remotedesktop-pool
app.kubernetes.io/part-of: flowercore-remotedesktop
app.kubernetes.io/managed-by: bluejay-infra
spec:
templateSlug: dev-workstation
desiredSize: 1
enabled: true
userVolumeMode: LateAttach
reconcileNow: true
---
apiVersion: flowercore.io/v1
kind: RemoteDesktopPoolCrd
metadata:
name: ai-station-pool
namespace: fc-desktop
labels:
app.kubernetes.io/name: remotedesktop-pool
app.kubernetes.io/part-of: flowercore-remotedesktop
app.kubernetes.io/managed-by: bluejay-infra
spec:
templateSlug: ai-station
desiredSize: 1
enabled: true
userVolumeMode: LateAttach
reconcileNow: true
---
apiVersion: flowercore.io/v1
kind: RemoteDesktopPoolCrd
metadata:
name: linux-xfce-pool
namespace: fc-desktop
labels:
app.kubernetes.io/name: remotedesktop-pool
app.kubernetes.io/part-of: flowercore-remotedesktop
app.kubernetes.io/managed-by: bluejay-infra
spec:
templateSlug: linux-xfce
desiredSize: 1
enabled: true
userVolumeMode: LateAttach
reconcileNow: true
---
apiVersion: flowercore.io/v1
kind: RemoteDesktopPoolCrd
metadata:
name: linux-xfce-rdp-pool
namespace: fc-desktop
labels:
app.kubernetes.io/name: remotedesktop-pool
app.kubernetes.io/part-of: flowercore-remotedesktop
app.kubernetes.io/managed-by: bluejay-infra
spec:
templateSlug: linux-xfce-rdp
desiredSize: 1
enabled: true
userVolumeMode: LateAttach
reconcileNow: true