← Toolboxes

TOOLBOX · DEVOPS · CURATED + REVIEWED

The DevOps Toolbox.

devops tools reviews ci-cd
Curated, opinionated picks — what each tool is for, when to reach for it, and what to skip. Bias: boring, widely-adopted, well-documented tools beat clever ones. Verdict tags: ★ default pick, solid, niche, legacy.

CI/CD

ToolVerdictReview
GitHub Actions★ defaultLives next to your code, huge marketplace, easy YAML. Default for anything already on GitHub. Watch runner cost + secret scoping on forked PRs.
GitLab CIsolidBest if you're on GitLab — tight integration, built-in registry/environments. Single .gitlab-ci.yml; powerful but YAML sprawls.
Argo CD★ (GitOps)Declarative GitOps CD for Kubernetes — Git is the source of truth, drift auto-syncs. Pair with Actions/GitLab for CI.
JenkinslegacyInfinitely flexible, plugin hell, you babysit the server. Inherit it, don't start with it.
CircleCI / BuildkitenicheCircleCI = fast SaaS; Buildkite = your own runners + their UI (good for scale/security).
CI vs CD Keep them separate: CI (build/test) on GitHub Actions/GitLab; CD (deploy to k8s) via GitOps (Argo CD / Flux). Don't kubectl apply from a CI job — push to Git, let the reconciler deploy.

Infrastructure as Code

ToolVerdictReview
Terraform / OpenTofu★ defaultThe IaC lingua franca — every provider, huge module registry. OpenTofu is the open-source fork (post-license change). Remote state + locking is mandatory.
PulumisolidIaC in real languages (TS/Python/Go) — great for devs who want loops/types. Smaller ecosystem; state model similar to TF.
AnsiblesolidAgentless config management / provisioning over SSH. Best for VM config + ad-hoc ops, not cloud resource lifecycle (use TF for that).
PackernicheBake immutable machine/AMI images. Pair with TF: Packer builds the image, TF deploys it.
CrossplanenicheProvision cloud infra via Kubernetes CRDs. Good if you're all-in on k8s + platform engineering.

Containers & orchestration

ToolVerdictReview
Docker★ defaultStill the dev experience standard for building/running containers locally. BuildKit for fast cached builds.
Kubernetes★ (at scale)The orchestration standard. Powerful, complex — don't reach for it until you actually need orchestration. Managed (EKS/GKE/AKS) over self-hosted.
HelmsolidPackage manager / templating for k8s. Ubiquitous for third-party charts; templating gets ugly — consider Kustomize for your own manifests.
KustomizesolidTemplate-free overlays (built into kubectl). Cleaner than Helm for your own app's env variants.
k9s★ (daily)Terminal UI for k8s — navigate pods/logs/exec fast. Huge quality-of-life win over raw kubectl.
Podman / nerdctlnicheDaemonless/rootless Docker alternatives. Nice for security-sensitive or CI environments.

Registries & artifacts

ToolVerdictReview
Cloud-native registry (ECR/GAR/ACR)★ defaultUse your cloud's registry — IAM integration, no extra infra. GitHub/GitLab registries if your CI lives there.
HarborsolidSelf-hosted registry + vulnerability scanning + signing + replication. Default for on-prem/air-gapped.
Artifactory / NexussolidUniversal artifact stores (containers + language packages + binaries). Heavy but enterprise-complete.

Secrets & config

ToolVerdictReview
Cloud secret manager (AWS SM / GCP Secret Manager / Azure KV)★ defaultManaged, IAM-scoped, versioned, auto-rotation. Default unless you're multi-cloud/on-prem.
HashiCorp Vault★ (advanced)The gold standard for dynamic secrets, PKI, leasing, multi-cloud. Powerful but real operational cost — don't run it unless you need it.
External Secrets OperatorsolidSync secrets from a manager into k8s Secrets — keeps the source of truth external.
SOPSsolidEncrypt secrets in Git (with KMS/age). Great for GitOps secret workflows.
never commit plaintext secrets Secrets in env files, CI logs, or images leak forever (git history, layer history). Use a manager + injected at runtime, or SOPS-encrypted in Git. Add a secret scanner (gitleaks) to CI.

Observability

ToolVerdictReview
Prometheus + Grafana★ defaultThe open-source metrics + dashboards standard. Pull-based, PromQL, Alertmanager. Watch cardinality.
LokisolidLog aggregation that indexes labels not full text — cheap, Grafana-native (LogQL).
OpenTelemetry★ (instrument)Vendor-neutral metrics/logs/traces SDKs + Collector. Instrument once, export anywhere. The right default for tracing.
Tempo / JaegersolidDistributed tracing backends. Tempo = cheap object-store traces, Grafana-native.
Datadog / Grafana CloudsolidManaged all-in-one — fast to value, gets expensive at scale. Buy time, not forever.

Everyday CLI quality-of-life

ToolWhat
kubectx / kubensSwitch k8s context/namespace fast — stop fat-fingering prod.
direnvPer-directory env vars, auto-loaded. Great for project-scoped config.
jq / yqSlice JSON / YAML on the command line. Non-negotiable.
fzf / ripgrep / batFuzzy find / fast grep / better cat. Shell speed boost.
tflint / tfsec / checkovLint + security-scan Terraform in CI.
pre-commitRun linters/formatters/secret-scans before every commit.
gitleaks / trivySecret detection / image + IaC vulnerability scanning.

A sensible default stack

If you're starting fresh and want boring-that-works:

  • CI: GitHub Actions  ·  CD: Argo CD (GitOps)
  • IaC: Terraform/OpenTofu + remote state  ·  images: Packer (if VMs)
  • Runtime: managed Kubernetes (EKS/GKE) or Cloud Run if you don't need orchestration
  • Packaging: Helm for third-party, Kustomize for your own
  • Secrets: cloud secret manager + External Secrets Operator (or SOPS for GitOps)
  • Observability: Prometheus + Grafana + Loki + OpenTelemetry
  • CI guards: pre-commit + tflint/tfsec + gitleaks + trivy
tool count is a cost Every tool is something to learn, secure, patch, and on-call for. Pick the fewest that cover your needs; prefer managed + widely-adopted. "Boring" is a feature in production.
← all toolboxes next: Security →
© cvam — written in plaintext, served warm