Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
janus
command
Command janus is the Janus server and its operator CLI.
|
Command janus is the Janus server and its operator CLI. |
|
internal
|
|
|
api
Package api is Janus's HTTP surface: the chi router, the /v1/sys/* seal lifecycle endpoints, the RequireUnsealed middleware, and the project-wide JSON error envelope.
|
Package api is Janus's HTTP surface: the chi router, the /v1/sys/* seal lifecycle endpoints, the RequireUnsealed middleware, and the project-wide JSON error envelope. |
|
auditship
Package auditship streams the (value-free) audit log to an external SIEM destination — a webhook or a syslog collector — as newline-delimited JSON.
|
Package auditship streams the (value-free) audit log to an external SIEM destination — a webhook or a syslog collector — as newline-delimited JSON. |
|
auth
Package auth is Janus's identity layer: Argon2id passwords, Postgres-backed sessions, and janus_svc_ service tokens, all HMAC-hashed at rest with a master-key-wrapped key.
|
Package auth is Janus's identity layer: Argon2id passwords, Postgres-backed sessions, and janus_svc_ service tokens, all HMAC-hashed at rest with a master-key-wrapped key. |
|
backupsched
Package backupsched is Janus's scheduled encrypted-backup engine: on a configured interval it runs the existing key-preserving instance dump and uploads the resulting sealed artifact to S3-compatible object storage, applies retention (keep N most recent, prune the rest), records each attempt in backup_runs (value-free), and offers a restore-rehearsal that verifies the latest (or a named) backup restores WITHOUT touching the live instance.
|
Package backupsched is Janus's scheduled encrypted-backup engine: on a configured interval it runs the existing key-preserving instance dump and uploads the resulting sealed artifact to S3-compatible object storage, applies retention (keep N most recent, prune the rest), records each attempt in backup_runs (value-free), and offers a restore-rehearsal that verifies the latest (or a named) backup restores WITHOUT touching the live instance. |
|
crypto
Package crypto implements Janus's envelope encryption: AES-256-GCM primitives, key wrapping with AAD binding, the in-memory keyring, and the Shamir and AWS KMS unseal mechanisms.
|
Package crypto implements Janus's envelope encryption: AES-256-GCM primitives, key wrapping with AAD binding, the in-memory keyring, and the Shamir and AWS KMS unseal mechanisms. |
|
dynamic
Package dynamic is Janus's dynamic Postgres credentials engine: on-demand, short-lived database roles issued from admin-authored SQL templates, with a lease manager that revokes them on expiry (and reclaims crash-orphaned leases after unseal).
|
Package dynamic is Janus's dynamic Postgres credentials engine: on-demand, short-lived database roles issued from admin-authored SQL templates, with a lease manager that revokes them on expiry (and reclaims crash-orphaned leases after unseal). |
|
editreq
Package editreq implements the four-eyes approval flow for edits to a protected config (configs.require_approval = true).
|
Package editreq implements the four-eyes approval flow for edits to a protected config (configs.require_approval = true). |
|
masterkeys
Package masterkeys orchestrates rotation of the root master key.
|
Package masterkeys orchestrates rotation of the root master key. |
|
metrics
Package metrics is a tiny, dependency-free Prometheus text-exposition layer.
|
Package metrics is a tiny, dependency-free Prometheus text-exposition layer. |
|
nethard
Package nethard provides SSRF hardening for Janus's operator-configured outbound clients (notification webhooks, rotation webhooks/DB dials, secret sync providers).
|
Package nethard provides SSRF hardening for Janus's operator-configured outbound clients (notification webhooks, rotation webhooks/DB dials, secret sync providers). |
|
notification
Package notification delivers outbound alerts (generic webhook, Slack) by tailing the value-free audit log and fanning matching events out to configured channels through a crash-safe delivery outbox.
|
Package notification delivers outbound alerts (generic webhook, Slack) by tailing the value-free audit log and fanning matching events out to configured channels through a crash-safe delivery outbox. |
|
projectkeys
Package projectkeys rotates a project's KEK and lazily re-wraps its DEKs; never decrypts a secret value; zeroes key material after use.
|
Package projectkeys rotates a project's KEK and lazily re-wraps its DEKs; never decrypts a secret value; zeroes key material after use. |
|
promote
Package promote moves selected secrets forward along a project's release pipeline.
|
Package promote moves selected secrets forward along a project's release pipeline. |
|
resolve
Package resolve composes config inheritance and read-time secret references over two ports (RawReader, Authorizer).
|
Package resolve composes config inheritance and read-time secret references over two ports (RawReader, Authorizer). |
|
rotation
Package rotation is Janus's static-rotation engine: scheduled rotation of an existing secret's value via a Postgres single-role reset or a generic HMAC-signed webhook, with crash-safe apply and optional notify webhooks.
|
Package rotation is Janus's static-rotation engine: scheduled rotation of an existing secret's value via a Postgres single-role reset or a generic HMAC-signed webhook, with crash-safe apply and optional notify webhooks. |
|
secrets
Package secrets orchestrates internal/crypto and internal/store: it is the only component that holds an unsealed key or sees plaintext, and only transiently within a call.
|
Package secrets orchestrates internal/crypto and internal/store: it is the only component that holds an unsealed key or sees plaintext, and only transiently within a call. |
|
secretsync
Package secretsync is Janus's outbound sync engine: scheduled one-way replication of a config's resolved secrets to external stores (GitHub Actions secrets, Kubernetes Secrets).
|
Package secretsync is Janus's outbound sync engine: scheduled one-way replication of a config's resolved secrets to external stores (GitHub Actions secrets, Kubernetes Secrets). |
|
store
Package store is Janus's crypto-blind PostgreSQL persistence layer.
|
Package store is Janus's crypto-blind PostgreSQL persistence layer. |
|
version
Package version carries build metadata injected at release time via -ldflags "-X github.com/steveokay/janus-secrets/internal/version.Version=…".
|
Package version carries build metadata injected at release time via -ldflags "-X github.com/steveokay/janus-secrets/internal/version.Version=…". |
|
web
Package web embeds the built React SPA and serves it same-origin from the Go binary.
|
Package web embeds the built React SPA and serves it same-origin from the Go binary. |
|
Package migrations embeds the SQL migration files so they ship inside the binary.
|
Package migrations embeds the SQL migration files so they ship inside the binary. |
Click to show internal directories.
Click to hide internal directories.