container-canary
brew install container-canary
v0.5.0
Apache-2.0
Test and validate container requirements against versioned manifests
12
30-day installs · #8151
28
90-day · #8806
108
365-day · #8985
302
★ GitHub stars · updated 11mo ago
Build dependencies
GitHub topics
automation
ci
containers
docker
kubernetes
podman
utilities
versioning
Links
- https://github.com/NVIDIA/container-canary
- GitHub: NVIDIA/container-canary
- Brew formula source: Formula/c/container-canary.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [
"go"
],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Test and validate container requirements against versioned manifests",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:36:35+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "container-canary",
"github_default_branch": "main",
"github_last_commit_at": "2025-09-02T09:49:53Z",
"github_readme_excerpt": "# Container Canary\n\n[](https://github.com/NVIDIA/container-canary/actions/workflows/test.yaml)\n\n\n\nA little bird to validate your container images.\n\n```console\n$ canary validate --file examples/awesome.yaml your/container:latest\nValidating your/container:latest against awesome\n \ud83d\udce6 Required packages are installed [passed]\n \ud83e\udd16 Expected services are running [passed]\n \ud83c\udf89 Your container is awesome [passed]\nvalidation passed\n```\n\nMany modern compute platforms support bring-your-own-container models where the user can provide container images with their custom software environment. However platforms commonly have a set of requirements that the container must conform to, such as using a non-root user, having the home directory in a specific location, having certain packages installed or running web applications on specific ports.\n\nContainer Canary is a tool for recording those requirements as a manifest that can be versioned and then validating containers against that manifest. This is particularly useful in CI environments to avoid regressions in containers.\n\n- [Container Canary](#container-canary)\n - [Installation](#installation)\n - [Example (Kubeflow)](#example-kubeflow)\n - [Validator reference](#validator-reference)\n - [Metadata](#metadata)\n - [Runtime options](#runtime-options)\n - [Environment variables](#environment-variables)\n - [Ports](#ports)\n - [Volumes](#volumes)\n - [Command](#command)\n - [Checks](#checks)\n - [Exec](#exec)\n - [HTTPGet](#httpget)\n - [TCPSocket](#tcpsocket)\n - [Delays, timeouts, periods and thresholds](#delays-timeouts-periods-and-thresholds)\n - [Contribu",
"github_repo": "NVIDIA/container-canary",
"github_stars": 302,
"github_topics": [
"automation",
"ci",
"containers",
"docker",
"kubernetes",
"podman",
"utilities",
"versioning"
],
"homepage": "https://github.com/NVIDIA/container-canary",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 12,
"installs_365d": 108,
"installs_90d": 28,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "Apache-2.0",
"llm_generated_at": null,
"llm_model": null,
"name": "container-canary",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 8151,
"rank_365d": 8985,
"rank_90d": 8806,
"raw_hash": "1ef4ee735a226c8a",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/c/container-canary.rb",
"tap": "homebrew/core",
"test_dependencies": [
"docker"
],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "0.5.0",
"versioned_formulae": [],
"why_use_this": null
}