https://github.com/eustasy/puff-serverless
ALPHA: Server to centralize sign-on, access control, and unified billing for multiple organisations across multiple apps.
https://github.com/eustasy/puff-serverless
Last synced: 18 days ago
JSON representation
ALPHA: Server to centralize sign-on, access control, and unified billing for multiple organisations across multiple apps.
- Host: GitHub
- URL: https://github.com/eustasy/puff-serverless
- Owner: eustasy
- License: mit
- Created: 2023-10-22T13:21:30.000Z (almost 3 years ago)
- Default Branch: cf-pages
- Last Pushed: 2026-06-04T21:06:51.000Z (about 2 months ago)
- Last Synced: 2026-06-04T21:09:06.492Z (about 2 months ago)
- Language: TypeScript
- Homepage: https://puff-serverless.eustasy.org
- Size: 2.24 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Puff Serverless
[](https://github.com/eustasy/puff-serverless/actions/workflows/build.yml)
[](https://github.com/eustasy/puff-serverless/actions/workflows/type-js.yml)
[](https://github.com/eustasy/puff-serverless/actions/workflows/js.yml)
[](https://github.com/eustasy/puff-serverless/actions/workflows/test-js.yml)
[](https://qlty.sh/gh/eustasy/projects/puff-serverless)
[](https://qlty.sh/gh/eustasy/projects/puff-serverless)
## Project Goals & Use Case
The intent of Puff Serverless is to allow the deployment of hyper-scalable solution for centralized single sign-on, access control, and unified billing for multiple organisations across multiple applications.
## Technologies
We run JavaScript on [Cloudflare Workers](https://developers.cloudflare.com/workers/) with [Node compatibility](https://developers.cloudflare.com/workers/runtime-apis/nodejs/), using [Pages Functions](https://developers.cloudflare.com/pages/functions/) directory routing for endpoints and [Workers Static Assets](https://developers.cloudflare.com/workers/static-assets/) for HTML/CSS/client-side JS. APIs return full HTML via [HTMX](https://htmx.org/) to update in-page. Data is stored within Postgres-like [CockroachDB](https://www.cockroachlabs.com/) accessed via [Cloudflare Hyperdrive](https://developers.cloudflare.com/hyperdrive/).
Further reading in [`docs/`](docs/):
- [Architecture.md](docs/Architecture.md) — codebase shape, request layering, libraries, OAuth endpoints, environment variables.
- [Hierarchy.md](docs/Hierarchy.md) — the data model: Apps, Organisations, Teams, Roles, Users.
- [Development.md](docs/Development.md) — local-machine setup, tests, linting.
- [Deployment.md](docs/Deployment.md) — shipping to production with copy-paste commands.
- [Operations.md](docs/Operations.md) — running it: cron, audit log, OAuth key rotation, registering apps and providers.