7 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
marc e51bbf2312 docs: GitHub (crudylabs) is the public home for source and issues 2026-10-02 21:24:17 +02:00
6 changed files with 43 additions and 14 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

+3 -3
View File
@@ -24,11 +24,11 @@
"resources": { "resources": {
"homepage": "https://pgmorbac.villains.fr", "homepage": "https://pgmorbac.villains.fr",
"bugtracker": { "bugtracker": {
"web": "https://git.villains.fr/crudy/pgmorbac/issues" "web": "https://github.com/crudylabs/pgmorbac/issues"
}, },
"repository": { "repository": {
"url": "https://git.villains.fr/crudy/pgmorbac.git", "url": "https://github.com/crudylabs/pgmorbac.git",
"web": "https://git.villains.fr/crudy/pgmorbac", "web": "https://github.com/crudylabs/pgmorbac",
"type": "git" "type": "git"
} }
}, },
+24 -8
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
@@ -34,7 +42,7 @@ A PostgreSQL extension implementing the Multi-OrBAC access control model - enabl
```bash ```bash
# Clone repository # Clone repository
git clone https://git.villains.fr/crudy/pgmorbac.git git clone https://github.com/crudylabs/pgmorbac.git
cd pgmorbac cd pgmorbac
# Build and install extension # Build and install extension
@@ -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
@@ -257,7 +273,7 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
```bash ```bash
git clone https://git.villains.fr/crudy/pgmorbac.git git clone https://github.com/crudylabs/pgmorbac.git
cd pgmorbac cd pgmorbac
# Edit source files in src/ # Edit source files in src/
@@ -278,7 +294,7 @@ git push --tags
## Support ## Support
- Read the [documentation](https://pgmorbac.villains.fr) - Read the [documentation](https://pgmorbac.villains.fr)
- Report bugs via [Gitea Issues](https://git.villains.fr/crudy/pgmorbac/issues) - Report bugs via [GitHub Issues](https://github.com/crudylabs/pgmorbac/issues)
- Security issues: see [SECURITY.md](SECURITY.md) - Security issues: see [SECURITY.md](SECURITY.md)
## Comparison with Traditional RBAC ## Comparison with Traditional RBAC
+14 -3
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 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 ## Makefile Targets
```bash ```bash