Help us shape the future of Go! Take the 2026 Go Developer Survey

internal/

directory
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2026 License: AGPL-3.0

Directories

Path Synopsis
adapter
ai/aikit
Package aikit is what every AI adapter does the same way, whatever its provider: the prompts, the tools a model is given and their schemas, the budgeted reader a model reads the repository through, and what a tool call does.
Package aikit is what every AI adapter does the same way, whatever its provider: the prompts, the tools a model is given and their schemas, the budgeted reader a model reads the repository through, and what a tool call does.
ai/aikit/aitest
Package aitest holds what the AI adapters' tests share: a repository in memory.
Package aitest holds what the AI adapters' tests share: a repository in memory.
ai/anthropic
Package anthropic screens deployment plans with Claude (design 10 §6).
Package anthropic screens deployment plans with Claude (design 10 §6).
ai/local
Package local performs Pando's AI functions with a model served on your own hardware, by any server that speaks the OpenAI Chat Completions API: Ollama, LM Studio, llama.cpp's server, vLLM.
Package local performs Pando's AI functions with a model served on your own hardware, by any server that speaks the OpenAI Chat Completions API: Ollama, LM Studio, llama.cpp's server, vLLM.
ai/openai
Package openai performs Pando's AI functions with OpenAI's models, through the Responses API.
Package openai performs Pando's AI functions with OpenAI's models, through the Responses API.
api
Package api defines the seven adapter interfaces.
Package api defines the seven adapter interfaces.
auditsink/https
Package https is the audit sink adapter for a SIEM's HTTPS ingest endpoint (R-382, design 12 §5.1): one POST per batch, in the body shape the destination reads — newline-delimited JSON, a JSON array, Splunk HEC's envelope, or Elastic's bulk action lines.
Package https is the audit sink adapter for a SIEM's HTTPS ingest endpoint (R-382, design 12 §5.1): one POST per batch, in the body shape the destination reads — newline-delimited JSON, a JSON array, Splunk HEC's envelope, or Elastic's bulk action lines.
auditsink/sinkkit
Package sinkkit holds what the audit sink kinds share: the settings that narrow and shape what core sends (R-384), reading inline credentials out of plain configuration (R-190), and a trusted certificate bundle.
Package sinkkit holds what the audit sink kinds share: the settings that narrow and shape what core sends (R-384), reading inline credentials out of plain configuration (R-190), and a trusted certificate bundle.
auditsink/syslog
Package syslog is the audit sink adapter for a syslog collector (R-382, design 12 §5.1): RFC 5424 messages over TCP, octet-counted as RFC 5425 and RFC 6587 frame them, with TLS unless the operator turns it off.
Package syslog is the audit sink adapter for a syslog collector (R-382, design 12 §5.1): RFC 5424 messages over TCP, octet-counted as RFC 5425 and RFC 6587 frame them, with TLS unless the operator turns it off.
backup/local
Package local stores backup bundles on a filesystem path.
Package local stores backup bundles on a filesystem path.
builder/buildkit
Package buildkit implements the builder adapter: rootless, containerized, no socket.
Package buildkit implements the builder adapter: rootless, containerized, no socket.
identity/local
Package local implements the local identity adapter: username and password, argon2id.
Package local implements the local identity adapter: username and password, argon2id.
identity/oidc
Package oidc is the generic OpenID Connect identity adapter (R-043).
Package oidc is the generic OpenID Connect identity adapter (R-043).
identity/saml
Package saml is the SAML 2.0 identity adapter (R-043).
Package saml is the SAML 2.0 identity adapter (R-043).
imageregistry/ecr
Package ecr is the image registry adapter for Amazon ECR.
Package ecr is the image registry adapter for Amazon ECR.
imageregistry/oci
Package oci is the image registry adapter for any registry that signs in with a username and password, or not at all: the Distribution registry docker-compose.registry.yml runs, Harbor, GitHub Container Registry, Google Artifact Registry, Zot.
Package oci is the image registry adapter for any registry that signs in with a username and password, or not at all: the Distribution registry docker-compose.registry.yml runs, Harbor, GitHub Container Registry, Google Artifact Registry, Zot.
imageregistry/registrykit
Package registrykit is what the image registry adapters share: reading a registry address, laying built images out in it, and deleting a deleted app's (R-224).
Package registrykit is what the image registry adapters share: reading a registry address, laying built images out in it, and deleting a deleted app's (R-224).
notify/chat
Package chat is the notify adapters for chat platforms that take an incoming webhook: Slack, Microsoft Teams and Discord (R-374, issue #50).
Package chat is the notify adapters for chat platforms that take an incoming webhook: Slack, Microsoft Teams and Discord (R-374, issue #50).
notify/console
Package console is the v1 notification adapter (R-230, R-231).
Package console is the v1 notification adapter (R-230, R-231).
notify/ntfy
Package ntfy is the notify adapter for ntfy, the push notification service (R-374, issue #50): ntfy.sh or a server of your own.
Package ntfy is the notify adapter for ntfy, the push notification service (R-374, issue #50): ntfy.sh or a server of your own.
notify/smtp
Package smtp is the email notify adapter (R-232, R-374, issue #50).
Package smtp is the email notify adapter (R-232, R-374, issue #50).
routing/cloudflare
Package cloudflare routes apps through a Cloudflare Tunnel (R-160, design 03 §4.5).
Package cloudflare routes apps through a Cloudflare Tunnel (R-160, design 03 §4.5).
routing/loopback
Package loopback implements port-mode routing with no TLS: the laptop default.
Package loopback implements port-mode routing with no TLS: the laptop default.
routing/traefik
Package traefik implements subdomain and path routing with TLS.
Package traefik implements subdomain and path routing with TLS.
runtime/docker
Package docker implements the runtime adapter for local containers.
Package docker implements the runtime adapter for local containers.
runtime/incus
Package incus runs each app in its own Incus virtual machine (notes-incus-runtime.md).
Package incus runs each app in its own Incus virtual machine (notes-incus-runtime.md).
runtime/incus/incusapi
Package incusapi is the part of the Incus REST API the Incus runtime uses: the types, with Incus's own JSON names, and a client for them.
Package incusapi is the part of the Incus REST API the Incus runtime uses: the types, with Incus's own JSON names, and a client for them.
runtime/kubernetes
Package kubernetes runs apps on a Kubernetes cluster (issue #72, PR 6, O-33).
Package kubernetes runs apps on a Kubernetes cluster (issue #72, PR 6, O-33).
runtime/multidocker
Package multidocker runs apps on several Docker hosts (notes-multi-host-docker-issue-72.md, issue #72 PR 7).
Package multidocker runs apps on several Docker hosts (notes-multi-host-docker-issue-72.md, issue #72 PR 7).
scanner/trivy
Package trivy scans what an app deploys, with Trivy in a container.
Package trivy scans what an app deploys, with Trivy in a container.
secrets/local
Package local implements the secrets adapter, encrypted at rest with the key on disk (R-190).
Package local implements the secrets adapter, encrypted at rest with the key on disk (R-190).
services/docker
Package docker provisions services that fill declared slots: postgres, mysql, redis.
Package docker provisions services that fill declared slots: postgres, mysql, redis.
source/azuredevops
Package azuredevops is the source adapter for Azure DevOps Services and Azure DevOps Server (R-091).
Package azuredevops is the source adapter for Azure DevOps Services and Azure DevOps Server (R-091).
source/bitbucket
Package bitbucket is the source adapter for Bitbucket Cloud and Bitbucket Data Center (R-091).
Package bitbucket is the source adapter for Bitbucket Cloud and Bitbucket Data Center (R-091).
source/forgekit
Package forgekit is what source adapters share: reading a repository address in each of the forms people write one, deciding whether a connection covers it, and building the credential core clones with.
Package forgekit is what source adapters share: reading a repository address in each of the forms people write one, deciding whether a connection covers it, and building the credential core clones with.
source/generic
Package generic is the source adapter for any git host (R-091): an HTTPS username and token, or an SSH key with the host's key pinned.
Package generic is the source adapter for any git host (R-091): an HTTPS username and token, or an SSH key with the host's key pinned.
source/gitea
Package gitea is the source adapter for Gitea and Forgejo, Codeberg among them (R-091).
Package gitea is the source adapter for Gitea and Forgejo, Codeberg among them (R-091).
source/github
Package github is the source adapter for GitHub (R-091): github.com and GitHub Enterprise Server, reached with a GitHub App installation, an OAuth application, a personal access token or a deploy key.
Package github is the source adapter for GitHub (R-091): github.com and GitHub Enterprise Server, reached with a GitHub App installation, an OAuth application, a personal access token or a deploy key.
source/gitlab
Package gitlab is the source adapter for GitLab, on gitlab.com or self-managed (R-091).
Package gitlab is the source adapter for GitLab, on gitlab.com or self-managed (R-091).
Package cli is the command-line client (design 04 §4).
Package cli is the command-line client (design 04 §4).
Package clientaddr decides which address a request came from, for the audit log (R-379, R-380), and carries it on the request's context to the audit writer.
Package clientaddr decides which address a request came from, for the audit log (R-379, R-380), and carries it on the request's context to the audit writer.
Package config loads configuration from YAML, environment, and flags (R-271).
Package config loads configuration from YAML, environment, and flags (R-271).
Package console embeds the built console assets into the binary (R-253).
Package console embeds the built console assets into the binary (R-253).
core
address
Package address changes where a configured app is reached (R-162, R-163, R-165).
Package address changes where a configured app is reached (R-162, R-163, R-165).
appdelete
Package appdelete deletes an app: settles its storage (R-204), archives it and starts its teardown.
Package appdelete deletes an app: settles its storage (R-204), archives it and starts its teardown.
applimit
Package applimit decides how many apps a person may own (R-244, issue #131).
Package applimit decides how many apps a person may own (R-244, issue #131).
approval
Package approval is deploy approval (R-154 – R-159): whether a deploy needs somebody's sign-off, and the request, approval, rejection and expiry of one.
Package approval is deploy approval (R-154 – R-159): whether a deploy needs somebody's sign-off, and the request, approval, rejection and expiry of one.
assertion
Package assertion mints the identity assertions the proxy passes to apps, and publishes the keys that verify them.
Package assertion mints the identity assertions the proxy passes to apps, and publishes the keys that verify them.
assist
Package assist is which AI adapter performs each AI function (R-259), and the administrative functions built on that: drafting access and policy, searching the audit log, and answering from the reference (R-343 … R-346).
Package assist is which AI adapter performs each AI function (R-259), and the administrative functions built on that: drafting access and policy, searching the audit log, and answering from the reference (R-343 … R-346).
audit
Package audit writes the append-only event log.
Package audit writes the append-only event log.
audit/ocsf
Package ocsf encodes native audit lines as OCSF events (design 12 §6.2, R-384).
Package ocsf encodes native audit lines as OCSF events (design 12 §6.2, R-384).
auditstream
Package auditstream pushes the audit log to audit sinks as it is written (R-382, R-383, design 12 §5).
Package auditstream pushes the audit log to audit sinks as it is written (R-382, R-383, design 12 §5).
authz
Package authz evaluates the two authorization planes.
Package authz evaluates the two authorization planes.
autodeploy
Package autodeploy is the service behind an app's automatic deploy settings and its webhook (R-141, R-142).
Package autodeploy is the service behind an app's automatic deploy settings and its webhook (R-141, R-142).
bootstrap
Package bootstrap creates the first administrative account on a fresh install.
Package bootstrap creates the first administrative account on a fresh install.
capacity
Package capacity is what GET /capacity shows: each runtime's room, beside what Pando has committed to apps on it (R-242, R-243, R-245).
Package capacity is what GET /capacity shows: each runtime's room, beside what Pando has committed to apps on it (R-242, R-243, R-245).
clock
Package clock provides the time source core depends on.
Package clock provides the time source core depends on.
cluster
Package cluster is what lets several Pando processes serve one install against one database (issue #72).
Package cluster is what lets several Pando processes serve one install against one database (issue #72).
deploy
Package deploy runs the deployment pipeline: everything after the plan boundary (design 05 §3, steps 8-16).
Package deploy runs the deployment pipeline: everything after the plan boundary (design 05 §3, steps 8-16).
detection
Package detection runs the detection job for an app and records the result.
Package detection runs the detection job for an app and records the result.
disklimit
Package disklimit holds apps to their disk limits (R-403, issue #130).
Package disklimit holds apps to their disk limits (R-403, issue #130).
edge
Package edge runs what routing adapters need in front of Pando (R-174).
Package edge runs what routing adapters need in front of Pando (R-174).
edgecert
Package edgecert issues the edge's certificates when the edge cannot issue its own (R-169, R-174; notes-kubernetes-runtime-issue-72.md, "Certificates with several replicas").
Package edgecert issues the edge's certificates when the edge cannot issue its own (R-169, R-174; notes-kubernetes-runtime-issue-72.md, "Certificates with several replicas").
events
Package events is the catalog of things Pando tells subscribers about (R-364, issue #50, design 11).
Package events is the catalog of things Pando tells subscribers about (R-364, issue #50, design 11).
idle
Package idle stops, and later deletes, apps nobody uses (R-393 – R-398, issue #131).
Package idle stops, and later deletes, apps nobody uses (R-393 – R-398, issue #131).
idp
Package idp is external identity: the providers an administrator connects, redirect sign-in through them, linking their identities to accounts, the groups they sync, and SCIM provisioning (R-043, R-045, R-047, R-048, R-050).
Package idp is external identity: the providers an administrator connects, redirect sign-in through them, linking their identities to accounts, the groups they sync, and SCIM provisioning (R-043, R-045, R-047, R-048, R-050).
imageregistry
Package imageregistry is the install's image registry: where a build is pushed when the runtime pulls rather than imports (issue #72, PR 5, docs/design/notes-image-registry-issue-72.md).
Package imageregistry is the install's image registry: where a build is pushed when the runtime pulls rather than imports (issue #72, PR 5, docs/design/notes-image-registry-issue-72.md).
logstream
Package logstream shares one live log stream per app part between everyone watching it on a replica (O-51).
Package logstream shares one live log stream per app part between everyone watching it on a replica (O-51).
observe
Package observe shares what a runtime reports about an app between the requests that ask for it at the same moment (issue #72).
Package observe shares what a runtime reports about an app between the requests that ask for it at the same moment (issue #72).
oci
Package oci reads what a registry says about an image, before anything is pulled.
Package oci reads what a registry says about an image, before anything is pulled.
planner
Package planner turns a spec plus host policy plus adapter capabilities into a bundle plan, or into a plan-time error.
Package planner turns a spec plus host policy plus adapter capabilities into a bundle plan, or into a plan-time error.
policy
Package policy evaluates host policy.
Package policy evaluates host policy.
reconciler
Package reconciler runs the loop that converges observed state toward pinned specs.
Package reconciler runs the loop that converges observed state toward pinned specs.
retention
Package retention removes what Pando keeps only for a while: old deploys, scans, sessions, notifications, idempotency keys, sign-in flows, the event outbox, and what deleted apps left behind (issue #72, R-224).
Package retention removes what Pando keeps only for a while: old deploys, scans, sessions, notifications, idempotency keys, sign-in flows, the event outbox, and what deleted apps left behind (issue #72, R-224).
screening
Package screening turns an AI adapter's proposed amendments into changes to a draft spec, or refuses them.
Package screening turns an AI adapter's proposed amendments into changes to a draft spec, or refuses them.
security
Package security turns a scanner's findings into a number, and that number into a decision.
Package security turns a scanner's findings into a number, and that number into a decision.
source
Package source fetches an app's source and exposes it read-only.
Package source fetches an app's source and exposes it read-only.
sourceconn
Package sourceconn is the install's source connections (R-091; O-3 as re-resolved with issue #127): which connection reads a repository, what it reads it with, and the OAuth authorizations that give a connection its token.
Package sourceconn is the install's source connections (R-091; O-3 as re-resolved with issue #127): which connection reads a repository, what it reads it with, and the OAuth authorizations that give a connection its token.
spec
Package spec defines the AppSpec: the sole record of how an app runs.
Package spec defines the AppSpec: the sole record of how an app runs.
specgate
Package specgate decides whether somebody may write a spec revision, for the parts of a spec that app.spec.edit alone does not cover: an app's egress rules (R-182 – R-184) and automatic deploys on an app whose deploys need approval (R-158).
Package specgate decides whether somebody may write a spec revision, for the parts of a spec that app.spec.edit alone does not cover: an app's egress rules (R-182 – R-184) and automatic deploys on an app whose deploys need approval (R-158).
state
Package state holds sqlc-generated queries and repository types.
Package state holds sqlc-generated queries and repository types.
state/statetest
Package statetest gives integration tests a database of their own, quickly.
Package statetest gives integration tests a database of their own, quickly.
subscription
Package subscription delivers Pando's events to the people who asked for them: webhooks and notification channels, retried until they arrive or plainly fail (issue #50, R-366 – R-374, design 11).
Package subscription delivers Pando's events to the people who asked for them: webhooks and notification channels, retried until they arrive or plainly fail (issue #50, R-366 – R-374, design 11).
tokenkey
Package tokenkey holds the key API token digests are made with (R-063).
Package tokenkey holds the key API token digests are made with (R-063).
update
Package update knows whether a newer Pando has been released (R-349–R-352).
Package update knows whether a newer Pando has been released (R-349–R-352).
upgrade
Package upgrade replaces the running Pando with a newer release (R-355 – R-361): checked, backed up, swapped by a helper, and put back on its own when the new version does not come up.
Package upgrade replaces the running Pando with a newer release (R-355 – R-361): checked, backed up, swapped by a helper, and put back on its own when the new version does not come up.
work
Package work runs work held in Postgres on a bounded number of goroutines (issue #72, O-32).
Package work runs work held in Postgres on a bounded number of goroutines (issue #72, O-32).
Package detect works out how to build and run an app from its source.
Package detect works out how to build and run an app from its source.
registryprobe
Package registryprobe looks for images a project already publishes.
Package registryprobe looks for images a project already publishes.
Package ecr mints an Amazon ECR registry password from an AWS access key.
Package ecr mints an Amazon ECR registry password from an AWS access key.
Package egress is what an egress rule means: how an entry is written, what it matches, and whether a set of rules lets a connection out (R-181 – R-187).
Package egress is what an egress rule means: how an entry is written, what it matches, and whether a set of rules lets a connection out (R-181 – R-187).
Package errs defines the error envelope crossing every API boundary.
Package errs defines the error envelope crossing every API boundary.
Package hash derives and verifies password and token hashes with argon2id.
Package hash derives and verifies password and token hashes with argon2id.
Package hostagent is the forwarding agent that stands on each app host of a multi-host Docker install where Pando's own container stands on one host (O-45, design 06 §4, notes-multi-host-docker-issue-72.md).
Package hostagent is the forwarding agent that stands on each app host of a multi-host Docker install where Pando's own container stands on one host (O-45, design 06 §4, notes-multi-host-docker-issue-72.md).
Package httpapi is the REST surface: chi handlers and nothing else.
Package httpapi is the REST surface: chi handlers and nothing else.
Package id generates prefixed, sortable, opaque identifiers: app_01HQ8..., spec_..., usr_...
Package id generates prefixed, sortable, opaque identifiers: app_01HQ8..., spec_..., usr_...
Package log threads a single structured logger through context.
Package log threads a single structured logger through context.
Package mcp exposes Pando's service layer as MCP tools.
Package mcp exposes Pando's service layer as MCP tools.
Package openapi writes Pando's HTTP API as an OpenAPI 3.1 document, read from the handlers that serve it.
Package openapi writes Pando's HTTP API as an OpenAPI 3.1 document, read from the handlers that serve it.
Package proxy is the identity-aware reverse proxy: the single enforcement point for every request to every app (R-023).
Package proxy is the identity-aware reverse proxy: the single enforcement point for every request to every app (R-023).
Package reference assembles Pando's own documentation from Pando.
Package reference assembles Pando's own documentation from Pando.
Package registrylimit says what to do when a registry refuses an image because this server has downloaded too many.
Package registrylimit says what to do when a registry refuses an image because this server has downloaded too many.
Package secret provides Value, a wrapper that refuses to render.
Package secret provides Value, a wrapper that refuses to render.
Package telemetry is the metrics Pando exports about itself (R-399, issue #126): pushed over OTLP to a collector the operator names, stored, graphed and alerted on there and nowhere in Pando (R-016, R-245).
Package telemetry is the metrics Pando exports about itself (R-399, issue #126): pushed over OTLP to a collector the operator names, stored, graphed and alerted on there and nowhere in Pando (R-016, R-245).
telemetrytest
Package telemetrytest reads back what Pando recorded, for tests asserting that a piece of work is measured (R-399).
Package telemetrytest reads back what Pando recorded, for tests asserting that a piece of work is measured (R-399).

Jump to

Keyboard shortcuts

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