6 Commits
Author SHA1 Message Date
marc 493c2ec429 refactor: the npm package moves to pgmorbac-node
This repository is the SQL extension only. @crudy/pgmorbac is published from
pgmorbac-node, which packs the SQL of each signed release.
2026-10-03 09:57:08 +02:00
marc cfe370f761 docs: release process covers the npm package
bump_version.sh also bumps package.json, so prepack's version check holds.
2026-10-03 02:19:06 +02:00
marc 4b725b16e1 fix: npm-normalised repository url 2026-10-03 01:35:27 +02:00
marc 8385cea640 feat: npm package @crudy/pgmorbac ships the extension SQL
The package carries the install and upgrade scripts, built from src/ on prepack
(sql/ is not committed), with extensionSql(), upgradeScripts(), version and sqlDir.
2026-10-02 23:59:58 +02:00
marc 697e8bd682 docs: brand logo header and social preview image 2026-10-02 23:56:33 +02:00
marc 13dab7e614 docs: default branch is master 2026-10-02 22:50:56 +02:00
5 changed files with 37 additions and 8 deletions
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

+21 -5
View File
@@ -1,12 +1,20 @@
# pgmorbac
<h1 align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset=".github/brand/logo-dark.svg">
<img alt="pgmorbac" src=".github/brand/logo-light.svg" height="110">
</picture>
</h1>
**Multi-Organization Based Access Control for PostgreSQL**
<p align="center"><strong>Multi-Organization Based Access Control for PostgreSQL</strong></p>
<p align="center">
<a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-10b981.svg"></a>
<a href="https://www.npmjs.com/package/@crudy/pgmorbac"><img alt="npm" src="https://img.shields.io/npm/v/@crudy/pgmorbac.svg?color=10b981"></a>
<a href="https://www.postgresql.org/"><img alt="PostgreSQL 13+" src="https://img.shields.io/badge/PostgreSQL-13%2B-047857.svg"></a>
</p>
A PostgreSQL extension implementing the Multi-OrBAC access control model - enabling organization-centric, context-aware, and hierarchical access control with advanced features like delegation, separation of duty, and cross-organizational policies.
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![PostgreSQL 13+](https://img.shields.io/badge/PostgreSQL-13%2B-blue.svg)](https://www.postgresql.org/)
## Features
- Multi-organization with organizational hierarchy
@@ -69,6 +77,14 @@ sudo cp pgmorbac--1.0.0.sql $(pg_config --sharedir)/extension/
psql -d mydb -c "CREATE EXTENSION pgmorbac;"
```
### From Node.js (npm)
[`@crudy/pgmorbac`](https://www.npmjs.com/package/@crudy/pgmorbac) ships the
install and upgrade scripts of each signed release for Node projects and migration
runners, and [`@crudy/pgmorbac-fastify`](https://www.npmjs.com/package/@crudy/pgmorbac-fastify)
adds Fastify helpers on top. Sources: [pgmorbac-node](https://github.com/crudylabs/pgmorbac-node),
[pgmorbac-fastify](https://github.com/crudylabs/pgmorbac-fastify).
## Quick Start
```sql
+14 -3
View File
@@ -56,17 +56,28 @@ dropdb mytest
## Release Process
1. Update version in `pgmorbac.control`
1. `./tools/bump_version.sh X.Y.Z` (control file, META.json, README)
2. Update `CHANGELOG.md`
3. Run `make build` and `make check`
4. Commit and tag:
```bash
git commit -m "Release vX.Y.Z"
git commit -am "release: X.Y.Z"
git tag vX.Y.Z
git push origin main --tags
git push origin master --tags
```
5. Signed SQL distribution, attached to the Gitea release (Drone does this on the
tag when the repository is activated there):
```bash
PGMORBAC_RELEASE_KEY=<path to the Ed25519 key> GITEA_URL=https://git.villains.fr \
GITEA_REPO=crudy/pgmorbac GITEA_TOKEN=<token> npm run release
```
6. The npm package `@crudy/pgmorbac` is released from the `pgmorbac-node`
repository, which packs the SQL of this signed release.
## Makefile Targets
```bash