Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 12 additions & 14 deletions README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,15 +26,15 @@ on Kubernetes.

## Highlights

- 🔐 **Complete deployment** - the server-core IdP/API (OAuth2 / OpenID Connect,
hosted login & consent pages) and the client-admin-console admin UI, from one chart
- 🔐 **Complete deployment** - the Authup IdP/API (OAuth2 / OpenID Connect,
hosted login & consent pages) with its auth, admin and account consoles, as
one combined server or as split workloads plus a background worker
- 🗄️ **Hybrid database model** - built-in PostgreSQL **or** MySQL for a
one-command start, or bring your own external database
- ⚡ **Optional Valkey cache** - built-in instance or external Redis; required
and enforced for multi-replica deployments
- 🧭 **Derived wiring** - `PUBLIC_URL`, the UI's API URL and the trusted-origin
allowlist are computed from your two ingress hostnames, so logins work on the
first install
- 🧭 **Derived wiring** - `PUBLIC_URL` is derived from your ingress hostname and
shared by every role, so logins work on the first install
- 🔑 **Secret management** - generate-once credentials that survive upgrades,
`existingSecret` support on every credential, nothing ever rendered as a
plain env value
Expand All@@ -57,28 +57,23 @@ Charts are also published as OCI artifacts:
helm install authup oci://ghcr.io/authup/helm/authup
```

The default install brings up server-core, the admin UI and a built-in
PostgreSQL. Retrieve the generated admin password:
The default install brings up one combined Authup server (API plus the auth,
admin and account consoles) and a built-in PostgreSQL. Retrieve the generated admin password:

```bash
kubectl get secret authup -o jsonpath='{.data.admin-password}' | base64 -d
```

## Quickstart

A typical production setup with two hostnames and an external database:
A typical production setup with one hostname and an external database:

```yaml
server:
ingress:
enabled: true
hostname: auth.example.com
tls: true
ui:
ingress:
enabled: true
hostname: authup.example.com
tls: true

postgresql:
enabled: false
Expand All@@ -92,6 +87,9 @@ valkey:
enabled: true
```

Set `server.splitConsoles=true` to run the consoles as separate workloads and
`worker.enabled=true` for a dedicated background worker.

See the [chart README](./charts/authup/README.md) for every parameter and the
operational notes (GitOps caveats, scaling rules, the write-once encryption
key).
Expand All@@ -100,7 +98,7 @@ key).

| Chart | Description |
|---|---|
| [authup](./charts/authup) | server-core (IdP/API) + client-admin-console (admin UI), optional built-in PostgreSQL / MySQL / Valkey |
| [authup](./charts/authup) | Authup API and consoles (combined or split), optional worker, optional built-in PostgreSQL / MySQL / Valkey |

## Documentation

Expand Down
2 changes: 1 addition & 1 deletion charts/authup/BREAKING.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,7 +3,7 @@
This chart uses `0.major.minor` versioning while below 1.0.0: breaking changes
land on the middle digit. Every entry lists the value migrations required.

## Next release (unreleased)
## 0.4.0

- The chart now requires the Authup v1.0.0-beta.64 CLI. Default server args are
`start`; split API args are `start core`; console args are
Expand Down
Loading