Directories
¶
| Path | Synopsis |
|---|---|
|
Package adorunpat keeps each `minted_pat` run's current Azure DevOps token in Postgres (migration 0129), so a resolve served by any replica hands out the token another created.
|
Package adorunpat keeps each `minted_pat` run's current Azure DevOps token in Postgres (migration 0129), so a resolve served by any replica hands out the token another created. |
|
Package adoscope is the Azure DevOps CAPABILITY CATALOGUE: it names the access a request needs, classifies one request to exactly one name, and maps those names to Entra scopes — because Azure DevOps asks for vso.code_write both to push a commit and to complete a pull request while BYPASSING branch policy, so a token minted from the requested scope is strictly wider than the work it was minted for.
|
Package adoscope is the Azure DevOps CAPABILITY CATALOGUE: it names the access a request needs, classifies one request to exactly one name, and maps those names to Entra scopes — because Azure DevOps asks for vso.code_write both to push a commit and to complete a pull request while BYPASSING branch policy, so a token minted from the requested scope is strictly wider than the work it was minted for. |
|
Package agentpolicy generates the AGENT-SIDE half of a run's autonomy level: the managed-settings document an agent CLI reads before it will honour — or refuse — its own launch flags.
|
Package agentpolicy generates the AGENT-SIDE half of a run's autonomy level: the managed-settings document an agent CLI reads before it will honour — or refuse — its own launch flags. |
|
Access / role-mapping CRUD (migration 0051): the console's Getting Started -> People editor over the store half of internal/auth/oidc's RoleMappingSource.
|
Access / role-mapping CRUD (migration 0051): the console's Getting Started -> People editor over the store half of internal/auth/oidc's RoleMappingSource. |
|
Package approval implements the ApprovalRequest FSM service.
|
Package approval implements the ApprovalRequest FSM service. |
|
Package audit defines the append-only audit contract.
|
Package audit defines the append-only audit contract. |
|
sinks
Package sinks provides production audit.Sink implementations (syslog, webhook, file) plus a Fanout multiplexer and config wiring.
|
Package sinks provides production audit.Sink implementations (syslog, webhook, file) plus a Fanout multiplexer and config wiring. |
|
auth
|
|
|
oidc
derive.go holds the IDENTITY-DERIVATION seam: everything that turns an ID token's claims into WHO this human is (deriveRole, Config.RoleMap, the legacy operator allowlist) and their group snapshot (sessionGroups).
|
derive.go holds the IDENTITY-DERIVATION seam: everything that turns an ID token's claims into WHO this human is (deriveRole, Config.RoleMap, the legacy operator allowlist) and their group snapshot (sessionGroups). |
|
Package authz is Wardyn's authorization kernel: the one Decision every door refuses with, and the registry of refusal reasons that is the audit contract a SIEM rule is written against.
|
Package authz is Wardyn's authorization kernel: the one Decision every door refuses with, and the registry of refusal reasons that is the audit contract a SIEM rule is written against. |
|
Package broker implements Wardyn's token broker: the ONLY component that holds long-lived secrets and the sole issuer of short-lived run credentials.
|
Package broker implements Wardyn's token broker: the ONLY component that holds long-lived secrets and the sole issuer of short-lived run credentials. |
|
Package cliutil holds tiny env/flag helpers shared by Wardyn's cmd/* main packages, plus ScrubChildEnv, the one env denylist shared by every host-exec'd third-party CLI child.
|
Package cliutil holds tiny env/flag helpers shared by Wardyn's cmd/* main packages, plus ScrubChildEnv, the one env denylist shared by every host-exec'd third-party CLI child. |
|
Package component provides the shared name→constructor registry backing Wardyn's pluggable seams (identity provider, secret store, recording store, confinement substrate), so each seam selects an implementation uniformly via a WARDYN_<SEAM> name while keeping a type-safe constructor signature.
|
Package component provides the shared name→constructor registry backing Wardyn's pluggable seams (identity provider, secret store, recording store, confinement substrate), so each seam selects an implementation uniformly via a WARDYN_<SEAM> name while keeping a type-safe constructor signature. |
|
Posture-gated autonomy, arithmetic half.
|
Posture-gated autonomy, arithmetic half. |
|
Package contentscan implements Wardyn's OPTIONAL, off-by-default outbound content-inspection layer: scans outbound LLM request bodies for known secret values before they leave the sandbox boundary and yields a CONTENT-FREE finding.
|
Package contentscan implements Wardyn's OPTIONAL, off-by-default outbound content-inspection layer: scans outbound LLM request bodies for known secret values before they leave the sandbox boundary and yields a CONTENT-FREE finding. |
|
Package db provides Postgres connection bootstrapping and schema migration for the Wardyn control plane.
|
Package db provides Postgres connection bootstrapping and schema migration for the Wardyn control plane. |
|
Package directory turns what an admin TYPES into what Wardyn STORES.
|
Package directory turns what an admin TYPES into what Wardyn STORES. |
|
Package egress defines the proxy decision model shared by cmd/wardyn-proxy and the control plane's policy/approval wiring.
|
Package egress defines the proxy decision model shared by cmd/wardyn-proxy and the control plane's policy/approval wiring. |
|
domainmatch
Package domainmatch is the ONE reading of an allowed_domains/denied_domains entry: how an entry is spelled (Classify), what spelling a request host is keyed on (CanonHost), and when a host falls under a wildcard (MatchWild, MatchWildPort).
|
Package domainmatch is the ONE reading of an allowed_domains/denied_domains entry: how an entry is spelled (Classify), what spelling a request host is keyed on (CanonHost), and when a host falls under a wildcard (MatchWild, MatchWildPort). |
|
evaluatortest
Package evaluatortest provides a reusable conformance suite for any egress.Evaluator implementation, so the blessed default (builtin) and a future alternate (OPA/Cedar) are held to the identical policy-verdict contract.
|
Package evaluatortest provides a reusable conformance suite for any egress.Evaluator implementation, so the blessed default (builtin) and a future alternate (OPA/Cedar) are held to the identical policy-verdict contract. |
|
proxy
Package proxy implements the L2 per-workspace egress sidecar (wardyn-proxy): an HTTP forward proxy that enforces the internal/egress decision model (default-deny domain allowlist, method rules, first-use approval), streams decision logs, and injects credentials proxy-side.
|
Package proxy implements the L2 per-workspace egress sidecar (wardyn-proxy): an HTTP forward proxy that enforces the internal/egress decision model (default-deny domain allowlist, method rules, first-use approval), streams decision logs, and injects credentials proxy-side. |
|
Package erasure erases one person's retained records, scope by scope, and reports complete only when every scope asked for is.
|
Package erasure erases one person's retained records, scope by scope, and reports complete only when every scope asked for is. |
|
Package federation is the laptop half of hybrid enrolment: the client for the organisation's device routes, and the forwarder pushing this daemon's audit rows upward.
|
Package federation is the laptop half of hybrid enrolment: the client for the organisation's device routes, and the forwarder pushing this daemon's audit rows upward. |
|
Package ghscope is the GitHub CAPABILITY CATALOGUE, the sibling of internal/adoscope: it names the access a request needs, classifies one request to exactly one name and the repository it targets, and maps those names to GitHub permissions — because a person's own GitHub token carries everything that person can reach in every repository, so the classification and the repository it names are the only things that can hold a run to the work it was launched for.
|
Package ghscope is the GitHub CAPABILITY CATALOGUE, the sibling of internal/adoscope: it names the access a request needs, classifies one request to exactly one name and the repository it targets, and maps those names to GitHub permissions — because a person's own GitHub token carries everything that person can reach in every repository, so the classification and the repository it names are the only things that can hold a run to the work it was launched for. |
|
Package gitpack answers one question about a buffered git-receive-pack request: which paths would this push change, with what file modes and sizes? It is a pure library: no sockets, no config, no fetching the base objects a thin pack refers to — a push is judged from its own bytes only.
|
Package gitpack answers one question about a buffered git-receive-pack request: which paths would this push change, with what file modes and sizes? It is a pure library: no sockets, no config, no fetching the base objects a thin pack refers to — a push is judged from its own bytes only. |
|
Package gitremote deterministically detects the git remotes configured in a local directory tree, so Wardyn can ground a composed run's GitHub grant on the workspace's ACTUAL remotes rather than a guess.
|
Package gitremote deterministically detects the git remotes configured in a local directory tree, so Wardyn can ground a composed run's GitHub grant on the workspace's ACTUAL remotes rather than a guess. |
|
Package groundtruth maps kernel-level eBPF (Tetragon) observations into Wardyn's audit vocabulary (types.AuditEvent): the tamper-proof ground-truth counterpart to the agent's self-report and PTY replay.
|
Package groundtruth maps kernel-level eBPF (Tetragon) observations into Wardyn's audit vocabulary (types.AuditEvent): the tamper-proof ground-truth counterpart to the agent's self-report and PTY replay. |
|
Package hoptls is the TLS on the hop between wardynd and each run's wardyn-proxy: the hop the proxy resolves credential VALUES over, plus every other internal call it makes (mints, token renewal, decisions, approvals, uploads).
|
Package hoptls is the TLS on the hop between wardynd and each run's wardyn-proxy: the hop the proxy resolves credential VALUES over, plus every other internal call it makes (mints, token renewal, decisions, approvals, uploads). |
|
Package hostcapacity refuses new runs while the host is short of memory or over a load ceiling, so a burst of launches cannot push the machine that hosts the daemon (and everything else on it) into swap or an OOM kill.
|
Package hostcapacity refuses new runs while the host is short of memory or over a load ceiling, so a burst of launches cannot push the machine that hosts the daemon (and everything else on it) into swap or an OOM kill. |
|
Package hostrules holds host-shape rules and artifact-registry tables that runtime governance paths depend on — approval write-back, egress substitution, site-config validation, and the artifact-redirect emitter.
|
Package hostrules holds host-shape rules and artifact-registry tables that runtime governance paths depend on — approval write-back, egress substitution, site-config validation, and the artifact-redirect emitter. |
|
Package identity defines the per-run workload identity contract.
|
Package identity defines the per-run workload identity contract. |
|
embedded
Package embedded implements the default, SPIFFE-shaped JWT-SVID identity provider satisfying identity.Provider.
|
Package embedded implements the default, SPIFFE-shaped JWT-SVID identity provider satisfying identity.Provider. |
|
identitytest
Package identitytest provides a reusable conformance suite for any identity.Provider implementation, so the blessed default (embedded) and a future alternate (SPIRE) are held to the identical security contract.
|
Package identitytest provides a reusable conformance suite for any identity.Provider implementation, so the blessed default (embedded) and a future alternate (SPIRE) are held to the identical security contract. |
|
Package ipguard holds the SSRF private/reserved membership test shared by the egress proxy's policy guard and the composer transport guard.
|
Package ipguard holds the SSRF private/reserved membership test shared by the egress proxy's policy guard and the composer transport guard. |
|
Package lifecycle implements workspace lifecycle automation: the Reaper loop finds RUNNING agent runs idle past their policy's AutoStopAfterSec threshold and stops them, emitting a "run.autostop" audit event for each.
|
Package lifecycle implements workspace lifecycle automation: the Reaper loop finds RUNNING agent runs idle past their policy's AutoStopAfterSec threshold and stops them, emitting a "run.autostop" audit event for each. |
|
Package livebus carries the notices replicas send each other over Postgres NOTIFY (ha-l2.4): a run's lifecycle events, a kill that must reach the replica creating the run's sandbox, and the end of an attach lease.
|
Package livebus carries the notices replicas send each other over Postgres NOTIFY (ha-l2.4): a run's lifecycle events, a kill that must reach the replica creating the run's sandbox, and the end of an attach lease. |
|
Package maskmanifest keeps each run's masking manifest in Postgres: the exact bytes of every rendering of a secret the run received, committed at dispatch before the sandbox can see a value (migration 0109).
|
Package maskmanifest keeps each run's masking manifest in Postgres: the exact bytes of every rendering of a secret the run received, committed at dispatch before the sandbox can see a value (migration 0109). |
|
Package maskstore is the Postgres side of the shared masking registry (migration 0124): it implements secretmask.Backend, so every replica masks with the same committed corpus of per-run values and per-owner credential values, and a replica that cannot prove its copy is current fails closed.
|
Package maskstore is the Postgres side of the shared masking registry (migration 0124): it implements secretmask.Backend, so every replica masks with the same committed corpus of per-run values and per-owner credential values, and a replica that cannot prove its copy is current fails closed. |
|
Package nodump keeps a process that holds credentials from writing them to disk in a core dump, or from having its memory read by another process of the same user (credential-storage design §2.8, CS-4).
|
Package nodump keeps a process that holds credentials from writing them to disk in a core dump, or from having its memory read by another process of the same user (credential-storage design §2.8, CS-4). |
|
Package notify delivers approval notifications: a transactional outbox written beside every new approval, and a worker on every replica that sends each row at least once to an operator-named channel.
|
Package notify delivers approval notifications: a transactional outbox written beside every new approval, and a worker on every replica that sends each row at least once to an operator-named channel. |
|
Package policyref holds the contact a governance profile (or the site's policy_help) publishes to the people it refuses, and the one validator for it.
|
Package policyref holds the contact a governance profile (or the site's policy_help) publishes to the people it refuses, and the one validator for it. |
|
Package recording provides storage and HTTP serving of asciicast session recordings produced by wardyn-rec.
|
Package recording provides storage and HTTP serving of asciicast session recordings produced by wardyn-rec. |
|
recordingtest
Package recordingtest provides a reusable conformance suite for any recording.Store implementation, holding a blessed default and any future alternate to the identical contract.
|
Package recordingtest provides a reusable conformance suite for any recording.Store implementation, holding a blessed default and any future alternate to the identical contract. |
|
Package recordmode is the deterministic core of Wardyn's "Recording Mode": it OBSERVES what a fully-open (allow-all-egress, broad-grant) run actually used — purely from already-captured audit events — and SYNTHESIZES a tightened, least-privilege RunPolicySpec the operator can review and promote.
|
Package recordmode is the deterministic core of Wardyn's "Recording Mode": it OBSERVES what a fully-open (allow-all-egress, broad-grant) run actually used — purely from already-captured audit events — and SYNTHESIZES a tightened, least-privilege RunPolicySpec the operator can review and promote. |
|
Package runner defines the target-agnostic sandbox lifecycle contract.
|
Package runner defines the target-agnostic sandbox lifecycle contract. |
|
orchestrator
Package orchestrator is the build-tag-free runner.Runner the control plane talks to.
|
Package orchestrator is the build-tag-free runner.Runner the control plane talks to. |
|
sizing
Package sizing owns the deployment's default sandbox size and nothing else.
|
Package sizing owns the deployment's default sandbox size and nothing else. |
|
substrate
Package substrate defines the confinement-substrate sub-interface: the seam beneath runner.Runner that lets a non-OCI microVM VMM back a Confinement Class alongside the OCI/Docker substrate.
|
Package substrate defines the confinement-substrate sub-interface: the seam beneath runner.Runner that lets a non-OCI microVM VMM back a Confinement Class alongside the OCI/Docker substrate. |
|
Package scim is the pure SCIM 2.0 wire layer Wardyn serves to an identity provider's provisioning client: types, the one filter form, PatchOp parsing (including the non-RFC shapes Entra sends) and the RFC 7644 error envelope.
|
Package scim is the pure SCIM 2.0 wire layer Wardyn serves to an identity provider's provisioning client: types, the one filter form, PatchOp parsing (including the non-RFC shapes Entra sends) and the RFC 7644 error envelope. |
|
Package secretmask implements Wardyn's output-masking layer for PTY capture and asciicast streams: it replaces verbatim byte-identical occurrences of registered secret values with the literal placeholder "<secret-hidden>".
|
Package secretmask implements Wardyn's output-masking layer for PTY capture and asciicast streams: it replaces verbatim byte-identical occurrences of registered secret values with the literal placeholder "<secret-hidden>". |
|
Package secretstore defines the at-rest secret storage contract.
|
Package secretstore defines the at-rest secret storage contract. |
|
azurekv
Package azurekv is the Azure Key Vault Secrets external store (credential-storage design §2.3a.3): in store mode each credential's value lives in the organisation's Key Vault, and the Postgres row is a pointer to it.
|
Package azurekv is the Azure Key Vault Secrets external store (credential-storage design §2.3a.3): in store mode each credential's value lives in the organisation's Key Vault, and the Postgres row is a pointer to it. |
|
kek
Package kek holds the key-encryption keys that wrap each stored credential's data key (DEK), and the shared envelope framing.
|
Package kek holds the key-encryption keys that wrap each stored credential's data key (DEK), and the shared envelope framing. |
|
kek/kektest
Package kektest is the conformance suite every key-encryption key is held to (credential-storage design §2.2, §2.3): the local key, Vault Transit against the fake and against real Vault and OpenBao servers.
|
Package kektest is the conformance suite every key-encryption key is held to (credential-storage design §2.2, §2.3): the local key, Vault Transit against the fake and against real Vault and OpenBao servers. |
|
keydomain
Package keydomain holds key domains: tenants of the deployment's key service, each a Transit key or a Key Vault key pair, that a subject's principal keys are wrapped under.
|
Package keydomain holds key domains: tenants of the deployment's key service, each a Transit key or a Key Vault key pair, that a subject's principal keys are wrapped under. |
|
pg
Package pg implements secretstore.Store over the Postgres `secrets` table, one envelope-encrypted row per credential (envelope v1): every Put mints a fresh 32-byte data key (DEK), seals the value under it with AES-256-GCM bound to the row's (owned_by, name), and stores the DEK wrapped by a key-encryption key (package kek).
|
Package pg implements secretstore.Store over the Postgres `secrets` table, one envelope-encrypted row per credential (envelope v1): every Put mints a fresh 32-byte data key (DEK), seals the value under it with AES-256-GCM bound to the row's (owned_by, name), and stores the DEK wrapped by a key-encryption key (package kek). |
|
secretstoretest
Package secretstoretest provides a reusable conformance suite for any secretstore.Store implementation.
|
Package secretstoretest provides a reusable conformance suite for any secretstore.Store implementation. |
|
subjectkey
Package subjectkey keeps one 32-byte key per (owner, purpose, generation) in Postgres (the principal_keys table), each wrapped under its key domain's KEK through the kek.KEK seam, so the local key, Vault Transit and Azure Key Vault all serve it unchanged.
|
Package subjectkey keeps one 32-byte key per (owner, purpose, generation) in Postgres (the principal_keys table), each wrapped under its key domain's KEK through the kek.KEK seam, so the local key, Vault Transit and Azure Key Vault all serve it unchanged. |
|
subjectkey/subjectkeytest
Package subjectkeytest is the contract suite every KEK behind subjectkey.Manager is held to, against a real Postgres: the local key, and Vault Transit and Azure Key Vault against their fakes.
|
Package subjectkeytest is the contract suite every KEK behind subjectkey.Manager is held to, against a real Postgres: the local key, and Vault Transit and Azure Key Vault against their fakes. |
|
vaultkv
Package vaultkv is Wardyn's Vault client and what it serves: the KV v2 external store (credential-storage design §2.3a.1), and the Transit KEK (transit.go, §2.3).
|
Package vaultkv is Wardyn's Vault client and what it serves: the KV v2 external store (credential-storage design §2.3a.1), and the Transit KEK (transit.go, §2.3). |
|
Package setup provides host-environment detection for the first-run setup surface: resident coding-agent CLIs, and the OS/WSL posture the environment-step copy keys off.
|
Package setup provides host-environment detection for the first-run setup surface: resident coding-agent CLIs, and the OS/WSL posture the environment-step copy keys off. |
|
Package sidecar holds the small brokered-PUT plumbing shared by Wardyn's in-sandbox result-uploader binaries: validate WARDYN_PROXY_URL/ WARDYN_RUN_ID, build the brokered result URL, and PUT a JSON body.
|
Package sidecar holds the small brokered-PUT plumbing shared by Wardyn's in-sandbox result-uploader binaries: validate WARDYN_PROXY_URL/ WARDYN_RUN_ID, build the brokered result URL, and PUT a JSON body. |
|
Governance profiles and their subject assignments (migration 0052).
|
Governance profiles and their subject assignments (migration 0052). |
|
Package subscription is the seam between the injection sink and a person's captured Claude subscription token: the sink resolves a subscription sentinel through a Provider, and the token lives only in proxy memory.
|
Package subscription is the seam between the injection sink and a person's captured Claude subscription token: the sink resolves a subscription sentinel through a Provider, and the token lives only in proxy memory. |
|
Package sweephealth records when each background sweep last tried and last finished, in one row per sweep that every replica shares, so a sweep that has stopped doing its work shows on a gauge and on /setup/status instead of only in the data it was supposed to clean up.
|
Package sweephealth records when each background sweep last tried and last finished, in one row per sweep that every replica shares, so a sweep that has stopped doing its work shows on a gauge and on /setup/status instead of only in the data it was supposed to clean up. |
|
Package testfloor lets a test mark itself part of a suite's skip floor: tests whose whole purpose is proving a real invariant holds, so a suite reporting green while all of them silently skipped would be a lie.
|
Package testfloor lets a test mark itself part of a suite's skip floor: tests whose whole purpose is proving a real invariant holds, so a suite reporting green while all of them silently skipped would be a lie. |
|
Package testlive is the opt-in live-local harness: tests that reach the owner's real identity provider, Azure DevOps organisation and AWS account.
|
Package testlive is the opt-in live-local harness: tests that reach the owner's real identity provider, Azure DevOps organisation and AWS account. |
|
Package testutil holds small helpers shared by Go tests across packages.
|
Package testutil holds small helpers shared by Go tests across packages. |
|
Governance profiles (migration 0052): the wire + store types for an ASSIGNABLE ceiling and the row that binds one to a subject.
|
Governance profiles (migration 0052): the wire + store types for an ASSIGNABLE ceiling and the row that binds one to a subject. |
|
Package version holds Wardyn's one shipped version string, kept out of cmd/* so the CLI, daemon startup log, and /healthz all report the same build — needed to diagnose CLI/server skew after a rolling upgrade.
|
Package version holds Wardyn's one shipped version string, kept out of cmd/* so the CLI, daemon startup log, and /healthz all report the same build — needed to diagnose CLI/server skew after a rolling upgrade. |
|
Package workspacescan deterministically detects a workspace's dev conventions (languages, package managers, egress registries, devcontainer/Dockerfile presence, tools, git remotes) from what's actually in the tree, not an LLM guess.
|
Package workspacescan deterministically detects a workspace's dev conventions (languages, package managers, egress registries, devcontainer/Dockerfile presence, tools, git remotes) from what's actually in the tree, not an LLM guess. |
Click to show internal directories.
Click to hide internal directories.