Client sites: the same three images for every site, configured in barakoBrew
- Dominant language
- C#
- Stars
- 6
- Forks
- 7
- Avg merge
- 4h 42m
- Merged PRs (30d)
- 307
Description
Every site, barakocms.com included, runs the same published barakoCMS, barakoBrew and barakoPress images. Everything that makes a site that site is data set in barakoBrew: a blueprint, a theme, site settings, navigation, pages made of blocks, and connectors to outside data. The images are extended, never customised.
Plan page, with site maps for all three sites: https://claude.ai/code/artifact/cb6f408e-0446-4b97-8392-c885cad5da11
The earlier version of this issue, where a site owned `press.config.ts` and registered its own blocks, is superseded. Its closed work (#714, #715, #717, #719, BaryoDev/barakoBrew#88, #89, BaryoDev/barakoPress#6) still stands.
## Test sites, in order
1. **rckoronadal.org.** Approved Umbraco prototype, no content to migrate. Work on the `barako` branch of its repository, which holds only a blueprint, content and deploy settings.
2. **baryo.dev.** Adds outside data (NuGet, Medium, GitHub) and motion. Answers why it left barakoCMS on 11 September: as a tenant it adds a domain, not a server.
3. **barakocms.com.** Adds docs, changelog, roadmap and the module catalogue.
ColorMeFun is not migrating. It is the boundary check the plan must not design out (#724).
## Decision
- [ ] #795 D22: configuration, then workflows and connectors, then a plugin, then a module only for a rule inside the write. Identity at request time. One renderer, many domains. Same look, generic behaviour.
## Phase 1: model the site
- [ ] #792 tenant domains through the API, and a host lookup
- [ ] #793 identity, theme and site chrome per tenant
## Phase 2: barakoPress reads identity per request, for many domains
- [ ] BaryoDev/barakoPress#20 host to tenant, identity and theme per request, cache per tenant (covers BaryoDev/barakoPress#14)
- [ ] BaryoDev/barakoBrew#134 Site and Theme screens
## Phase 3: pages and navigation
- [ ] #718 Pages module
- [ ] BaryoDev/barakoPress#4 render pages and navigation
- [ ] BaryoDev/barakoBrew#91 pages tree
## Phase 4: collections
- [ ] BaryoDev/barakoPress#5 any collection, from settings, with field filters and colour by option
## Phase 5: block library v1 and the editor
- [ ] BaryoDev/barakoPress#21 the rckoronadal set
- [ ] #720 Forms module
- [ ] BaryoDev/barakoBrew#90 block editor
## Milestone: rckoronadal.org on the stack
- [ ] #721 site kit as data, rckoronadal first
- [ ] BaryoDev/barakoPress#27 look check: screenshot diff against the approved design, the gate before the domain switch
- [ ] #803 a choice field type, for area of focus and its colours
- [ ] BaryoDev/barakoBrew#136 choice field picker, options designer and changing options
- [ ] BaryoDev/barakoPress#28 coming soon mode per tenant, with a preview key, to replace Umbraco's holding page
## Phase 6: outside data and motion
- [ ] #794 collections filled from outside sources on a schedule
- [ ] BaryoDev/barakoPress#22 block library v2
## Milestone: baryo.dev as a tenant
## Phase 7: docs, changelog and roadmap
- [ ] BaryoDev/barakoPress#23 docs collection
- [ ] BaryoDev/barakoPress#24 block library v3
## Milestone: barakocms.com as a tenant
## Later
- [ ] BaryoDev/barakoPress#25 plugin packages through a derived image, enabled per tenant
- [ ] BaryoDev/barakoPress#26 operator blocks, so an operations screen is configuration
- [ ] BaryoDev/barakoPress#7 viewer sessions, needed by gated pages
- [ ] BaryoDev/barakoPress#9 visual editor
## Decided, 14 September 2026
1. **Theme and identity** are a singleton content type per tenant. Contrast is flagged in the barakoBrew Theme screen, not refused by the API (#793).
2. **Plugins** ship in one derived barakoPress image and each tenant enables the blocks it uses (BaryoDev/barakoPress#25).
3. **"The same look"** is a CI screenshot diff at 390px and 1280px, run before each domain switch (BaryoDev/barakoPress#27).
4. **baryo.dev** becomes a tenant, with cached pages still served when the API is briefly down (BaryoDev/barakoPress#20).
## Milestones
| Site | barakoCMS | barakoPress | barakoBrew |
|---|---|---|---|
| Foundation and rckoronadal.org | 4.2.0 | 0.4.0, 0.5.0 | 1.3.0 |
| baryo.dev | 4.3.0 | 0.6.0 | |
| barakocms.com | 4.4.0 | 0.7.0 | |
| Later | | 0.8.0 | |
Security and correctness fixes that should not wait for the sites are on barakoCMS 4.1.1.
Contributor guide
Research direction
This is an umbrella architecture and rollout plan; it names no implementation file or test. Start with the linked site-map plan and decision checklist, then use the phase issues (#792, #793, #718 and #721) as entry points. Done is the staged tenant rollout through the listed site milestones, including the rckoronadal.org milestone.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100