wardyn

module
v0.6.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 28, 2026 License: Apache-2.0

README

Wardyn

Go 1.26 CI

The open-source governed-sandbox control plane for any workload — identity, controls, and audit are the product; the sandbox is a pluggable commodity. Anything you run under your own credentials inherits your full blast radius; Wardyn is the layer in between — per-run identity, credentials minted and revoked per run, one audited path off-host, no resident key. Coding agents are the flagship use.

Status: pre-alpha. Interfaces are not stable. Do not run production workloads. "Wardyn" is a working name — trademark clearance (USPTO full-text + org / domain / package handles) is still pending, so the name and the personal github.com/cjohnstoniv/wardyn module path may change before a 1.0.

Wardyn detecting this host's confinement capabilities

Install

Two paths, neither needs a clone. Everything below pulls cosign-signed images with attested SBOMs — docs/VERIFY.md is how you check that.

On your machine — containerized control plane + UI:

curl -fsSL https://raw.githubusercontent.com/cjohnstoniv/wardyn/main/install.sh | sh

Docker is the only requirement. It installs into ~/.wardyn, mints this box's secret-store key locally, and starts the stack on http://127.0.0.1:8080. WARDYN_VERSION, WARDYN_HOME and WARDYN_PORT override the defaults.

On Kubernetes — the chart is a published OCI artifact:

WARDYN_VERSION=$(curl -fsSL https://api.github.com/repos/cjohnstoniv/wardyn/releases/latest \
                 | sed -n 's/.*"tag_name": *"v\([^"]*\)".*/\1/p')

helm install wardyn oci://ghcr.io/cjohnstoniv/charts/wardyn --version "$WARDYN_VERSION" \
  --namespace wardyn --create-namespace \
  --set auth.adminToken.secretRef.name=wardyn-auth

The chart needs an admin token or OIDC, a Postgres DSN, and an age identity — deploy/helm/wardyn/README.md covers each, plus admin/member RBAC, the Kubernetes runner substrate, SSH exposure and the full values table. Day-2 lives in docs/OPERATIONS.md. .claude/skills/wardyn-k8s-setup/ ships an agent-readable recipe for the same path, so a coding agent working in a clone can drive the install.

Building from source is a contributor path, not an install path — see CONTRIBUTING.md. If you want it anyway: clone, then make setup (which asks containerized vs host, and pulls published images unless WARDYN_BUILD_LOCAL=1).

That is the whole setup. The barrier is the only requirement — no model, no API key, no agent. Put the sandbox rules in a small YAML (or JSON) policy and hand it to one wardyn run — interactive or unattended:

wardyn run --agent claude-code --task-mode exec \
  --task 'echo hello from a governed sandbox' \
  --policy-file examples/policies/sandbox.yaml --wait

That runs a plain shell command in a governed sandbox: --task-mode exec means no agent and no model are involved at all. (--agent still names which sandbox image to launch — it is an image label, not a statement that an AI runs your task.) That file is a commented, sealed floor; wardyn policy render -f <file> checks it. --image brings your own base (docs/ENVBUILD.md); make compose-down stops everything.

Want an agent to write the code? Then connect a model — optional, and equally first-class at the CLI or in the UI:

claude setup-token | wardyn subscription connect   # subscription (never resident)
echo "$KEY"        | wardyn secret set anthropic-api-key   # API key
# Bedrock: WARDYN_BEDROCK_REGION/MODEL (+ WARDYN_BEDROCK_AWS_DIR for ~/.aws SSO)
wardyn setup status   # what's configured + the next command per unmet check

Skipping this is a supported end state, not an unfinished setup: setup status reports model access as optional and never as a gap to clear. Most of the built-in demos need no model either — see TRY-IT.md's "governance demo (no keys)".

Requirements
  • Docker + compose v2 (Postgres rides in the compose file). Fence/CC1 needs nothing more; Wall/CC2 adds gVisor's runsc, Vault/CC3 /dev/kvm + Kata — wardyn setup wall|vault prints the steps for your host.
  • Go 1.26+, Node 22 + pnpm 9 — only to build from source.
  • go install …/cmd/wardyn@latest gives the CLI only; wardynd needs -tags docker + a built ui/dist — use make setup or the image.

What you get

