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.
This commit is contained in:
@@ -3,7 +3,8 @@
|
||||
> **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-09-06 by ZCode (GLM-5.3) — ConsulDemocracy packaged (17th; verified via grind lifecycle)
|
||||
> **Last updated:** 2026-09-06 by ZCode (GLM-5.3) — GoAlert packaged (18th; rulings synced:
|
||||
> GitUrlList 56→46, no-Node policy live)
|
||||
> (#648, Infrastructure, 16th package); auth gate verdict: native OIDC via
|
||||
> python-social-auth (OpenIdConnectAuth + SOCIAL_AUTH_OIDC_*) wired to the
|
||||
> platform provider; official-image wrapper of netboxcommunity/netbox
|
||||
@@ -13,14 +14,14 @@
|
||||
|
||||
## Current State: STABLE (packaging phase, ongoing)
|
||||
|
||||
Cloudron packaging pipeline is operational. 17 of ~57 upstream applications are
|
||||
Cloudron packaging pipeline is operational. 18 of 46 remaining-set 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 (17)
|
||||
## Completed Packages (18)
|
||||
|
||||
| # | Application | Category | Pattern | Port(s) | Addons |
|
||||
|---|-------------|----------|---------|---------|--------|
|
||||
@@ -56,7 +57,7 @@ GitUrlList pruned 56 → 46 accordingly.
|
||||
|
||||
| Ticket | App | Category | Flavor |
|
||||
|--------|-----|----------|--------|
|
||||
| #633 | GoAlert | Monitoring | GO: verify passed 2026-09-06, commit landing next |
|
||||
| #633 | GoAlert | Monitoring | DONE 2026-09-06 (18th package, grind-verified) |
|
||||
| #634 | Tirreno | Security | build (already live on Cloudron — verify packaging need) |
|
||||
| #635 | Runme | Automation | pending service-story ruling (Go CLI runner, NOT node) |
|
||||
| #636 | DataHub | Data-Management | build (heavy; disposition risk) |
|
||||
@@ -105,27 +106,27 @@ Full write-ups of each pattern + challenges are in [`JOURNAL.md`](JOURNAL.md).
|
||||
|
||||
## Progress by Category
|
||||
|
||||
| Category | Apps | Packaged | Notes |
|
||||
| Category | Apps | Packaged | Notes |
|
||||
|----------|------|----------|-------|
|
||||
| **API-Gateway** | 2 | 2/2 (100%) ✅ | Category complete |
|
||||
| Development | 4 | 2/4 | reviewboard, puter done |
|
||||
| **DevOps-Tools** | 1 | 1/1 (100%) ✅ | Category complete |
|
||||
| **Development** | 2 | 2/2 (100%) ✅ | reviewboard, puter (autobom removed) |
|
||||
| Documentation-Tools | 3 | 2/3 | wireviz-web, draw.io done |
|
||||
| Low-Code | 3 | 1/3 | corteza done |
|
||||
| Monitoring | 6 | 1/6 | healthchecks done |
|
||||
| Automation | 4 | 1/4 | windmill done |
|
||||
| Business-Apps | 8 | 1/8 | elabftw done |
|
||||
| Low-Code | 2 | 1/2 | corteza done (openblocks removed) |
|
||||
| Monitoring | 5 | 2/5 | healthchecks, goalert done (langfuse removed) |
|
||||
| Automation | 3 | 1/3 | windmill done (huginn removed) |
|
||||
| Business-Apps | 6 | 1/6 | elabftw done (midday removed) |
|
||||
| Collaboration | 2 | 1/2 | consuldemocracy done |
|
||||
| Communication | 1 | 0/1 | |
|
||||
| Data-Management | 2 | 0/2 | |
|
||||
| DevOps-Tools | 1 | 1/1 (100%) ✅ | fx done |
|
||||
| Financial-Payments | 1 | 0/1 | |
|
||||
| Financial-Trading | 1 | 0/1 | |
|
||||
| Infrastructure | 6 | 5/6 | easy-gate, rathole, database-gateway, chirpstack, netbox done |
|
||||
| Legal | 1 | 0/1 | |
|
||||
| Project-Management | 1 | 0/1 | |
|
||||
| Scientific-Computing | 2 | 0/2 | |
|
||||
| Security | 5 | 0/5 | |
|
||||
| System-Administration | 2 | 0/2 | |
|
||||
| Data-Management | 2 | 0/2 | datahub, seatunnel |
|
||||
| Security | 4 | 0/4 | tirreno, gophish, sniperphish, sat (comply removed) |
|
||||
| System-Administration | 2 | 0/2 | mender, slurm |
|
||||
| Scientific-Computing | 2 | 0/2 | boinc, jamovi |
|
||||
| Financial-Payments | 1 | 0/1 | hyperswitch |
|
||||
| Financial-Trading | 1 | 0/1 | nautilus (out-of-scope pending ruling) |
|
||||
| Legal | 1 | 0/1 | docassemble |
|
||||
| Project-Management | 1 | 0/1 | resgrid |
|
||||
|
||||
## Auth Status
|
||||
|
||||
@@ -134,7 +135,7 @@ Auth capability is a hard gate before packaging (see
|
||||
LDAP acceptable (risk flag), 🔄 = auth-proxy (no users), ❌ = local-only
|
||||
(unacceptable / blocked-on-auth).
|
||||
|
||||
### Completed packages (17)
|
||||
### Completed packages (18)
|
||||
|
||||
| App | OIDC | LDAP | Verdict | Note |
|
||||
|-----|------|------|---------|------|
|
||||
@@ -155,6 +156,7 @@ LDAP acceptable (risk flag), 🔄 = auth-proxy (no users), ❌ = local-only
|
||||
| eLabFTW | no | yes | ⚠️ risk (LDAP) | **Packaged**; no OIDC upstream (auth = local/SAML/LDAP per `src/Enums/AuthMethod.php`); `ldap` addon enabled, README maps `CLOUDRON_LDAP_*` → sysconfig LDAP panel — must be validated on the live Cloudron before production; SAML possible via external IdP |
|
||||
| NetBox | yes | plugin | ✅ preferred | **Packaged**; python-social-auth OIDC (`REMOTE_AUTH_BACKEND=OpenIdConnectAuth` + `SOCIAL_AUTH_OIDC_*`) wired from `CLOUDRON_OIDC_*`; local Django login retained for admin bootstrap; SSO users register without privileges (README) |
|
||||
| ConsulDemocracy | yes | no | ✅ preferred | **Packaged**; omniauth_openid_connect (discovery) wired into generated secrets.yml; `feature.oidc_login` auto-enabled on first boot when the provider is present (admin-panel toggle afterwards); SAML also available; local admin seeded |
|
||||
| GoAlert | yes | no | ✅ preferred | **Packaged**; native generic OIDC (go-oidc, any issuer) wired via GOALERT_OIDC_* from the platform provider; new-user creation on; optional first-admin basic auth via GOALERT_ADMIN_USER/PASS; callback /api/v2/identity/providers/oidc/callback |
|
||||
|
||||
### Candidates researched
|
||||
|
||||
|
||||
Reference in New Issue
Block a user