feat(worldbuilder): pin k8s demo to fake backend (#10)
This commit was merged in pull request #10.
This commit is contained in:
@@ -28,9 +28,12 @@ Source: `D:\git\FlowerCore\FlowerCore.WorldBuilder` (master)
|
|||||||
Memory: `feedback_rke2_image_import_per_node_scp`.
|
Memory: `feedback_rke2_image_import_per_node_scp`.
|
||||||
3. **Bump image tag** in `worldbuilder.yaml` and git push.
|
3. **Bump image tag** in `worldbuilder.yaml` and git push.
|
||||||
ArgoCD ApplicationSet picks up within ~3 minutes.
|
ArgoCD ApplicationSet picks up within ~3 minutes.
|
||||||
4. **First production render** — open `https://worldbuilder.iamworkin.lan`,
|
4. **First production render** — open
|
||||||
create World → Character → Storyboard → ExportJob, confirm artifact
|
`https://worldbuilder.iamworkin.lan/studio/c32e0000-0000-4000-8000-000000000004`
|
||||||
downloads. ComfyUI lives on BLUEJAY-WS at `http://10.0.56.20:8188`.
|
and confirm the Cyberpunk Blue Jay demo prompt loads with five seeded fake
|
||||||
|
generated images. This Sprint 32 visitor-safe profile uses
|
||||||
|
`ClientMode=fake`; switch the image-generation env vars back to ComfyUI only
|
||||||
|
for an operator-owned GPU render lane.
|
||||||
|
|
||||||
## Health probes
|
## Health probes
|
||||||
|
|
||||||
@@ -53,8 +56,13 @@ Source: `D:\git\FlowerCore\FlowerCore.WorldBuilder` (master)
|
|||||||
|
|
||||||
## Image generation backend
|
## Image generation backend
|
||||||
|
|
||||||
`FlowerCore:WorldBuilder:ImageGeneration:BaseUrl=http://10.0.56.20:8188` —
|
Sprint 32 pins the Kubernetes profile to
|
||||||
ComfyUI runs on BLUEJAY-WS Windows (R9700 / gfx1201 / ROCm 7.2.1). Pod reaches
|
`FlowerCore:WorldBuilder:ImageGeneration:ClientMode=fake` with
|
||||||
the workstation directly across the 10.0.56.0/24 VLAN (no Podman-style host-
|
`BaseUrl=http://127.0.0.1:1`. That keeps the public/internal visitor demo
|
||||||
filter issues — K8s pods route via Calico, which is L3-routed across the
|
deterministic, avoids GPU exposure, and still exercises the studio/gallery
|
||||||
VLAN).
|
surface with persisted generated-image metadata.
|
||||||
|
|
||||||
|
The previous ComfyUI backend target was `http://10.0.56.20:8188` on
|
||||||
|
BLUEJAY-WS (R9700 / gfx1201 / ROCm 7.2.1). Re-enable it only in an
|
||||||
|
operator-owned follow-up that also verifies workstation reachability and image
|
||||||
|
import freshness.
|
||||||
|
|||||||
@@ -16,7 +16,11 @@ kind: Namespace
|
|||||||
metadata:
|
metadata:
|
||||||
name: fc-worldbuilder
|
name: fc-worldbuilder
|
||||||
labels:
|
labels:
|
||||||
|
app.kubernetes.io/name: fc-worldbuilder
|
||||||
app.kubernetes.io/part-of: flowercore
|
app.kubernetes.io/part-of: flowercore
|
||||||
|
app.kubernetes.io/managed-by: argocd
|
||||||
|
flowercore.io/tenant-id: system
|
||||||
|
flowercore.io/created-by: bluejay-infra
|
||||||
---
|
---
|
||||||
# SQLite DB + generated image gallery + PDF/PNG exports.
|
# SQLite DB + generated image gallery + PDF/PNG exports.
|
||||||
# Longhorn RWO — single replica with `Recreate` rollout strategy keeps it safe.
|
# Longhorn RWO — single replica with `Recreate` rollout strategy keeps it safe.
|
||||||
@@ -25,6 +29,13 @@ kind: PersistentVolumeClaim
|
|||||||
metadata:
|
metadata:
|
||||||
name: worldbuilder-data
|
name: worldbuilder-data
|
||||||
namespace: fc-worldbuilder
|
namespace: fc-worldbuilder
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: worldbuilder-data
|
||||||
|
app.kubernetes.io/component: storage
|
||||||
|
app.kubernetes.io/part-of: flowercore
|
||||||
|
app.kubernetes.io/managed-by: argocd
|
||||||
|
flowercore.io/tenant-id: system
|
||||||
|
flowercore.io/created-by: bluejay-infra
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
@@ -40,7 +51,13 @@ metadata:
|
|||||||
namespace: fc-worldbuilder
|
namespace: fc-worldbuilder
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: worldbuilder-web
|
app.kubernetes.io/name: worldbuilder-web
|
||||||
|
app.kubernetes.io/component: web
|
||||||
app.kubernetes.io/part-of: flowercore
|
app.kubernetes.io/part-of: flowercore
|
||||||
|
app.kubernetes.io/managed-by: argocd
|
||||||
|
flowercore.io/tenant-id: system
|
||||||
|
flowercore.io/created-by: bluejay-infra
|
||||||
|
annotations:
|
||||||
|
flowercore.io/traceability-standard: k8s-pod-ownership-and-traceability-standard
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
revisionHistoryLimit: 3
|
revisionHistoryLimit: 3
|
||||||
@@ -54,11 +71,16 @@ spec:
|
|||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: worldbuilder-web
|
app.kubernetes.io/name: worldbuilder-web
|
||||||
|
app.kubernetes.io/component: web
|
||||||
app.kubernetes.io/part-of: flowercore
|
app.kubernetes.io/part-of: flowercore
|
||||||
|
app.kubernetes.io/managed-by: argocd
|
||||||
|
flowercore.io/tenant-id: system
|
||||||
|
flowercore.io/created-by: bluejay-infra
|
||||||
annotations:
|
annotations:
|
||||||
prometheus.io/scrape: "true"
|
prometheus.io/scrape: "true"
|
||||||
prometheus.io/port: "8080"
|
prometheus.io/port: "8080"
|
||||||
prometheus.io/path: "/metrics/prometheus"
|
prometheus.io/path: "/metrics/prometheus"
|
||||||
|
flowercore.io/audit-trace-id: "worldbuilder-runtime-demo"
|
||||||
spec:
|
spec:
|
||||||
securityContext:
|
securityContext:
|
||||||
fsGroup: 1654
|
fsGroup: 1654
|
||||||
@@ -92,11 +114,14 @@ spec:
|
|||||||
value: "/data/gallery"
|
value: "/data/gallery"
|
||||||
- name: FlowerCore__WorldBuilder__Export__RootPath
|
- name: FlowerCore__WorldBuilder__Export__RootPath
|
||||||
value: "/data/exports"
|
value: "/data/exports"
|
||||||
# ComfyUI on BLUEJAY-WS (R9700 / gfx1201 / ROCm 7.2.1).
|
# Visitor-safe Sprint 32 profile: fake backend keeps public demo
|
||||||
|
# rendering deterministic and avoids exposing BLUEJAY-WS GPU.
|
||||||
- name: FlowerCore__WorldBuilder__ImageGeneration__BaseUrl
|
- name: FlowerCore__WorldBuilder__ImageGeneration__BaseUrl
|
||||||
value: "http://10.0.56.20:8188"
|
value: "http://127.0.0.1:1"
|
||||||
- name: FlowerCore__WorldBuilder__ImageGeneration__ClientMode
|
- name: FlowerCore__WorldBuilder__ImageGeneration__ClientMode
|
||||||
value: "comfyui"
|
value: "fake"
|
||||||
|
- name: FlowerCore__WorldBuilder__ImageGeneration__BackendId
|
||||||
|
value: "fake"
|
||||||
resources:
|
resources:
|
||||||
# Cluster CPU-request budget runs hot (99% on all 3 nodes at deploy
|
# Cluster CPU-request budget runs hot (99% on all 3 nodes at deploy
|
||||||
# time) while actual CPU usage is well below capacity. Idle Blazor
|
# time) while actual CPU usage is well below capacity. Idle Blazor
|
||||||
@@ -165,7 +190,11 @@ metadata:
|
|||||||
namespace: fc-worldbuilder
|
namespace: fc-worldbuilder
|
||||||
labels:
|
labels:
|
||||||
app.kubernetes.io/name: worldbuilder-web
|
app.kubernetes.io/name: worldbuilder-web
|
||||||
|
app.kubernetes.io/component: web
|
||||||
app.kubernetes.io/part-of: flowercore
|
app.kubernetes.io/part-of: flowercore
|
||||||
|
app.kubernetes.io/managed-by: argocd
|
||||||
|
flowercore.io/tenant-id: system
|
||||||
|
flowercore.io/created-by: bluejay-infra
|
||||||
spec:
|
spec:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
selector:
|
selector:
|
||||||
@@ -180,6 +209,13 @@ kind: Certificate
|
|||||||
metadata:
|
metadata:
|
||||||
name: worldbuilder-web-tls
|
name: worldbuilder-web-tls
|
||||||
namespace: fc-worldbuilder
|
namespace: fc-worldbuilder
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: worldbuilder-web-tls
|
||||||
|
app.kubernetes.io/component: ingress
|
||||||
|
app.kubernetes.io/part-of: flowercore
|
||||||
|
app.kubernetes.io/managed-by: argocd
|
||||||
|
flowercore.io/tenant-id: system
|
||||||
|
flowercore.io/created-by: bluejay-infra
|
||||||
spec:
|
spec:
|
||||||
secretName: worldbuilder-web-tls
|
secretName: worldbuilder-web-tls
|
||||||
issuerRef:
|
issuerRef:
|
||||||
@@ -200,6 +236,13 @@ kind: IngressRoute
|
|||||||
metadata:
|
metadata:
|
||||||
name: worldbuilder-web
|
name: worldbuilder-web
|
||||||
namespace: fc-worldbuilder
|
namespace: fc-worldbuilder
|
||||||
|
labels:
|
||||||
|
app.kubernetes.io/name: worldbuilder-web
|
||||||
|
app.kubernetes.io/component: ingress
|
||||||
|
app.kubernetes.io/part-of: flowercore
|
||||||
|
app.kubernetes.io/managed-by: argocd
|
||||||
|
flowercore.io/tenant-id: system
|
||||||
|
flowercore.io/created-by: bluejay-infra
|
||||||
spec:
|
spec:
|
||||||
entryPoints:
|
entryPoints:
|
||||||
- websecure
|
- websecure
|
||||||
|
|||||||
Reference in New Issue
Block a user