Capability What it does Status Detail
Governed runs Per-run identity in a gatewayless sandbox, driven from a terminal-first cockpit shipped ARCHITECTURE.md
Egress + approvals Only path out is the proxy; an unlisted host can hold mid-flight — once, run, until, always shipped POLICIES.md
Record Mode Run once open, get the minimal policy, replay confined — 26 of 30 scored competitors have no policy-derivation loop at all shipped TRY-IT.md
Workspaces & secrets Mounts only what the workspace declares; secrets write-only, never readable back shipped OPERATIONS.md
Policies & confinement One policy picks the barrier: Fence (runc), Wall (gVisor), Vault (Kata, experimental); a host that can't enforce it refuses shipped POLICIES.md
Model access Key, subscription or Bedrock injected proxy-side; the sandbox holds an inert sentinel shipped TRY-IT.md
CI / headless No UI, no human: the governed run's exit code becomes the pipeline's shipped CI.md
Audit + attach Three append-only streams a Postgres trigger won't let you rewrite; attach live from browser or SSH shipped SSH.md
UI sandbox gateway Relay a declared loopback port (editor, dev server) to a browser over its own origin — a per-run origin is the documented production default shipped UI-SANDBOXES.md

Everything else — env and policy reference, deployment, sample workspaces — is indexed in docs/.

Watch it work

Thirteen narrated walkthroughs, about 72 minutes end to end. Every one drives the real console against real sandboxes — the policies are live, the refusals are real, and the audit rows on screen were written by the run you are watching. Start with 03a if you only watch one; it is the boundary itself.

The series uses a coding agent as its worked example, because that is the case most people arrive for. The mechanics on screen — the egress boundary, the credential brokering, the audit trail — are the same for any sandboxed workload.

Episode What it shows Length
01 — Why govern agents The blast radius anything inherits when it runs as you 5:51
02 — Set up the host make setup, from a bare host to a running control plane 6:27
03a — What it stops The core. Four things that happen to a host a run may not reach, then the secret the sandbox is never handed 11:40
03b — The network, three more ways A real agent boxed in, a policy recorded from a run, an approval that lasts one connection 5:13
03c — Authorized, then issued A bearer token attached at the boundary; a PAT that only ever exists in a pipe 7:26
03d — The kinds that can't use a header SSH keys, brokered GitHub tokens, cloud STS — credentials no header injection can carry 6:10
04 — Add a workspace Onboarding a source, so a run can mount only what was declared 4:06
05 — Your first policy Writing the ceiling every run is clamped to 3:32
06 — Your first run One governed run, launched and read back from its record 3:51
07 — Interactive runs Attaching a live terminal to a running sandbox 4:04
08 — An autonomous agent A real coding agent doing real work inside the boundary 4:14
09 — Record a run Run open, derive the minimal policy, replay it confined 6:06
10 — Approvals and egress Deciding a held request — once, this run, until, always 3:40

They ship as release assets, not in the repo, so a clone stays small. Links pin v0.6.0; later releases re-publish under the same filenames.

Architecture at a glance

flowchart LR
  entry(["Human operator<br/>UI or wardyn CLI"])
  subgraph control["Control plane (trusted)"]
    wardynd["wardynd<br/>REST API + embedded UI<br/>policy · approvals · broker · audit"]
    pg[("Postgres<br/>append-only audit")]
    wardynd --> pg
  end
  subgraph sandbox["Per-run sandbox (UNTRUSTED) — gatewayless network"]
    %% rec declared first: else dagre routes the launch edge through it
    rec["wardyn-rec<br/>PTY recorder"]
    agent["Coding agent<br/>claude-code / codex-cli"]
    rec -->|"cast, brokered to wardynd"| proxy["wardyn-proxy<br/>L2 egress sidecar"]
    agent -->|"only path out"| proxy
  end
  entry --> wardynd
  wardynd -->|"launch (docker driver)"| agent
  proxy -->|"allowlisted L7, creds injected"| net(("Internet / APIs"))

A trusted control plane launches each run into an untrusted, gatewayless sandbox whose only path out is the wardyn-proxy sidecar, credentials injected there. Decision logs and masked casts flow back into the append-only audit log (THREAT-MODEL.md §8). Wardyn never adds power: a run reaches at most what you can, clamped by policy.

Honest security posture

