Directories
¶
| Path | Synopsis |
|---|---|
|
adapters
|
|
|
all
Package all registers every adapter bundled with rig; a custom binary imports it plus its own.
|
Package all registers every adapter bundled with rig; a custom binary imports it plus its own. |
|
builder/command
Package command builds with the service's own build.command (ko, bazel, buildpacks, a Makefile, ...).
|
Package command builds with the service's own build.command (ko, bazel, buildpacks, a Makefile, ...). |
|
builder/docker
Package docker builds images with `docker build` and pushes them when the environment has a registry.
|
Package docker builds images with `docker build` and pushes them when the environment has a registry. |
|
builder/golang
Package golang builds a Go main package on this machine and puts the binary on a base image as one layer, with no Docker daemon and no in-container module download: the local build cache makes rebuilds take seconds.
|
Package golang builds a Go main package on this machine and puts the binary on a base image as one layer, with no Docker daemon and no in-container module download: the local build cache makes rebuilds take seconds. |
|
cache/redis
Package redis is the cache adapter for Redis and protocol-compatible servers (Valkey, KeyDB, Dragonfly).
|
Package redis is the cache adapter for Redis and protocol-compatible servers (Valkey, KeyDB, Dragonfly). |
|
cloud/aws
Package aws drives the aws CLI with the user's profiles and SSO: CloudWatch as metrics/1 and logs/1, and resource browsers for EC2, ECS, EKS, RDS, S3 and Lambda.
|
Package aws drives the aws CLI with the user's profiles and SSO: CloudWatch as metrics/1 and logs/1, and resource browsers for EC2, ECS, EKS, RDS, S3 and Lambda. |
|
database/sql
Package sql is the database adapter for SQL servers: one implementation, a dialect per driver (postgres, mssql, mysql) for listing, creating and dropping databases.
|
Package sql is the database adapter for SQL servers: one implementation, a dialect per driver (postgres, mssql, mysql) for listing, creating and dropping databases. |
|
debugger/delve
Package delve attaches a headless Delve server to a running Go service: to the local process directly, or inside the container (the image needs dlv and the pod SYS_PTRACE) with the port forwarded.
|
Package delve attaches a headless Delve server to a running Go service: to the local process directly, or inside the container (the image needs dlv and the pod SYS_PTRACE) with the port forwarded. |
|
docs/confluence
Package confluence is Confluence as docs/1: CQL search, pages read as Markdown, written from Markdown, and the page tree, over the REST API (Cloud's /wiki or a Server base URL).
|
Package confluence is Confluence as docs/1: CQL search, pages read as Markdown, written from Markdown, and the page tree, over the REST API (Cloud's /wiki or a Server base URL). |
|
docs/markdown
Package markdown is docs/1 over the repository's own Markdown: docs/, ADRs and READMEs, searched, read, written and listed as a tree.
|
Package markdown is docs/1 over the repository's own Markdown: docs/, ADRs and READMEs, searched, read, written and listed as a tree. |
|
hosts/ssh
Package ssh manages servers over the system ssh client, so ~/.ssh/config, agents, keys and jump hosts work exactly as they do in a terminal.
|
Package ssh manages servers over the system ssh client, so ~/.ssh/config, agents, keys and jump hosts work exactly as they do in a terminal. |
|
iac/helm
Package helm is Helm releases: list, history, values, a values diff between revisions, upgrade and rollback, in plugins.helm's kube context and namespace.
|
Package helm is Helm releases: list, history, values, a values diff between revisions, upgrade and rollback, in plugins.helm's kube context and namespace. |
|
iac/terraform
Package terraform is iac/1 over Terraform or OpenTofu: stacks, plan, apply, outputs, drift and state.
|
Package terraform is iac/1 over Terraform or OpenTofu: stacks, plan, apply, outputs, drift and state. |
|
kv/consul
Package consul is the KV adapter for Consul's HTTP API.
|
Package consul is the KV adapter for Consul's HTTP API. |
|
loadgen
Package loadgen holds pieces shared by the load generator adapters (command, http, kv, tool).
|
Package loadgen holds pieces shared by the load generator adapters (command, http, kv, tool). |
|
loadgen/command
Package command wraps any load tool behind shell commands: start, stop, rate (with {rate}) and status, whose output may be JSON {"running":..,"rate":..,"sent":..,"failed":..}.
|
Package command wraps any load tool behind shell commands: start, stop, rate (with {rate}) and status, whose output may be JSON {"running":..,"rate":..,"sent":..,"failed":..}. |
|
loadgen/http
Package http is a built-in open-model load generator: requests go out at a fixed rate whatever the latency (no coordinated omission), from this process, for as long as rig runs.
|
Package http is a built-in open-model load generator: requests go out at a fixed rate whatever the latency (no coordinated omission), from this process, for as long as rig runs. |
|
loadgen/kv
Package kv drives load generators that run as services and read their rate from a key-value store: the rate is written to a key (or one JSON field of it), start and stop scale the generator services, and counters come from metrics queries when configured.
|
Package kv drives load generators that run as services and read their rate from a key-value store: the rate is written to a key (or one JSON field of it), start and stop scale the generator services, and counters come from metrics queries when configured. |
|
loadgen/tool
Package tool drives an external load tool (k6, vegeta, ghz) as a rig load generator: the tool runs as a child process at the current rate and its per-request results stream back into the counters.
|
Package tool drives an external load tool (k6, vegeta, ghz) as a rig load generator: the tool runs as a child process at the current rate and its per-request results stream back into the counters. |
|
logs/loki
Package loki reads logs from Grafana Loki: following polls query_range, ad hoc queries take LogQL.
|
Package loki reads logs from Grafana Loki: following polls query_range, ad hoc queries take LogQL. |
|
logs/runtime
Package runtime serves logs straight from the runtime (kubectl logs, docker logs, local log files), merged across services.
|
Package runtime serves logs straight from the runtime (kubectl logs, docker logs, local log files), merged across services. |
|
messaging/kafka
Package kafka reads and manages Kafka through its own protocol: topics with their sizes and the lag of the groups reading them, purge, publish, and queries for groups and the latest records.
|
Package kafka reads and manages Kafka through its own protocol: topics with their sizes and the lag of the groups reading them, purge, publish, and queries for groups and the latest records. |
|
messaging/rabbitmq
Package rabbitmq reads and manages RabbitMQ through its management HTTP API (the management plugin).
|
Package rabbitmq reads and manages RabbitMQ through its management HTTP API (the management plugin). |
|
metrics/prometheus
Package prometheus reads metrics from anything that serves the Prometheus HTTP API: Prometheus, Thanos, Mimir, VictoriaMetrics, or an OpenTelemetry pipeline that ends in one of them.
|
Package prometheus reads metrics from anything that serves the Prometheus HTTP API: Prometheus, Thanos, Mimir, VictoriaMetrics, or an OpenTelemetry pipeline that ends in one of them. |
|
metrics/scrape
Package scrape is a metrics backend with no server: it scrapes the services' Prometheus or OpenTelemetry (Prometheus exporter) endpoints itself, keeps a short in-memory history, and answers a PromQL subset over it.
|
Package scrape is a metrics backend with no server: it scrapes the services' Prometheus or OpenTelemetry (Prometheus exporter) endpoints itself, keeps a short in-memory history, and answers a PromQL subset over it. |
|
notify/slack
Package slack is notify/1 over Slack: an incoming webhook (SLACK_WEBHOOK_URL), or a bot token (SLACK_TOKEN) with chat.postMessage to a channel.
|
Package slack is notify/1 over Slack: an incoming webhook (SLACK_WEBHOOK_URL), or a bot token (SLACK_TOKEN) with chat.postMessage to a channel. |
|
profiler/command
Package command profiles with any tool you can run: async-profiler for the JVM, perf, py-spy, rbspy, dotnet-trace, ...
|
Package command profiles with any tool you can run: async-profiler for the JVM, perf, py-spy, rbspy, dotnet-trace, ... |
|
profiler/pprof
Package pprof captures Go profiles from a service's net/http/pprof endpoint, through the runtime's forwarding.
|
Package pprof captures Go profiles from a service's net/http/pprof endpoint, through the runtime's forwarding. |
|
query/http
Package http is a query component for HTTP APIs: "GET /path", "POST /path {json}".
|
Package http is a query component for HTTP APIs: "GET /path", "POST /path {json}". |
|
registry
Package registry is registry/1: an image registry's tags, and pruning all but the newest per image.
|
Package registry is registry/1: an image registry's tags, and pruning all but the newest per image. |
|
runtime/docker
Package docker runs each service as labelled containers on one network, so services reach each other by service name.
|
Package docker runs each service as labelled containers on one network, so services reach each other by service name. |
|
runtime/kind
Package kind is the Kubernetes runtime on a local kind cluster, plus what only kind can do: create and delete the cluster with a local registry, load images, and shell into nodes with docker.
|
Package kind is the Kubernetes runtime on a local kind cluster, plus what only kind can do: create and delete the cluster with a local registry, load images, and shell into nodes with docker. |
|
runtime/kubernetes
Package kubernetes runs services on a Kubernetes cluster through kubectl, so it uses whatever auth the user's kubeconfig has.
|
Package kubernetes runs services on a Kubernetes cluster through kubectl, so it uses whatever auth the user's kubeconfig has. |
|
runtime/local
Package local runs services as processes on this machine.
|
Package local runs services as processes on this machine. |
|
scm/github
Package github is GitHub as scm/1 and tracker/1: pull requests, Actions runs and job logs, releases and issues of the repository the origin remote (or plugins.github.project) names, over the REST API.
|
Package github is GitHub as scm/1 and tracker/1: pull requests, Actions runs and job logs, releases and issues of the repository the origin remote (or plugins.github.project) names, over the REST API. |
|
scm/gitlab
Package gitlab is GitLab as scm/1 and tracker/1: merge requests, pipelines, job logs, releases and issues of the project the origin remote (or plugins.gitlab.project) names, over the REST API v4.
|
Package gitlab is GitLab as scm/1 and tracker/1: merge requests, pipelines, job logs, releases and issues of the project the origin remote (or plugins.gitlab.project) names, over the REST API v4. |
|
tracing/jaeger
Package jaeger reads traces through the Jaeger query API (Jaeger, or Grafana Tempo's Jaeger-compatible query).
|
Package jaeger reads traces through the Jaeger query API (Jaeger, or Grafana Tempo's Jaeger-compatible query). |
|
tracing/tempo
Package tempo reads traces through Grafana Tempo's own API: TraceQL search and OTLP traces.
|
Package tempo reads traces through Grafana Tempo's own API: TraceQL search and OTLP traces. |
|
tracing/zipkin
Package zipkin reads traces through the Zipkin v2 API (Zipkin itself, or anything compatible).
|
Package zipkin reads traces through the Zipkin v2 API (Zipkin itself, or anything compatible). |
|
tracker/jira
Package jira is Jira as tracker/1: JQL search with completion, issues, transitions, comments, create, assign and link, and agile boards and sprints, over the REST API v2 (Cloud and Server).
|
Package jira is Jira as tracker/1: JQL search with completion, issues, transitions, comments, create, assign and link, and agile boards and sprints, over the REST API v2 (Cloud and Server). |
|
vcs/git
Package git is the vcs/1 plugin for the project's repository: status, log graph, branches, diff, blame, stashes and worktrees; commit, checkout, pull, push and the export of a ref.
|
Package git is the vcs/1 plugin for the project's repository: status, log graph, branches, diff, blame, stashes and worktrees; commit, checkout, pull, push and the export of a ref. |
|
cmd
|
|
|
rig-changed
command
Command rig-changed prints the plugins a change touches, so CI builds and releases only those:
|
Command rig-changed prints the plugins a change touches, so CI builds and releases only those: |
|
rig-index
command
Command rig-index packs a release of the official plugins and writes registry/index.json: one archive per Go plugin and platform (its manifest; bin/rig-std is a shared file, one per platform), one per declarative plugin, each with its sha256 and, when RIG_SIGNING_KEY is set, a minisign signature.
|
Command rig-index packs a release of the official plugins and writes registry/index.json: one archive per Go plugin and platform (its manifest; bin/rig-std is a shared file, one per platform), one per declarative plugin, each with its sha256 and, when RIG_SIGNING_KEY is set, a minisign signature. |
|
rig-std
command
Command rig-std is every official Go plugin in one binary: `rig-std <name>` serves one plugin over rig/1 on stdio, and `rig-std install` writes each plugin's manifest where rig finds it.
|
Command rig-std is every official Go plugin in one binary: `rig-std <name>` serves one plugin over rig/1 on stdio, and `rig-std install` writes each plugin's manifest where rig finds it. |
|
internal
|
|
|
forge
Package forge is what the hosted-service plugins (gitlab, github, jira, confluence, slack) share: their config, token and JSON calls.
|
Package forge is what the hosted-service plugins (gitlab, github, jira, confluence, slack) share: their config, token and JSON calls. |
|
forge/forgetest
Package forgetest is a canned forge API for adapter tests.
|
Package forgetest is a canned forge API for adapter tests. |
|
frames
Package frames builds rig/1 frames from slices of structs, a column per json-tagged field.
|
Package frames builds rig/1 frames from slices of structs, a column per json-tagged field. |
|
httpx
Package httpx is the HTTP plumbing adapters share: base URLs from svc:// addresses, JSON calls with auth.
|
Package httpx is the HTTP plumbing adapters share: base URLs from svc:// addresses, JSON calls with auth. |
|
ide
Package ide writes the project's services into GoLand and VS Code, so they can be watched, stopped and debugged from the IDE while rig runs them.
|
Package ide writes the project's services into GoLand and VS Code, so they can be watched, stopped and debugged from the IDE while rig runs them. |
|
importers
Package importers turns other tools' files into rig.yaml fragments: task runners into tasks, CI jobs into tasks, Procfiles into services, dotenv files into vars, Grafana dashboards into dashboards, Prometheus rules into alerts and OpenAPI specs into queries.
|
Package importers turns other tools' files into rig.yaml fragments: task runners into tasks, CI jobs into tasks, Procfiles into services, dotenv files into vars, Grafana dashboards into dashboards, Prometheus rules into alerts and OpenAPI specs into queries. |
|
kubectx
Package kubectx picks the kubeconfig context an environment means.
|
Package kubectx picks the kubeconfig context an environment means. |
|
localhost
Package localhost describes this machine as a host and probes local HTTP endpoints; runtimes that run on this machine (local processes, docker) embed Host.
|
Package localhost describes this machine as a host and probes local HTTP endpoints; runtimes that run on this machine (local processes, docker) embed Host. |
|
sh
Package sh runs external tools (kubectl, docker, ssh, ...) with errors that carry their stderr.
|
Package sh runs external tools (kubectl, docker, ssh, ...) with errors that carry their stderr. |
|
traces
Package traces holds what every tracing adapter shares: summaries and the "traces" query language.
|
Package traces holds what every tracing adapter shares: summaries and the "traces" query language. |
Click to show internal directories.
Click to hide internal directories.