Compare commits
5
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
493c2ec429 | ||
|
|
cfe370f761 | ||
|
|
4b725b16e1 | ||
|
|
8385cea640 | ||
|
|
697e8bd682 |
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 |
@@ -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.
|
||||||
|
|
||||||
[](https://opensource.org/licenses/MIT)
|
|
||||||
[](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
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user