Skip to content
Beskid Beskid

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Operate Authentication

Store every credential in OpenBao or another approved secret manager. Do not print, commit, or copy a secret into this page, a command argument, or an issue.

FieldVerified value
PurposeCentral GitHub OAuth, account UI, and handoff for paired services.
AudienceUsers sign in. Hub administrators pair and recover services.
Public boundaryhttps://auth.beskid-lang.org; the proxy terminates public TLS.
Local boundaryThe service listens on http://localhost:8090 in the local reference setup.
AuthenticationGitHub OAuth stays in the hub. A pairing code creates a per-service service token.
Persistent stateSQLite data persists in the auth-data volume.
Container imageghcr.io/cyber-nomad-collective/beskid-auth.
Health checkGET /api/v1/health on port 8090.
Deployment ownerThe root platform delivery publishes the image. The Coolify Compose lane runs it.
Secret sourceOpenBao path secret/beskid/<lane>/auth.
MonitoringContainer health and the public health request identify service availability.
RecoveryAn existing administrator adds a login. A controlled setup-token procedure is the next option. Restore SQLite before destructive recovery.

Confirm that the public URL uses GitHub OAuth and that AUTH_HUB_PUBLIC_URL is the exact external origin. Obtain authorized access to the lane secret manager.

  1. Confirm that SESSION_SECRET, the GitHub OAuth values, and AUTH_HUB_PUBLIC_URL exist in the lane secret path without displaying their values.
  2. Verify the service contract with https://auth.beskid-lang.org/api/v1/health.
  3. Record only the health response status.
  4. Use /admin/pairing to create a short-lived pairing code for the named consumer service.
  5. Complete pairing from the consumer.
  6. Verify that the returned service token stays in the consumer secret store.

The health endpoint succeeds. A pairing code creates a service token for the selected service. GitHub OAuth returns the user to that service, and SQLite retains hub configuration across a redeploy.

If pairing fails, discard the pairing code and create a new code. If administrator access fails, ask an existing administrator to restore access. Use the documented setup-token recovery only in a controlled session, then rotate the token and redeploy. Restore the auth-data backup before you clear stored administrators.

For sign-in and account use, see Use your account. For authorized service pairing and recovery, verify production delivery.