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
This commit is contained in:
2026-09-01 19:28:06 -05:00
parent f918a90c3b
commit 3d38c507e8
10 changed files with 431 additions and 13 deletions
@@ -0,0 +1,24 @@
{
"manifestVersion": 2,
"type": "app",
"id": "io.cloudron.dbgateway",
"title": "Database Gateway",
"description": "Web gateway for secure, policy-controlled access to PostgreSQL databases. Users authenticate via OIDC (Cloudron single sign-on) and run queries that are parsed and authorized by embedded OPA policies per user, target, operation and table. Query results are stored with shareable links for debugging and auditing.",
"author": "Kirill Zhuravlev",
"website": "https://github.com/kazhuravlev/database-gateway",
"contactEmail": "cloudron@tsys.dev",
"tagline": "Policy-checked SQL gateway for your databases",
"version": "0.24.0",
"healthCheckPath": "/",
"httpPort": 8080,
"memoryLimit": 512,
"addons": {
"localstorage": true,
"postgresql": {
"version": "16"
}
},
"mediaLinks": [],
"changelog": "Initial Cloudron package for Database Gateway 0.24.0. Native OIDC login wired to the Cloudron platform identity provider (admins group -> gateway admin, users group -> gateway user); local PostgreSQL addon stores profiles, bookmarks and query results; OPA policies and database targets are configured from /app/data. Single HTTP listener on port 8080.",
"icon": "file://logo.png"
}