Skip to content
Beskid Beskid

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Operate pckg

Keep database and publisher credentials in OpenBao or an approved secret manager. Do not print, commit, or expose a credential in logs.

FieldVerified value
PurposeRust package registry with a React catalogue client.
AudienceConsumers browse and download. Authorized package authors publish. Operators maintain storage.
Public boundaryhttps://pckg.beskid-lang.org; public catalogue and download routes can remain available.
Local boundaryThe reference service listens on http://localhost:8082 and uses a local PostgreSQL service.
AuthenticationCLI publication uses pckg bearer keys. Protected browser mutations fail closed without a trusted forward-auth boundary.
Persistent statePostgreSQL stores registry records. pckg_packages stores package artifacts at /app/packages.
Container imageghcr.io/cyber-nomad-collective/beskid-pckg.
Health checkGET /health/ready on port 8082.
Deployment ownerRoot platform delivery builds the Rust service and web client, then Coolify runs the Compose profile.
Secret sourceOpenBao path secret/beskid/<lane>/pckg; it supplies the canonical PCKG_DATABASE_URL.
MonitoringReadiness, PostgreSQL health, and publication errors identify the failing boundary.
RecoveryRestore database and artifact volume as one consistent set. Roll back the image digest on a runtime regression.

Confirm that the package registry PostgreSQL service responds and that PCKG_DATABASE_URL came from the lane secret path. Confirm that the artifact volume mount exists before publication.

  1. Verify the service contract at http://localhost:8082/health/ready from inside the service network.
  2. Verify the public catalogue with a read-only request before any service contract mutation.
  3. Check that PostgreSQL uses its documented persistent volume.
  4. Check that /app/packages uses the pckg_packages volume.

The /health/ready request succeeds. PostgreSQL contains registry records, and the artifact volume contains the matching immutable package files.

If readiness fails, inspect database connectivity without showing PCKG_DATABASE_URL. If records and files differ, stop publication and restore a consistent backup. If a new image caused the failure, redeploy the previous digest.

Publish a package.