drydock
Inspect your Argo CD fleet without getting wet
drydock is a fast, single static Go binary and embeddable Go module for runtime-offline Argo CD desired-state analysis. It discovers, renders, tests, diffs, and diagnoses GitOps Applications with native Go renderers, no Argo CD server, no Kubernetes credentials, and no default shellouts.
Get Started | Set Up PR Checks
Use drydock to review rendered PR diffs automatically:
Start Here
- Getting started installs drydock and runs the first local render test.
- GitHub Actions sets up pull request checks without Kubernetes or Argo CD credentials.
- Local diffs covers local tree and Git ref comparisons.
- How it works explains discovery, source acquisition, rendering, normalization, and reporting.
- Troubleshooting maps common operator symptoms to the first commands to run.
Core Workflows
drydock get apps --path .
drydock test apps --path .
drydock diff apps --repo . --ref HEAD --ref-orig main
drydock diff images --repo . --ref HEAD --ref-orig main
drydock diag --path .
Choose Your Workflow
| Need | Start with | Read next |
|---|---|---|
| Confirm the fleet renders | drydock test apps --path . |
Getting started |
| Review Argo CD desired state before merge | drydock diff apps --repo . --ref HEAD --ref-orig main -o markdown |
GitHub Actions |
| Scan image movement | drydock diff images --repo . --ref HEAD --ref-orig main |
Local diffs |
| Set up plugin support | drydock plugin-policy init --path . |
Plugin policy |
| Explain warnings or failures | drydock diag --path . --cache-events |
Troubleshooting |
| Validate cache-only operation | drydock test apps --path . --offline |
Source acquisition |
What It Covers
| Capability | Result |
|---|---|
| Discover | Find committed and supported generated Argo CD Applications. |
| Render | Inflate directory, Kustomize, Helm, Jsonnet, and supported remote sources. |
| Test | Prove Applications render before Argo CD syncs them. |
| Diff | Compare rendered desired manifests across paths or Git refs. |
| Inspect images | Report rendered image reference additions and removals. |
| Diagnose | Surface repository, project, source, cache, plugin, and settings issues. |
Operating Model
drydock is runtime-offline: render, test, diff, image, and diagnostic commands
do not call Kubernetes or Argo CD APIs. Declared Git, HTTP Helm, OCI Helm, and
remote Kustomize sources can still be fetched into explicit caches unless
--offline is set.
Use these curated pages for day-to-day operation. Use the reference docs for full compatibility notes, action inputs, source acquisition flags, and plugin policy schema.
drydock diff
Summary: 2 apps, 4 resources, +30/-26.
envoy-gateway-system (+9/-21, 2 resources)
renovate (+21/-5, 2 resources)