{"id":13561758,"url":"https://github.com/jetstack/version-checker","last_synced_at":"2025-04-13T08:57:08.317Z","repository":{"id":39607481,"uuid":"287313420","full_name":"jetstack/version-checker","owner":"jetstack","description":"Kubernetes utility for exposing image versions in use, compared to latest available upstream, as metrics.","archived":false,"fork":false,"pushed_at":"2025-04-04T15:36:38.000Z","size":1074,"stargazers_count":724,"open_issues_count":32,"forks_count":79,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-04-06T06:12:29.743Z","etag":null,"topics":["docker","gcr","go","grafana","grafana-dashboard","image","kubernetes","prometheus","quay","sre","utility","version"],"latest_commit_sha":null,"homepage":"https://jetstack.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jetstack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-13T15:17:34.000Z","updated_at":"2025-04-03T16:01:51.000Z","dependencies_parsed_at":"2023-10-10T20:21:12.589Z","dependency_job_id":"3646a664-202c-43a1-aa80-c1a3093eafb1","html_url":"https://github.com/jetstack/version-checker","commit_stats":{"total_commits":257,"total_committers":32,"mean_commits":8.03125,"dds":0.6303501945525292,"last_synced_commit":"337b38562ad63fd2bda9fb4b54584d6fb36444b7"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jetstack%2Fversion-checker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jetstack%2Fversion-checker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jetstack%2Fversion-checker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jetstack%2Fversion-checker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jetstack","download_url":"https://codeload.github.com/jetstack/version-checker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248688543,"owners_count":21145764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","gcr","go","grafana","grafana-dashboard","image","kubernetes","prometheus","quay","sre","utility","version"],"created_at":"2024-08-01T13:01:00.805Z","updated_at":"2025-04-13T08:57:08.292Z","avatar_url":"https://github.com/jetstack.png","language":"Go","funding_links":[],"categories":["Go","kubernetes"],"sub_categories":[],"readme":"# version-checker\n\n![GitHub Release](https://img.shields.io/github/v/release/jetstack/version-checker)\n[![Go Report Card](https://goreportcard.com/badge/github.com/jetstack/version-checker)](https://goreportcard.com/report/github.com/jetstack/version-checker)\n[![Tests](https://github.com/jetstack/version-checker/actions/workflows/build-test.yaml/badge.svg)](https://github.com/jetstack/version-checker/actions/workflows/build-test.yaml?query=branch%3Amain)\n![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/jetstack/version-checker)\n\nversion-checker is a Kubernetes utility for observing the current versions of\nimages running in the cluster, as well as the latest available upstream. These\nchecks get exposed as Prometheus metrics to be viewed on a dashboard, or _soft_\nalert cluster operators.\n\n## Registries\n\nversion-checker supports the following registries:\n\n- [ACR](https://azure.microsoft.com/en-us/services/container-registry/)\n- [Docker Hub](https://hub.docker.com/)\n- [ECR](https://aws.amazon.com/ecr/)\n- [GCR](https://cloud.google.com/container-registry/) (inc gcr facades such as k8s.gcr.io)\n- [Quay](https://quay.io/)\n- Self Hosted (Docker V2 API compliant registries, e.g.\n  [registry](https://hub.docker.com/_/registry),\n  [artifactory](https://jfrog.com/artifactory/) etc.). Multiple self hosted\n  registries can be configured at once.\n\nThese registries support authentication.\n\n---\n\n## Installation\n\nversion-checker can be installed as either static manifests;\n\n```sh\n$ kubectl apply -k ./deploy/yaml\n```\n\nOr through helm;\n\n```sh\n$ helm repo add jetstack https://charts.jetstack.io\n\"jetstack\" has been added to your repositories\n$ helm install version-checker jetstack/version-checker\nNAME: version-checker\nLAST DEPLOYED: Wed Jul 12 17:47:41 2023\nNAMESPACE: default\nSTATUS: deployed\nREVISION: 1\nTEST SUITE: None\n```\n\nThe helm chart supports creating a Prometheus/ServiceMonitor to expose the\nversion-checker metrics.\n\n#### Grafana Dashboard\n\nA [grafana dashboard](https://grafana.com/grafana/dashboards/12833) is also\navailable to view the image versions as a table.\n\n![](img/grafana.jpg)\n\u003ccenter\u003e\u003c/center\u003e\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eGrafana Dashboard\u003c/b\u003e\u003cbr\u003e\n\u003c/p\u003e\n\n---\n\n## Options\n\nBy default, without the flag `-a, --test-all-containers`, version-checker will\nonly test containers where the pod has the annotation\n`enable.version-checker.io/*my-container*`, where `*my-container*` is the `name`\nof the container in the pod.\n\nversion-checker supports the following annotations present on **other** pods to\nenrich version checking on image tags:\n\n- `pin-major.version-checker.io/my-container: 4`: will pin the major version to\n    check to 4 (`v4.0.0`).\n\n- `pin-minor.version-checker.io/my-container: 3`: will pin the minor version to\n    check to 3 (`v0.3.0`).\n\n- `pin-patch.version-checker.io/my-container: 23`: will pin the patch version to\n    check to 23 (`v0.0.23`).\n\n- `use-metadata.version-checker.io/my-container: \"true\"`: will allow to search\n    for image tags which contain information after the first part of the semver\n    string. For example, this can be pre-releases or build metadata\n    (`v1.2.4-alpha.0`, `v1.2.3-debian-r3`).\n\n- `use-sha.version-checker.io/my-container: \"true\"`: will check against the latest\n    SHA tag available. Essentially, the latest image by date. This is silently\n    set to true if no image tag, or \"latest\" image tag is set. Cannot be used with\n    any other options.\n\n- `match-regex.version-checker.io/my-container: ^v\\d+\\.\\d+\\.\\d+-debian-`: is\n    used for only comparing against image tags which match the regex set. For\n    example, the above annotation will only check against image tags which have\n    the form of something like `v1.3.4-debian-r30`.\n    `use-metadata.version-checker.io` is not required when this is set. All\n    other options, apart from URL overrides, are ignored when this is set.\n\n- `override-url.version-checker.io/my-container: docker.io/bitnami/etcd`: is\n    used to change the URL for where to lookup where the latest image version\n    is. In this example, the current version of `my-container` will be compared\n    against the image versions in the `docker.io/bitnami/etcd` registry.\n\n- `resolve-sha-to-tags.version-checker.io/my-container`: is used to\n    resolve images specified using sha256 in kubernetes manifests to valid semver\n    tags. To enable this the annotation value must be set to \"true\".\n\n## Known configurations\n\nFrom time to time, version-checker may need some of the above options applied to determine the latest version,\ndepending on how the maintainers publish their images. We are making a conscious effort to collate some of these configurations.\n\nSee [known-configurations.md](known-configurations.md) for more details.\n\n## Metrics\n\nBy default, version-checker will expose the version information as Prometheus\nmetrics on `0.0.0.0:8080/metrics`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjetstack%2Fversion-checker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjetstack%2Fversion-checker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjetstack%2Fversion-checker/lists"}