Commit Graph
23 Commits
Author SHA1 Message Date
vpengops b30b2a73f1 docs: gardening after APISIX rewrite + production deploy
STATUS/README inventory updated (APISIX deployed at
apigw.knownelement.com); JOURNAL section 20 (rewrite + deploy).

Umbrella: https://projects.knownelement.com/issues/632
2026-09-07 10:02:16 -05:00
vpengops d8bc507741 feat: add EmonCMS to packaging set (Monitoring) [#907]
Founder direction. Active upstream (AGPL, official docker image
openenergymonitor/emoncms 11.6.10). AUTH GATE: local-only (no
OIDC/LDAP/SAML in core) - package does NOT ship until the founder
explicitly accepts local auth, per policy. Also restored wireviz-web
to GitUrlList (over-pruned during the wireviz CLI kill - it is a
shipped package). Set: 36 apps, 18 packaged.
2026-09-07 07:26:20 -05:00
vpengops 48f122da49 docs: sync ruling wave (kills, Keycloak SAML, keeps) + tables rebuilt [#632]
Closed: Tirreno (wazuh), Rundeck + HyperSwitch + SigNoz (sso-tax/
local-only). Kept: Database-Gateway + Easy-Gate (founder: on
Cloudron), Docassemble GO (native LDAP confirmed). Fleet GO -
Keycloak SAML IdP clears auth risk. KillBill recommended Cloudron-
behind-APISIX. OpenCAD evaluated: org fully archived - declined,
awaiting ruling. GitUrlList 40->35 (rundeck, hyperswitch, signoz,
tirreno, wireviz CLI); category tables rebuilt 18/35.
2026-09-06 20:32:51 -05:00
mrcharles 7e054facad feat!: remove rathole package - superseded by netbird [#650]
Founder ruling: "we will use netbird for all enterprise network
access." Package dir deleted (11th package, f918a90, is hereby
retired); GitUrlList 41->40; counts 19->18; completed tables
renumbered; JOURNAL section retained as history with a superseding
addendum. Standing policy recorded: netbird for network access.
2026-09-06 19:54:56 -05:00
mrcharles c77e596ecd docs: sync founder ruling wave; landed tickets to Feedback [#632]
Killed: Runme, OpenBoxes, Gophish, WireViz, Pimcore (open-core),
Mender (SSO tax). DataHub -> k8s queue. NCAT #673 approved+queued.
Landed 10 moved Resolved->Feedback per founder (UAT pending).
GitUrlList 46->41; standing policies recorded (no-Node, no-open-core,
no-SSO-tax, RustFS makes S3 a non-blocker). Builds still on hold.
2026-09-06 19:48:48 -05:00
mrcharles 69d0d3e896 feat: add InvenTree Cloudron package (Business-Apps) [#658]
Official-image wrapper of inventree/inventree 1.5.2 (digest-pinned).
allauth OIDC provider JSON built from the platform env; invoke update
on boot; RQ worker behind the web-port gate; admin seeded with a
generated password. grind-stack: lowercase image names. 19th package.
Verified: health 200, SSO route 302s to issuer, migrations clean.

Detail: https://projects.knownelement.com/issues/658#note-5086
2026-09-06 19:12:02 -05:00
mrcharles b9bc032d2b feat: add GoAlert Cloudron package (Monitoring) [#633]
Official-image wrapper of goalert/goalert 0.34.1 (digest-pinned),
single Go binary + postgresql only. Native generic OIDC wired from
the platform provider (GOALERT_OIDC_*), data-encryption key
persisted, optional first-admin basic auth. grind-stack verified:
full migration chain, serving, origin canonicalization correct.
18th package; category table reconciled to the 46-app set.
2026-09-06 18:47:20 -05:00
mrcharles 5ba4078133 docs: sync packaging set with human Redmine rulings [#632]
GitUrlList 56 -> 46: removed Langfuse (explicit + new no-Node-apps
policy), Fonoster + PLMore (Node/NestJS), Huginn/Midday/OpenBlocks/
Warp/Comply/TODO-policies (deleted tickets = accepted dispositions),
AutoBOM + Craig (k8s lane). Runme stays (Go, not node). STATUS map
rewritten with per-ticket rulings; README inventory pruned to 46.
PLMore disposition corrected (it IS a PLM suite - template badges
fooled the first read).
2026-09-06 18:44:57 -05:00
mrcharles 1bf9810071 fix(consuldemocracy): verify end-to-end + harden seed/OIDC [#653]
Seed verification over marker trust (observed exit-0 no-op seed),
first-boot-only OIDC auto-enable, logo added, docs synced (JOURNAL
s17, counts 17/~57). grind-stack verified: homepage 200, OIDC SSO
button live.

Detail: https://projects.knownelement.com/issues/653#note-5044
2026-09-06 18:23:54 -05:00
mrcharles cead1523ad feat: add NetBox Cloudron package (Infrastructure) [#648]
Official-image wrapper of netboxcommunity/netbox v4.6.10
(netbox-docker 5.0.2, Granian), digest-pinned. OIDC via
python-social-auth wired to the platform provider; RQ worker
backgrounded behind a web-port gate; addon waits cover the 30s
upstream DB timeout. Full-stack verified: migrations, Granian,
worker, login page + SSO button. 16/~57.

Detail + verification: https://projects.knownelement.com/issues/648#note-4976
2026-09-06 06:26:54 -05:00
mrcharles 1cc0063e03 feat: add eLabFTW Cloudron package (Business-Apps) [#669]
Official-image wrapper of elabftw/elabimg 5.6.12 (tag+digest pinned);
localstorage + mysql + ldap addons; httpPort 443 via DISABLE_HTTPS.
No OIDC upstream -> native LDAP flagged auth-risk. First mysql-addon
and first Business-Apps package; 15/~57. Build verified green under
ukrrs-batch.slice. Docs synced (JOURNAL s15, README, STATUS).

Detail + verification: https://projects.knownelement.com/issues/669#note-3938
2026-09-02 19:58:59 -05:00
mrcharles 0d7543704b feat: add ChirpStack Cloudron package (Infrastructure) [#668]
ChirpStack 4.19.1 (LoRaWAN network server) as the 14th package:
official-image wrapper, digest-pinned, with only bash added to the
upstream alpine runtime. Native OIDC login wired to the Cloudron
platform provider (openid_connect backend, config regenerated every
start); postgresql + redis addons; diesel migrations auto-run.
Operator config (NetID, US915 region, gateway MQTT backend) lives in
seeded files under /app/data/config. Build green; config generation
validated through chirpstack's own TOML parser. Docs gardened to 14
packages.

Ticket: https://projects.knownelement.com/issues/668

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-09-01 19:55:23 -05:00
mrcharles 10e2b7c7ed feat: add FX Cloudron package (DevOps-Tools) [#640]
FX 0.9.48 ("poor man's function as a service") as the 13th package:
pre-compiled goreleaser release binary with sha256 pin on
cloudron/base:4.0.0. fx is a CLI with no user concept, so the package
is a workstation: pinned binary + persistent workspace
(functions/ssh/kube) driven from the Cloudron web terminal, with an
auth-proxied landing page as the only HTTP surface (httpAuth proxy).
Deploys target remote Docker hosts over key-based SSH or Kubernetes
via FX_KUBECONF. Build green; runtime smoke (landing page, workspace
seeding, fx -v) green. Docs gardened to 13 packages.

Ticket: https://projects.knownelement.com/issues/640
2026-09-01 19:39:53 -05:00
mrcharles 3d38c507e8 feat: add Database-Gateway Cloudron package (Infrastructure) [#639]
Database Gateway 0.24.0 as the 12th package: multi-stage Go build
(CGO required by the libpg_query parser, hence an alpine:3.23 runtime
matching upstream), native OIDC wired to the Cloudron platform identity
provider, postgresql addon storage with goose migrations applied at
start, jq-generated config + OPA policy seeded to /app/data. Verified
end-to-end against a throwaway postgres (migrations, policy compile,
startup to the OIDC handoff). Docs gardened to 12 packages.

Ticket: https://projects.knownelement.com/issues/639
2026-09-01 19:28:06 -05:00
mrcharles f918a90c3b feat: add Rathole Cloudron package (Infrastructure) [#650]
Server-mode Rathole 0.5.0 as the 11th package: pinned upstream binary
(sha256 gate) on cloudron/base:4.0.0, control port 2333 plus a 100-port
tunnel exit range, hot-reloading config in /app/data, auth-proxy verdict
(no user concept). Verified end-to-end with a live client tunnel.
Docs gardened (STATUS/README/JOURNAL to 11 packages).

Ticket: https://projects.knownelement.com/issues/650
2026-09-01 19:02:51 -05:00
mrcharles 8d0b0f42f6 feat: add Easy-Gate Cloudron package (Infrastructure) [#651]
Easy Gate 2.0.3 dashboard hub: multi-stage Go build (static binary on
cloudron/base 3.2.0), config persisted at /app/data/easy-gate.json with
real-time hot reload. No user model (IP-subnet groups only), so the app
ships behind the Cloudron auth proxy (httpAuth.type=proxy); localstorage
addon only, no database. Build validated green + smoke test HTTP 200.
Docs synced (STATUS/README/JOURNAL at 10/~57).

Ticket: https://projects.knownelement.com/issues/651

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-09-01 18:34:29 -05:00
mrcharles b93d0a2d69 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
2026-09-01 18:04:26 -05:00
mrcharles 10e558500f feat: add Windmill Cloudron package (Automation)
Windmill is an open-source workflow-automation / internal-apps platform
that turns scripts (Python, JS/TS, Go, Bash, SQL, Rust, ...) into HTTP
endpoints, scheduled jobs, and visual flows. It is PostgreSQL-only —
it uses Postgres LISTEN/NOTIFY for job queuing, so no Redis is required,
making it a clean Cloudron fit.

- Wraps the official ghcr.io/windmill-labs/windmill:1.514.1 image in
  single-container server mode (embedded default worker)
- start.sh composes DATABASE_URL from the Cloudron postgresql addon and
  waits for the DB (bash /dev/tcp, no pg_isready dependency)
- HTTP port 8000, health check on /api/version, 2GB memory limit
- OIDC/SAML supported via the in-app Admin Settings UI (post-install)
- Validated end-to-end: throwaway postgres + windmill ran migrations and
  returned /api/version => "CE v1.514.1", HTTP 200

Gardening: STATUS/README/JOURNAL updated (9/~57 packaged; Automation
1/4). Windmill logged as a new OIDC-preferred completed package.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-07-30 16:15:23 -05:00
mrcharles ac82c22af3 feat: add draw.io Cloudron package (Documentation-Tools)
draw.io (diagrams.net) is a client-side diagramming app. It has no user
model and no server-side state (diagrams live in the browser or cloud
storage), so this is the first package to use the Cloudron
authentication-proxy pattern: httpAuth.type=proxy gates access at the
platform edge — the admin restricts who can reach it and the browser
challenges for Cloudron credentials.

- Wraps the official jgraph/drawio:24.7.17 Tomcat image (pinned, verified)
- No database / no persistent storage; installs curl for the health check
- HTTP port 8080, health check on /
- Validated: docker build + run return HTTP 200, container healthy

Gardening: STATUS/README/JOURNAL updated (8/~57 packaged); new
"official-image wrapper + auth proxy" pattern documented in JOURNAL.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-07-30 16:08:48 -05:00
mrcharles c56e77c59c docs: reconcile stale package counts across docs
The docs had drifted to 5/58 packaged while Corteza (and Puter) were
already committed. Reconcile the headline count to 7/~57 everywhere
per the new gardening protocol (GitUrlList.txt is the source of truth
at 57 upstream apps).

- README.md: 5/58 -> 7, add Corteza to completed table, remove false
  "Warp packaged" marker (duplicate, no package), Low-Code 0/3 -> 1/3,
  link STATUS/AGENTS.
- JOURNAL.md: header + repository stats 5/58 -> 7/~57.
- RESUME.md: mark superseded by STATUS.md (was 2025-01-24, referenced
  dead /home/tsys paths) to avoid two competing status docs.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-07-30 15:49:35 -05:00
mrcharles 9793f99991 docs: update README.md with completed packages progress
- Add Current Progress section with 5 completed packages
- Add Completed Packages table with details
- Update Functional Organization with completion status
- Update Application Inventory with package status legend
- Add progress bar (5/58 = 8.6%)
- Show API-Gateway category at 100% completion
- Include all documentation and resource links

Progress highlights:
- 5/58 packages completed (8.6%)
- 100% completion for API-Gateway category (2/2)
- 50% completion for Development category (2/4)
- 33% completion for Documentation-Tools category (1/3)
- 17% completion for Monitoring category (1/6)

Completed packages:
1. Webhook (API-Gateway) - 775MB
2. APISIX (API-Gateway) - 143MB
3. Healthchecks (Monitoring) - 105MB
4. Review Board (Development) - 1.29GB
5. WireViz Web (Documentation-Tools) - 378MB
6. Puter (Development) - 361MB

Average package time: ~30 minutes
Success rate: 100%
All packages committed and pushed to remote

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-02-04 15:51:46 -05:00
mrcharles 61225a20e5 docs: add comprehensive project documentation
- Add detailed project overview with 58+ applications
- Create functional category organization (20 categories)
- Add complete application inventory table with links
- Document development workflow and directory structure
- Add Cloudron packaging resources and project goals

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-02-04 07:58:24 -05:00
reachableceo e2c8067ae5 Initial commit 2025-11-16 19:35:54 +00:00