What Wardyn does not defend against is published in full (THREAT-MODEL.md). Notable residuals:

  • The model-API channel is an unavoidable data-exit path. Prompts and tool calls are logged; nothing stops an agent encoding data into a permitted prompt.
  • Domain fronting and DNS-tunnel exfil need TLS interception, which ships only for operator-listed hosts (off by default) — most non-LLM egress stays opaque.
  • CC1/Fence shares the host kernel, and the 1-hour minted-token window before revocation is minimized by TTL, never eliminated.
  • The UI sandbox gateway defaults to a shared browser origin across runs, separated only by a path-scoped cookie, unless the operator sets a per-run origin template — the documented production default (UI-SANDBOXES.md).

Status

v0.6.0 (pre-alpha) is the current release, adding capability grants, Kubernetes as the base deployment story, wardyn ssh, governed UI sandboxes, member-owned workspaces and a hash-chained audit log. Two deployment lanes, both running real sandboxes, not one inverted into the other:

  • deploy/compose — the local 10-minute trial. The only lane that runs on a laptop without a real cluster, and the only one with recorded demos (the Getting Started demo steps).
  • Kubernetes: helm install wardyn oci://ghcr.io/cjohnstoniv/charts/wardyn --version <release> — the chart is published as a signed OCI artifact, so no clone and no helm repo add. See deploy/helm/wardyn — the deployment story: make kind-quickstart for a one-command real-cluster install, or a production Helm install onto your own Kubernetes. Not yet at Compose parity (see the chart README's "Known gaps").

Still unbuilt: SPIRE, OpenBao, an MCP gateway, arbitrary-domain TLS interception, OTLP/OCSF sinks, SAML/SCIM-provisioned team SSO, Compose's own L1 default-deny — see ROADMAP.md and CHANGELOG.md.

License and governance

Apache-2.0, and free for anyone to use for any purpose, commercial use included — at any scale, with no fee, no seat limit, no registration and no telemetry. There is no paid edition, no enterprise/ directory and no hosted backend: every control above is in this repo and runs on your infrastructure, or it doesn't run. There is also no CLA, which means no single party — including the maintainer — can relicense this project's accumulated work later.

LICENSING.md is the one page to hand your legal team: the grant, what the artifacts contain, redistribution obligations, patents, warranty, and the disclosed risks. TRADEMARKS.md covers what you may call things, which Apache-2.0 §6 deliberately does not.

Every published image is cosign-signed with an attested SBOM and build provenance — docs/VERIFY.md shows how to check that yourself.

Contributor sign-off via DCO (Signed-off-by). CNCF Sandbox is the governance target, not a status. Contributions welcome — see CONTRIBUTING.md.

Directories

