brochure: delete apps/brochure/ — full prune per operator decision 2026-05-19

Removes the apps/brochure/ directory entirely from the bluejay-infra
ApplicationSet glob. ArgoCD will:

  1. See infra-brochure has no git source -> mark for delete
  2. Prune the brochure namespace + Deployment + Service + Certificate
     + Secret + IngressRoute (all generated from the now-gone
     apps/brochure/brochure.yaml)
  3. Remove the infra-brochure Application from argocd ns

Operator decision 2026-05-19 (follow-up to 09387f9 ARCHIVED banner
commit): "Yes, prune argo for brochure. Probably fully deleted there."

The brochure subdomain project was a planning-chain misinterpretation
of "make TtsReader + AI Station production-ready" — see
memory/project_brochure_split_misinterpretation_archived_2026_05_19.md
in FlowerCore.Notes for the full decision record.

Reusable artifacts that were the operator's archive concern stay alive
in their actual homes:

- FlowerCore.Intranet.Web PR #8 content-NuGet carve-out: still in
  Intranet's master, may transfer to TtsReader / AI Station prod work
- Sprint 32 Cl-5 substrate (public-twin design ideas): SUPERSEDED banner
  in-place in FlowerCore.Notes docs/standards/, history preserved
- magpie-doc-writer + wren-walkthrough skill output: unchanged in
  Intranet's flowercore-whats-new/walkthroughs/galleries directories

Companion Notes-side commit updates the "scaled to 0 + ARCHIVED banner"
language in mvp-readiness.html + fleet-roadmap-2026-05-19-sprint36-v2.md
+ memory record to reflect full deletion instead.

Wrong-codebase image localhost/fc-brochure-web:v20260524-sprint32 is
being removed from rke2-server / rke2-agent1 / rke2-agent2 in a
follow-up step (reclaims ~800MB per node).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Andrew Stoltz
2026-05-19 10:42:30 -05:00
parent 09387f90e1
commit ca574c2280
2 changed files with 0 additions and 179 deletions

View File

@@ -1,33 +0,0 @@
# FlowerCore Brochure — ARCHIVED 2026-05-19
**Status:** ARCHIVED. Do not re-enable, do not rebuild the image.
## What this was
A proposed public-facing brochure subdomain (`brochure.flowercore.io`) that would carve `/whats-new`, `/walkthroughs`, and `/galleries` content out of `FlowerCore.Intranet.Web` and serve it anonymously through a new thin Blazor host backed by a `FlowerCore.Brochure.Content` NuGet.
## Why it was archived
The operator asked for **TtsReader and AI Station to become production-ready**. Somewhere along the way that request was misinterpreted by the planning chain into "spin up a new showcase brochure product". The brochure project itself is pointless and a waste of credits. The two actual productionization arcs (TtsReader + AI Station) get the focus instead.
## Archive (don't delete) rationale
Some of the work shipped under this misinterpretation may still have value if pulled back into the actual productionization work:
- `FlowerCore.Intranet.Web` PR #8 (merged Sprint 32) introduced the `FlowerCore.Brochure.Content` content-split carve-out. That code may be reusable as a content-NuGet pattern for TtsReader/AiStation production polish.
- The Sprint 32 Cl-5 substrate (`docs/standards/sprint-32-intranet-brochure-split-substrate-2026-05-24.md`) contains design ideas for public-twin vs. operator-host separation that could apply elsewhere.
- The magpie-doc-writer / wren-walkthrough skills that authored `flowercore-whats-new`, `flowercore-walkthroughs`, `flowercore-galleries` content still produce useful Intranet content — those skills are NOT archived.
The Sprint 34 Cl-4 brochure rebuild Codex pack is at `docs/archived/codex-2026-05-18-fc-brochure-web-rebuild-pack.md` in `FlowerCore.Notes`.
## Cluster state
These manifests stay at `replicas: 0`. ArgoCD keeps the `brochure` namespace + service + cert + IngressRoute objects alive for continuity, but nothing serves real traffic. The `localhost/fc-brochure-web:v20260524-sprint32` image still exists on RKE2 nodes — that image is the wrong codebase (an `FlowerCore.Intranet.Web` binary mis-tagged as brochure during Sprint 33 Cx-5) and can be safely `ctr images rm`'d in a future cleanup.
## Cleanup choices for a future sprint
1. **Leave as-is** (current state). Negligible cluster footprint. Operator can re-evaluate later.
2. **Move directory** to `apps-archived/brochure/` (outside the `apps/*` ApplicationSet glob). ArgoCD prunes the `infra-brochure` Application + the `brochure` namespace. Manifests preserved in git history.
3. **Delete entirely.** Removes from git too. Use only after confirming no reusable patterns are still pending extraction.
All three are valid. Operator-explicit at the time of cleanup.

