v0.13.0 — Postgres is a supported database
The PlatformKit OSS front door: one binary composing the nine-module starter.
Install
go install github.com/septagon-oss/platformkit@latestChanges
Corrected after publication: this release also shipped
platformkit new,
which was omitted from these notes. See v0.13.1.
One command turns the kit into your product. platformkit new app <name> writes a Go application that boots this starter and is ready for your own modules, with a container image, a Makefile whose verify target is this project's own gate, and an agent pack (AGENTS.md, llms.txt) for AI coding agents. platformkit new module <name> generates a tenant-scoped module — contract, store, migration, routes, and a test that fails the moment tenant isolation breaks — that registers itself, so adding one never edits main.go.
PlatformKit runs on Postgres. Point database.driver at postgres, give it a DSN, and the whole application — all nine modules — runs there. The binary registers both drivers, so choosing an engine needs no code change and no rebuild.
database:
driver: postgres
dsn: "postgres://user:pass@host:5432/db?sslmode=require"SQLite remains the zero-setup default for local development and small single-node deployments, and that path is unchanged.
This is not a DSN swap dressed up as support. Every module store has a real Postgres adapter that passes the same store conformance suite the SQLite adapters pass — tenant-scoped list, tenant immutability on update, retired rows hidden — against a real Postgres, so tenant isolation is held by an executable check on both engines. The Postgres profile uses a real connection pool; SQLite keeps its single-connection pin because it is a single-writer engine.
Also in this release: the pre-v0.4 bootstrap migration path is deleted (~3,900 lines of SQLite-coupled machinery that could never run, since PlatformKit has not launched and no deployment carries that data). The durable bootstrap identity ledger it wrapped — the part that keeps a database's tenant and user IDs stable across restarts — survives intact.
Verified with this binary before tagging: production-mode boot on Postgres with the password supplied through PK_ADMIN_PASSWORD, tables created, seed, login, and create/open/publish/delete over the canonical opaque-segment API; then the same binary zero-config on SQLite.
See the CHANGELOG.
Compatibility
- Go 1.26 or newer.
- Pre-1.0 — pin this version. A minor release may change public API deliberately.
Links
| 📖 Documentation | https://septagon-oss.github.io/pk-docs/ |
| 💬 Discussions | https://github.com/septagon-oss/platformkit/discussions |
| 🔒 Security policy | https://github.com/septagon-oss/platformkit/blob/main/SECURITY.md |
| ⚖️ License | https://github.com/septagon-oss/platformkit/blob/main/LICENSE |