5 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
5 changed files with 36 additions and 7 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. 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 ## Features
- Multi-organization with organizational hierarchy - 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;" 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 ## Quick Start
```sql ```sql
+13 -2
View File
@@ -56,17 +56,28 @@ dropdb mytest
## Release Process ## 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` 2. Update `CHANGELOG.md`
3. Run `make build` and `make check` 3. Run `make build` and `make check`
4. Commit and tag: 4. Commit and tag:
```bash ```bash
git commit -m "Release vX.Y.Z" git commit -am "release: X.Y.Z"
git tag vX.Y.Z git tag vX.Y.Z
git push origin master --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 ## Makefile Targets
```bash ```bash