View File

@@ -1,146 +0,0 @@
# FlowerCore Brochure public host — ARCHIVED 2026-05-19
#
# This project was a MISINTERPRETATION of an operator productionization
# request (TtsReader + AiStation production-ready) that spun up into a
# whole new showcase product. Operator decision 2026-05-19: archive,
# don't delete — the Sprint 32 Cl-5 substrate + the FlowerCore.Intranet.Web
# PR #8 carve-out may have reusable content/admin-panel work that could
# be pulled back into the actual productionization work later.
#
# Do NOT re-enable. Do NOT try to rebuild the brochure-web image.
# Do NOT dispatch the Sprint 34 Cl-4 rebuild pack (now at
# docs/archived/codex-2026-05-18-fc-brochure-web-rebuild-pack.md).
#
# These manifests stay in-place at replicas: 0 for ArgoCD continuity.
# Cleanup options for a future sprint: (a) move this whole directory
# to apps-archived/brochure/ so the ApplicationSet stops tracking it
# and ArgoCD prunes the namespace, OR (b) delete the directory entirely.
# Both are valid; operator-explicit at the time of cleanup.
#
# Memory: project_brochure_split_misinterpretation_archived_2026_05_19
---
apiVersion: v1
kind: Namespace
metadata:
name: brochure
labels:
app.kubernetes.io/part-of: flowercore
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: brochure-web
namespace: brochure
labels:
app: brochure-web
app.kubernetes.io/name: brochure-web
app.kubernetes.io/part-of: flowercore
spec:
replicas: 0 # ARCHIVED 2026-05-19 — brochure project was a misinterpretation; do not re-enable. See file header for context.
revisionHistoryLimit: 3
selector:
matchLabels:
app: brochure-web
template:
metadata:
labels:
app: brochure-web
app.kubernetes.io/name: brochure-web
app.kubernetes.io/part-of: flowercore
spec:
containers:
- name: brochure-web
image: localhost/fc-brochure-web:v20260524-sprint32
imagePullPolicy: Never
ports:
- containerPort: 8080
name: http
env:
- name: ASPNETCORE_ENVIRONMENT
value: Production
- name: ASPNETCORE_URLS
value: "http://+:8080"
resources:
requests:
cpu: "25m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "512Mi"
readinessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 10
periodSeconds: 10
livenessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 30
periodSeconds: 30
securityContext:
runAsNonRoot: true
runAsUser: 1654
runAsGroup: 1654
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
volumeMounts:
- name: tmp
mountPath: /tmp
volumes:
- name: tmp
emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
name: brochure-web
namespace: brochure
labels:
app: brochure-web
app.kubernetes.io/name: brochure-web
app.kubernetes.io/part-of: flowercore
spec:
type: ClusterIP
selector:
app: brochure-web
ports:
- name: http
port: 8080
targetPort: http
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: brochure-web-tls
namespace: brochure
spec:
secretName: brochure-web-tls
issuerRef:
name: step-ca-acme
kind: ClusterIssuer
dnsNames:
- brochure.flowercore.io
duration: 720h
renewBefore: 240h
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: brochure-web-public
namespace: brochure
spec:
entryPoints:
- websecure
routes:
- match: Host(`brochure.flowercore.io`) && (Method(`GET`) || Method(`HEAD`))
kind: Rule
services:
- name: brochure-web
port: 8080
tls:
secretName: brochure-web-tls