diff --git a/README.md b/README.md index 43cc97c..554a39b 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,10 @@ The Cloudron component focuses on packaging upstream free/libre/open application - **Total Applications**: ~57 (see [GitUrlList.txt](GitUrlList.txt)) - **Completed Packages**: 9/~57 (~16%) - **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). @@ -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 | | [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 | -| [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 | | [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 | @@ -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 | | [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 | -| [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 | | [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 | | [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 | +| [Craig](https://github.com/CraigChat/craig) | [GitHub](https://github.com/CraigChat/craig) | Discord audio recording bot | Communication | ❓ Disposition #678 (Discord bot) | **Package Status Legend**: - ✅ Packaged: Complete Cloudron package created and committed - ⏳ In Progress: Currently being packaged - 📦 Repository: Source repository cloned, packaging not started - ❌ 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) diff --git a/STATUS.md b/STATUS.md index b4eb30f..9aebb09 100644 --- a/STATUS.md +++ b/STATUS.md @@ -3,14 +3,18 @@ > **Human read-only. Agents maintain this file automatically after each work > 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, -> PostgreSQL, no Redis); draw.io + Windmill validated end-to-end with docker. +> **Last updated:** 2026-09-01 by Crush (GLM-5.2) — 46 build tickets filed +> (#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) Cloudron packaging pipeline is operational. 9 of ~57 upstream applications are packaged, committed, and pushed. Packaging templates exist for the core 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) @@ -30,6 +34,61 @@ Each package lives in `Package-Workspace///` and contains a `Dockerfile`, `CloudronManifest.json`, `README.md`, `CHANGELOG.md`, `logo.png`, 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 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 | |-----|------|------|---------|------| -| 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 | -**Immediate queue:** research next OIDC/auth-proxy candidates (Sentry, SigNoz, -Langfuse, Fleet, InvenTree, GoAlert) and pick the cleanest wins. -**Deferred:** NetBox (bundle Valkey+supervisor — significant), Gophish -(blocked-on-auth). +**Immediate queue:** work the build-ticket batch (#633-#678) via the grind +pattern; auth research is embedded in each ticket (Sentry #667, SigNoz #666, +Langfuse #660, Fleet #647, InvenTree #658, GoAlert #633 are the research +queue). +**Deferred:** Gophish #656 (blocked-on-auth). **Tech debt:** add `httpAuth` proxy to Webhook + WireViz Web (stateless apps); revise Puter auth. @@ -104,7 +164,7 @@ revise Puter auth. | 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) | | **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 | @@ -112,15 +172,18 @@ revise Puter auth. ## Pending (next session priorities) -1. **Reconcile the app inventory** — make GitUrlList.txt ↔ README inventory - table ↔ Package-Workspace agree on the exact app set + categories. -2. **Pick the next quick wins** — prefer apps with official Docker images - (e.g. Windmill, DataHub, Sentry/SigNoz, NetBox, InvenTree). +1. **Work the build-ticket batch** (#633-#678, umbrella #632) — sequential + headless workers, one ticket at a time (grind-driver pattern); auth gate + first on every ticket. Night window (22:00-07:00 Central) allows wider + 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 packaging patterns in production, not just at build time. 4. **Stand up CI** — `cloudron build` + CloudronManifest.json schema lint on 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