docs: add build ticket map and Redis/inventory corrections [#632]

46 build tickets filed (#633-#678) under umbrella #632 in Redmine
project 55; STATUS.md carries the full map. NetBox re-rated as a strong
candidate (Cloudron HAS a redis addon - earlier claim was wrong). README
inventory reconciled to GitUrlList.txt (57 rows); grist-core excluded
(packaged upstream); disposition flags on warp/policies/craig.

Detail: https://projects.knownelement.com/issues/632#note-1

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
This commit is contained in:
2026-09-01 18:04:26 -05:00
parent 420342a620
commit b93d0a2d69
2 changed files with 86 additions and 16 deletions
+10 -3
View File
@@ -11,7 +11,10 @@ The Cloudron component focuses on packaging upstream free/libre/open application
- **Total Applications**: ~57 (see [GitUrlList.txt](GitUrlList.txt)) - **Total Applications**: ~57 (see [GitUrlList.txt](GitUrlList.txt))
- **Completed Packages**: 9/~57 (~16%) - **Completed Packages**: 9/~57 (~16%)
- **Packaging Templates**: Created ✅ - **Packaging Templates**: Created ✅
- **Packages Committed & Pushed**: 7 - **Packages Committed & Pushed**: 9
- **Build Tickets**: 46 filed (#633-#678, umbrella
[#632](https://projects.knownelement.com/issues/632), Redmine project 55);
grist-core excluded (packaged upstream)
> Living status is tracked in [STATUS.md](STATUS.md) (agent-maintained). > Living status is tracked in [STATUS.md](STATUS.md) (agent-maintained).
@@ -118,7 +121,7 @@ Applications are organized by function rather than programming language:
| [OpenBoxes](https://github.com/openboxes/openboxes) | [GitHub](https://github.com/openboxes/openboxes) | Supply chain management for inventory | Business-Apps | | [OpenBoxes](https://github.com/openboxes/openboxes) | [GitHub](https://github.com/openboxes/openboxes) | Supply chain management for inventory | Business-Apps |
| [Nautilus Trader](https://github.com/nautechsystems/nautilus_trader) | [GitHub](https://github.com/nautechsystems/nautilus_trader) | Algorithmic trading platform | Financial-Trading | | [Nautilus Trader](https://github.com/nautechsystems/nautilus_trader) | [GitHub](https://github.com/nautechsystems/nautilus_trader) | Algorithmic trading platform | Financial-Trading |
| [APISIX](https://github.com/apache/apisix) | [GitHub](https://github.com/apache/apisix) | Cloud-native API gateway | API-Gateway | ✅ Packaged | | [APISIX](https://github.com/apache/apisix) | [GitHub](https://github.com/apache/apisix) | Cloud-native API gateway | API-Gateway | ✅ Packaged |
| [Grist Core](https://github.com/gristlabs/grist-core) | [GitHub](https://github.com/gristlabs/grist-core) | Modern data spreadsheet and database | Collaboration | | [Grist Core](https://github.com/gristlabs/grist-core) | [GitHub](https://github.com/gristlabs/grist-core) | Modern data spreadsheet and database | Collaboration | ⏭ Excluded — packaged upstream (Cloudron App Store) |
| [Healthchecks](https://github.com/healthchecks/healthchecks) | [GitHub](https://github.com/healthchecks/healthchecks) | Cron job monitoring service | Monitoring | ✅ Packaged | | [Healthchecks](https://github.com/healthchecks/healthchecks) | [GitHub](https://github.com/healthchecks/healthchecks) | Cron job monitoring service | Monitoring | ✅ Packaged |
| [Fleet](https://github.com/fleetdm/fleet) | [GitHub](https://github.com/fleetdm/fleet) | Device management and monitoring | Monitoring | | [Fleet](https://github.com/fleetdm/fleet) | [GitHub](https://github.com/fleetdm/fleet) | Device management and monitoring | Monitoring |
| [NetBox](https://github.com/netbox-community/netbox) | [GitHub](https://github.com/netbox-community/netbox) | IP address management (IPAM) and data center infrastructure management | Infrastructure | | [NetBox](https://github.com/netbox-community/netbox) | [GitHub](https://github.com/netbox-community/netbox) | IP address management (IPAM) and data center infrastructure management | Infrastructure |
@@ -151,15 +154,19 @@ Applications are organized by function rather than programming language:
| [Core](https://github.com/Resgrid/Core) | [GitHub](https://github.com/Resgrid/Core) | Emergency management and incident response system | Project-Management | | [Core](https://github.com/Resgrid/Core) | [GitHub](https://github.com/Resgrid/Core) | Emergency management and incident response system | Project-Management |
| [SDRangel](https://github.com/f4exb/sdrangel) | [GitHub](https://github.com/f4exb/sdrangel) | Software defined radio application | Infrastructure | | [SDRangel](https://github.com/f4exb/sdrangel) | [GitHub](https://github.com/f4exb/sdrangel) | Software defined radio application | Infrastructure |
| [No-Code Architects Toolkit](https://github.com/stephengpope/no-code-architects-toolkit) | [GitHub](https://github.com/stephengpope/no-code-architects-toolkit) | No-code development toolkit | Low-Code | | [No-Code Architects Toolkit](https://github.com/stephengpope/no-code-architects-toolkit) | [GitHub](https://github.com/stephengpope/no-code-architects-toolkit) | No-code development toolkit | Low-Code |
| [Warp](https://github.com/sebo-b/warp) | [GitHub](https://github.com/sebo-b/warp) | Terminal and shell enhancement tool | Development | | | [Warp](https://github.com/sebo-b/warp) | [GitHub](https://github.com/sebo-b/warp) | Terminal and shell enhancement tool | Development | ❓ Disposition #674 (dup) |
| [Windmill](https://github.com/windmill-labs/windmill) | [GitHub](https://github.com/windmill-labs/windmill) | Open-source workflow automation platform | Automation | ✅ Packaged | | [Windmill](https://github.com/windmill-labs/windmill) | [GitHub](https://github.com/windmill-labs/windmill) | Open-source workflow automation platform | Automation | ✅ Packaged |
| [Corteza](https://github.com/cortezaproject/corteza) | [GitHub](https://github.com/cortezaproject/corteza) | Open-source low-code platform | Low-Code | | [Corteza](https://github.com/cortezaproject/corteza) | [GitHub](https://github.com/cortezaproject/corteza) | Open-source low-code platform | Low-Code |
| [Security Awareness Training](https://github.com/security-companion/security-awareness-training) | [GitHub](https://github.com/security-companion/security-awareness-training) | Security awareness training platform | Security | | [Security Awareness Training](https://github.com/security-companion/security-awareness-training) | [GitHub](https://github.com/security-companion/security-awareness-training) | Security awareness training platform | Security |
| [Comply](https://github.com/strongdm/comply) | [GitHub](https://github.com/strongdm/comply) | Compliance and audit management | Security | | [Comply](https://github.com/strongdm/comply) | [GitHub](https://github.com/strongdm/comply) | Compliance and audit management | Security |
| [TODO Group Policies](https://github.com/todogroup/policies) | [GitHub](https://github.com/todogroup/policies) | Open source program policy templates | Development | ❓ Disposition #677 (docs repo) |
| [Puter](https://github.com/HeyPuter/puter) | [GitHub](https://github.com/HeyPuter/puter) | The Internet OS - Personal Cloud Computer | Development | ✅ Packaged | | [Puter](https://github.com/HeyPuter/puter) | [GitHub](https://github.com/HeyPuter/puter) | The Internet OS - Personal Cloud Computer | Development | ✅ Packaged |
| [Craig](https://github.com/CraigChat/craig) | [GitHub](https://github.com/CraigChat/craig) | Discord audio recording bot | Communication | ❓ Disposition #678 (Discord bot) |
**Package Status Legend**: **Package Status Legend**:
- ✅ Packaged: Complete Cloudron package created and committed - ✅ Packaged: Complete Cloudron package created and committed
- ⏳ In Progress: Currently being packaged - ⏳ In Progress: Currently being packaged
- 📦 Repository: Source repository cloned, packaging not started - 📦 Repository: Source repository cloned, packaging not started
- ❌ Complex: Requires significant packaging effort - ❌ Complex: Requires significant packaging effort
- ⏭ Excluded: Not packaged here (already available for Cloudron upstream)
- ❓ Disposition: verify-and-close review (dupes, non-apps, out-of-scope)
+76 -13
View File
@@ -3,14 +3,18 @@
> **Human read-only. Agents maintain this file automatically after each work > **Human read-only. Agents maintain this file automatically after each work
> session.** Do not edit by hand — the next agent run will overwrite it. > session.** Do not edit by hand — the next agent run will overwrite it.
> >
> **Last updated:** 2026-07-30 by Crush (GLM-5.2) — Windmill packaged (OIDC, > **Last updated:** 2026-09-01 by Crush (GLM-5.2) — 46 build tickets filed
> PostgreSQL, no Redis); draw.io + Windmill validated end-to-end with docker. > (#633-#678, umbrella #632, Redmine project 55); clone-repos.sh repaired
> and re-run; Cloudron redis-addon correction (NetBox re-rated viable).
## Current State: STABLE (packaging phase, ongoing) ## Current State: STABLE (packaging phase, ongoing)
Cloudron packaging pipeline is operational. 9 of ~57 upstream applications are Cloudron packaging pipeline is operational. 9 of ~57 upstream applications are
packaged, committed, and pushed. Packaging templates exist for the core packaged, committed, and pushed. Packaging templates exist for the core
patterns. The gardening protocol (this file + AGENTS.md) keeps docs in sync. patterns. The gardening protocol (this file + AGENTS.md) keeps docs in sync.
All remaining apps now carry build tickets (#633-#678) under umbrella
[#632](https://projects.knownelement.com/issues/632) in Redmine project 55 —
ready for the sequential grind-driver pattern.
## Completed Packages (9) ## Completed Packages (9)
@@ -30,6 +34,61 @@ Each package lives in `Package-Workspace/<Category>/<app>/` and contains a
`Dockerfile`, `CloudronManifest.json`, `README.md`, `CHANGELOG.md`, `logo.png`, `Dockerfile`, `CloudronManifest.json`, `README.md`, `CHANGELOG.md`, `logo.png`,
and (where relevant) `start.sh` + `.env.example`. and (where relevant) `start.sh` + `.env.example`.
## Build Ticket Map (46 open, filed 2026-09-01)
All under umbrella [#632](https://projects.knownelement.com/issues/632)
(Redmine project 55, tracker Feature). Excluded: **grist-core** (a Cloudron
package already exists upstream — do not package).
| Ticket | App | Category | Flavor |
|--------|-----|----------|--------|
| #633 | GoAlert | Monitoring | build (research queue) |
| #634 | Tirreno | Security | build |
| #635 | Runme | Automation | disposition (service story unclear) |
| #636 | DataHub | Data-Management | build (heavy; disposition risk) |
| #637 | Docassemble | Legal | build |
| #638 | Pimcore | Business-Apps | build |
| #639 | Database-Gateway | Infrastructure | build (httpAuth proxy candidate) |
| #640 | FX | DevOps-Tools | build (proxy candidate) |
| #641 | Fonoster | Communication | build |
| #642 | Rundeck | Automation | build |
| #643 | HyperSwitch | Financial-Payments | build |
| #644 | PayrollEngine | Business-Apps | build |
| #645 | OpenBoxes | Business-Apps | build |
| #646 | Nautilus Trader | Financial-Trading | disposition (headless lib) |
| #647 | Fleet | Monitoring | build (research queue) |
| #648 | NetBox | Infrastructure | build (redis addon; strong candidate) |
| #649 | SeaTunnel | Data-Management | disposition (service vs tool) |
| #650 | Rathole | Infrastructure | build (proxy) |
| #651 | Easy-Gate | Infrastructure | build (proxy) |
| #652 | Huginn | Automation | build |
| #653 | ConsulDemocracy | Collaboration | build |
| #654 | BOINC | Scientific-Computing | disposition (server packaging heavy) |
| #655 | Slurm | System-Administration | disposition (likely out of scope) |
| #656 | Gophish | Security | blocked-on-auth |
| #657 | SniperPhish | Security | build |
| #658 | InvenTree | Business-Apps | build (research queue) |
| #659 | Mender | System-Administration | build |
| #660 | Langfuse | Monitoring | build (research queue) |
| #661 | WireViz | Documentation-Tools | disposition (covered by wireviz-web) |
| #662 | KillBill | Business-Apps | build |
| #663 | AutoBOM | Development | disposition (service story unclear) |
| #664 | Midday | Business-Apps | disposition (hosted-Clerk auth risk) |
| #665 | OpenBlocks | Low-Code | build |
| #666 | SigNoz | Monitoring | build (research queue) |
| #667 | Sentry | Monitoring | build (research queue) |
| #668 | ChirpStack | Infrastructure | build (OIDC promising) |
| #669 | eLabFTW | Business-Apps | build (OIDC/LDAP promising) |
| #670 | PLMore | Business-Apps | disposition |
| #671 | Resgrid Core | Project-Management | build |
| #672 | SDRangel | Infrastructure | disposition (desktop app) |
| #673 | No-Code Architects Toolkit | Low-Code | build |
| #674 | Warp | Development | disposition (duplicate entry) |
| #675 | Security Awareness Training | Security | build |
| #676 | Comply | Security | disposition (CLI toolkit) |
| #677 | TODO Group Policies | Development | disposition (docs repo) |
| #678 | Craig | Communication | disposition (Discord bot) |
## Packaging Patterns Established ## Packaging Patterns Established
1. **Official-image wrapper** — APISIX, Healthchecks, Review Board 1. **Official-image wrapper** — APISIX, Healthchecks, Review Board
@@ -90,13 +149,14 @@ LDAP acceptable (risk flag), 🔄 = auth-proxy (no users), ❌ = local-only
| App | OIDC | LDAP | Verdict | Note | | App | OIDC | LDAP | Verdict | Note |
|-----|------|------|---------|------| |-----|------|------|---------|------|
| NetBox | yes | yes | ✅ auth, ❌ Redis | OIDC+LDAP native, but HARD Redis dep (Cloudron has none) — Complex | | NetBox | yes | yes | ✅ preferred | OIDC+LDAP native; Cloudron redis addon available (**corrected 2026-09-01** — earlier "no Redis" claim was wrong). Ticket #648 |
| Gophish | no | no | ❌ blocked | Local admin login only, no SSO — do not package until auth added | | Gophish | no | no | ❌ blocked | Local admin login only, no SSO — do not package until auth added |
**Immediate queue:** research next OIDC/auth-proxy candidates (Sentry, SigNoz, **Immediate queue:** work the build-ticket batch (#633-#678) via the grind
Langfuse, Fleet, InvenTree, GoAlert) and pick the cleanest wins. pattern; auth research is embedded in each ticket (Sentry #667, SigNoz #666,
**Deferred:** NetBox (bundle Valkey+supervisor — significant), Gophish Langfuse #660, Fleet #647, InvenTree #658, GoAlert #633 are the research
(blocked-on-auth). queue).
**Deferred:** Gophish #656 (blocked-on-auth).
**Tech debt:** add `httpAuth` proxy to Webhook + WireViz Web (stateless apps); **Tech debt:** add `httpAuth` proxy to Webhook + WireViz Web (stateless apps);
revise Puter auth. revise Puter auth.
@@ -104,7 +164,7 @@ revise Puter auth.
| Issue | Impact | Status | | Issue | Impact | Status |
|-------|--------|--------| |-------|--------|--------|
| **Inventory count drift** | GitUrlList.txt has 57 apps; README inventory table lists 55; some entries differ (e.g. `todogroup/policies`, `CraigChat/craig` in GitUrlList but not README table) | Reconcile on next packaging pass — treat GitUrlList.txt as source of truth | | **Inventory count drift** | README inventory table was missing `todogroup/policies` + `CraigChat/craig`; grist-core excluded (packaged upstream) | Fixed 2026-09-01: README reconciled to GitUrlList.txt (57); dispositions ticketed (#674, #677, #678) |
| **Erroneous "Warp" packaged marker** | README inventory row marked Warp ✅ Packaged, but Warp is a duplicate (per RESUME) and no package dir exists | Fixed in this session (README marker removed) | | **Erroneous "Warp" packaged marker** | README inventory row marked Warp ✅ Packaged, but Warp is a duplicate (per RESUME) and no package dir exists | Fixed in this session (README marker removed) |
| **No CI / build validation** | Packages are built but not regression-tested in a pipeline | Future: `cloudron build` + manifest lint in CI | | **No CI / build validation** | Packages are built but not regression-tested in a pipeline | Future: `cloudron build` + manifest lint in CI |
| **Packages not exercised on a live Cloudron** | Untested end-to-end on the production Cloudron VPS | Future: install-test a sample package | | **Packages not exercised on a live Cloudron** | Untested end-to-end on the production Cloudron VPS | Future: install-test a sample package |
@@ -112,15 +172,18 @@ revise Puter auth.
## Pending (next session priorities) ## Pending (next session priorities)
1. **Reconcile the app inventory** — make GitUrlList.txt ↔ README inventory 1. **Work the build-ticket batch** (#633-#678, umbrella #632) — sequential
table ↔ Package-Workspace agree on the exact app set + categories. headless workers, one ticket at a time (grind-driver pattern); auth gate
2. **Pick the next quick wins** — prefer apps with official Docker images first on every ticket. Night window (22:00-07:00 Central) allows wider
(e.g. Windmill, DataHub, Sentry/SigNoz, NetBox, InvenTree). parallel builds per the host day/night profile.
2. **Resolve disposition tickets** (#674, #677, #678, #661, ...) so the
inventory reflects reality.
3. **Validate one package end-to-end** on the Cloudron VPS to prove the 3. **Validate one package end-to-end** on the Cloudron VPS to prove the
packaging patterns in production, not just at build time. packaging patterns in production, not just at build time.
4. **Stand up CI**`cloudron build` + CloudronManifest.json schema lint on 4. **Stand up CI**`cloudron build` + CloudronManifest.json schema lint on
every package change. every package change.
5. Continue category-by-category until all ~57 apps are packaged. 5. Continue until all packageable apps (~50 of 57 after dispositions) are
done.
## Repository Summary ## Repository Summary