# keel-hq/keel

Kubernetes Operator to automate Helm, DaemonSet, StatefulSet & Deployment updates

Repository: https://github.com/keel-hq/keel
Canonical: https://ross.abutalabs.com/products/keel
Homepage: https://keel.sh
Language: Go
License: MPL-2.0
License Family: copyleft
Topics: kubernetes, docker, automate, deployment, webhook, trigger, golang, keel, semver, helm
Last push: 2026-08-21T16:20:18+00:00

## Health v2 (maintenance only)
Score: 94/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 98, release rhythm 86, longevity 100
- inputs: {"age_days": 3371, "days_push": 12, "days_rel": 19, "gap_med": 32, "n_releases_24m": 8}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2725, forks 320 (observed 2026-08-28T04:07:15.778617+00:00)

## What it is
Keel is a lightweight, stateless Kubernetes operator that automatically updates Deployments, StatefulSets, DaemonSets, and Helm releases when new container images are available. It is configured entirely through annotations and labels in manifests or charts, with no CLI or API required, and supports semver-based update policies, registry webhooks, polling, approvals, and notifications.

## Use cases
- automatically update kubernetes deployments when a new docker image is pushed
- auto-update helm releases with semver policies
- poll container registries for new image tags and update workloads
- handle dockerhub and quay webhooks to trigger cluster updates
- require manual approval before deploying new image versions
- get slack notifications when deployments are updated

## When to choose
- you want hands-off, policy-driven image updates in Kubernetes without a CLI or database
- you prefer configuration via annotations in existing manifests or Helm charts
- you need webhook, pubsub, or polling triggers from multiple container registries
- you want lightweight self-hosted automation with Slack/Telegram/etc notifications and approvals

## When to avoid
- you need full GitOps with Git as the source of truth and drift reconciliation
- you want manual control over every deployment rollout
- you are not running Kubernetes or Helm workloads
- you need complex multi-stage pipeline orchestration rather than simple image updates

## Facets
- artifact type: service
- maturity: active
- function: deployment, container-orchestration, workflow-automation, webhook, monitoring
- domain: cloud-computing, self-hosted
- platform: go, self-hosted, cloud
- tags: kubernetes-operator, helm, semver, continuous-deployment, image-updates, registry-webhooks, gitops-adjacent, devops, containers, automation, kubernetes, docker

## Member repositories
- keel-hq/keel (main) score 94

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:15.778617+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:14:49.974504+00:00, confidence not recorded.
  - readme: https://github.com/keel-hq/keel (fetched 2026-08-28T04:07:15.778617+00:00, sha 916a0b9fff84)
  - homepage: https://keel.sh (fetched 2026-08-29T09:58:00.809350+00:00, sha 642510380b3d)
  - site_page: https://keel.sh/docs (fetched 2026-08-29T09:58:00.812300+00:00, sha 53fcd3c549d1)
  - site_page: https://keel.sh/docs/external-auth-proxy.html (fetched 2026-08-29T09:58:00.815261+00:00, sha 16975c7813f4)
- Data as of 2026-08-30T08:39:29.467469+00:00.