Path Synopsis
cmd
wardyn command
Command wardyn is the operator CLI for the Wardyn control plane.
Command wardyn is the operator CLI for the Wardyn control plane.
wardyn-aws-sso command
Command wardyn-aws-sso is Wardyn's in-sandbox AWS SSO credential capture helper.
Command wardyn-aws-sso is Wardyn's in-sandbox AWS SSO credential capture helper.
wardyn-git-helper command
Command wardyn-git-helper is the git credential helper for Wardyn-governed agent sandboxes.
Command wardyn-git-helper is the git credential helper for Wardyn-governed agent sandboxes.
wardyn-proxy command
Command wardyn-proxy is the L2 per-workspace egress sidecar: an HTTP forward proxy that enforces Wardyn's default-deny domain allowlist, method rules, and first-use approval; streams decision logs to the control plane; and injects third-party credentials proxy-side so secrets never enter the sandbox.
Command wardyn-proxy is the L2 per-workspace egress sidecar: an HTTP forward proxy that enforces Wardyn's default-deny domain allowlist, method rules, and first-use approval; streams decision logs to the control plane; and injects third-party credentials proxy-side so secrets never enter the sandbox.
wardyn-rec command
Command wardyn-rec is Wardyn's per-workspace PTY session recorder.
Command wardyn-rec is Wardyn's per-workspace PTY session recorder.
wardyn-runner command
wardyn-scan command
Command wardyn-scan is Wardyn's in-sandbox workspace scanner.
Command wardyn-scan is Wardyn's in-sandbox workspace scanner.
wardyn-tetragon-ingest command
Command wardyn-tetragon-ingest is the host-scoped eBPF GROUND-TRUTH sidecar: the SECOND of Wardyn's three advertised audit streams.
Command wardyn-tetragon-ingest is the host-scoped eBPF GROUND-TRUTH sidecar: the SECOND of Wardyn's three advertised audit streams.
wardyn-toolgate command
wardyn-toolgate is the in-sandbox relay that turns Claude Code's tool-use permission prompts into Wardyn approvals.
wardyn-toolgate is the in-sandbox relay that turns Claude Code's tool-use permission prompts into Wardyn approvals.
wardynd command
Command wardynd is the Wardyn control plane: REST API, embedded web UI, policy engine, approval FSM, token broker, and audit ingest.
Command wardynd is the Wardyn control plane: REST API, embedded web UI, policy engine, approval FSM, token broker, and audit ingest.
examples
workspaces/github-push command
Package main is a trivial Go program used as the github-push workspace.
Package main is a trivial Go program used as the github-push workspace.
internal
api
Per-user API tokens (migration 0045): the THIRD auth branch of the public API, plus the self-service and admin CRUD around it.
Per-user API tokens (migration 0045): the THIRD auth branch of the public API, plus the self-service and admin CRUD around it.
approval
Package approval implements the ApprovalRequest FSM service.
Package approval implements the ApprovalRequest FSM service.
audit
Package audit defines the append-only audit contract.
Package audit defines the append-only audit contract.
audit/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 what a Wardyn session carries about WHO this human is — their role (deriveRole, Config.RoleMap, the legacy operator allowlist) and their group snapshot (sessionGroups, the subject a capability grant matches).
derive.go holds the IDENTITY-DERIVATION seam: everything that turns an ID token's claims into what a Wardyn session carries about WHO this human is — their role (deriveRole, Config.RoleMap, the legacy operator allowlist) and their group snapshot (sessionGroups, the subject a capability grant matches).
broker
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.
cliutil
Package cliutil holds tiny env/flag helpers shared by Wardyn's cmd/* main packages (each cmd is its own `main` package, so these can't just live in one of them without the others importing "main"), 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 (each cmd is its own `main` package, so these can't just live in one of them without the others importing "main"), plus ScrubChildEnv, the one env denylist shared by every host-exec'd third-party CLI child.
component
Package component provides the shared registry that backs Wardyn's pluggable component seams (identity provider, secret store, recording store, policy evaluator, …).
Package component provides the shared registry that backs Wardyn's pluggable component seams (identity provider, secret store, recording store, policy evaluator, …).
contentscan
Package contentscan implements Wardyn's OPTIONAL, off-by-default outbound content-inspection layer ("egress content inspection" / inadvertent-leak guardrail).
Package contentscan implements Wardyn's OPTIONAL, off-by-default outbound content-inspection layer ("egress content inspection" / inadvertent-leak guardrail).
db
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.
egress
Package egress defines the L2 proxy decision model shared by cmd/wardyn-proxy and the control plane's policy/approval wiring.
Package egress defines the L2 proxy decision model shared by cmd/wardyn-proxy and the control plane's policy/approval wiring.
egress/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.
egress/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.
gitremote
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 an LLM 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 an LLM guess.
groundtruth
Package groundtruth maps kernel-level observations (from an eBPF sensor — specifically Tetragon) into Wardyn's append-only audit vocabulary (types.AuditEvent).
Package groundtruth maps kernel-level observations (from an eBPF sensor — specifically Tetragon) into Wardyn's append-only audit vocabulary (types.AuditEvent).
hostrules
Package hostrules holds the host-shape rules and artifact-registry tables the RUNTIME governance paths depend on — approval write-back, egress substitution, site-config validation and the artifact-redirect emitter.
Package hostrules holds the host-shape rules and artifact-registry tables the RUNTIME governance paths depend on — approval write-back, egress substitution, site-config validation and the artifact-redirect emitter.
identity
Package identity defines the per-run workload identity contract.
Package identity defines the per-run workload identity contract.
identity/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.
identity/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.
ipguard
Package ipguard holds the SSRF private/reserved membership test shared by the egress proxy's policy guard (internal/egress/proxy) and the composer transport guard (internal/composer/backends/transport).
Package ipguard holds the SSRF private/reserved membership test shared by the egress proxy's policy guard (internal/egress/proxy) and the composer transport guard (internal/composer/backends/transport).
lifecycle
Package lifecycle implements workspace lifecycle automation: the Reaper loop finds RUNNING agent runs that have been 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 that have been idle past their policy's AutoStopAfterSec threshold and stops them, emitting a "run.autostop" audit event for each.
recording
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.
recording/recordingtest
Package recordingtest provides a reusable conformance suite for any recording.Store implementation.
Package recordingtest provides a reusable conformance suite for any recording.Store implementation.
recordmode
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.
runner
Package runner defines the target-agnostic sandbox lifecycle contract.
Package runner defines the target-agnostic sandbox lifecycle contract.
runner/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.
runner/substrate
Package substrate defines the confinement-substrate sub-interface: the seam beneath the runner.Runner surface that lets a non-OCI microVM VMM (SmolVM, Firecracker, …) back a Confinement Class alongside the OCI/Docker substrate, without the control plane (or each substrate) re-implementing the runner contract.
Package substrate defines the confinement-substrate sub-interface: the seam beneath the runner.Runner surface that lets a non-OCI microVM VMM (SmolVM, Firecracker, …) back a Confinement Class alongside the OCI/Docker substrate, without the control plane (or each substrate) re-implementing the runner contract.
secretmask
Package secretmask implements Wardyn's output-masking layer for PTY capture and asciicast streams.
Package secretmask implements Wardyn's output-masking layer for PTY capture and asciicast streams.
secretstore
Package secretstore defines the at-rest secret storage contract.
Package secretstore defines the at-rest secret storage contract.
secretstore/pg
Package pg implements secretstore.Store backed by an age-encrypted Postgres column (the `secrets` table in the core schema).
Package pg implements secretstore.Store backed by an age-encrypted Postgres column (the `secrets` table in the core schema).
secretstore/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.
setup
Package setup provides host-environment detection for the first-run setup surface (GET /api/v1/setup/status): which resident coding-agent CLIs are present, and the OS/WSL posture the environment-step copy keys off.
Package setup provides host-environment detection for the first-run setup surface (GET /api/v1/setup/status): which resident coding-agent CLIs are present, and the OS/WSL posture the environment-step copy keys off.
sidecar
Package sidecar holds the small brokered-PUT plumbing shared by Wardyn's in-sandbox result-uploader binaries (wardyn-scan, wardyn-aws-sso): 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 (wardyn-scan, wardyn-aws-sso): validate WARDYN_PROXY_URL/WARDYN_RUN_ID, build the brokered result URL, and PUT a JSON body.
store
Package store provides typed CRUD over the Wardyn schema using pgx/v5.
Package store provides typed CRUD over the Wardyn schema using pgx/v5.
subscription
Package subscription yields the operator's LIVE Anthropic subscription OAuth access token from the resident ~/.claude credentials, so the egress proxy can inject a fresh token per request instead of the sandbox holding a COPY that goes stale (access-token expiry + refresh-token rotation lock the copy out).
Package subscription yields the operator's LIVE Anthropic subscription OAuth access token from the resident ~/.claude credentials, so the egress proxy can inject a fresh token per request instead of the sandbox holding a COPY that goes stale (access-token expiry + refresh-token rotation lock the copy out).
types
Package types defines Wardyn's core domain vocabulary: the four nouns (AgentRun, RunPolicy, CredentialGrant, ApprovalRequest) plus the audit event shape.
Package types defines Wardyn's core domain vocabulary: the four nouns (AgentRun, RunPolicy, CredentialGrant, ApprovalRequest) plus the audit event shape.
version
Package version holds Wardyn's ONE shipped version string.
Package version holds Wardyn's ONE shipped version string.
workspacescan
Package workspacescan deterministically detects a local directory's (or a cloned repo's) development conventions — languages, package managers, implied egress registries, dev-container/Dockerfile presence, tools, and git remotes — so Wardyn can onboard a workspace with a profile grounded in what's ACTUALLY in the tree, not an LLM guess.
Package workspacescan deterministically detects a local directory's (or a cloned repo's) development conventions — languages, package managers, implied egress registries, dev-container/Dockerfile presence, tools, and git remotes — so Wardyn can onboard a workspace with a profile grounded in what's ACTUALLY in the tree, not an LLM guess.
pkg
client
Package client is the public Go SDK for the Wardyn control plane.
Package client is the public Go SDK for the Wardyn control plane.
test
awsssofake
Package awsssofake is a local, unsigned fake of the two AWS IAM Identity Center (SSO) HTTP services the AWS CLI/SDK talks to during `aws sso login` and later role-credential resolution:
Package awsssofake is a local, unsigned fake of the two AWS IAM Identity Center (SSO) HTTP services the AWS CLI/SDK talks to during `aws sso login` and later role-credential resolution:
conformance
Package conformance is the driver-agnostic parity gate for runner.Runner implementations.
Package conformance is the driver-agnostic parity gate for runner.Runner implementations.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL