Development news
Latest releases
What is it?

Consistent
delivery tool

  • The CLI tool glueing Git, Docker, Helm & Kubernetes
    with any CI system to implement CI/CD and Giterminism.
Why do I need it?

Fast & efficient
CI/CD

  • Establish and benefit from efficient,
    robust and integrated CI/CD pipelines
    on top of proven technologies.
  • With werf, it’s easy to start, to apply best practices
    and to avoid reinventing the wheel.
How does it work?

What you Git
is what you get!

  • Git is treated as a single source of truth
    (we call it «Giterminism»).
  • werf not only builds & deploys but also continuously
    syncs current Kubernetes state with changes made in Git.
1
Desired state
is defined in Git
2
Syncs the registry
to the defined state
  1. Builds images (if anything changed or missing)
  2. Pushes images (if needed)
3
Syncs Kubernetes
to the defined state
  1. Applies the Helm chart (with appropriate images)
  2. Tracks deployment progress till success (and provides feedback)

It’s like GitOps,
but even better!

Werf introduces Giterminism: use git as a single source of truth, and make the entire delivery pipeline deterministic and idempotent.
  • Two ways to deploy
    werf supports 2 ways to deploy an application:
    1. converge application from git commit into the Kubernetes;
    2. publish application from git commit into the Container Registry as a bundle, then deploy bundle into the Kubernetes.
  • Flexible integration
    werf allows usage in a different ways:
    1. manually;
    2. by CI/CD system;
    3. by Kubernetes operator (coming soon);
    4. by heroku-like git push approach (coming soon).
  • It’s a CLI tool
    werf is not a SAAS, it is an Open Source, self-contained client-side CLI tool. Use this single tool for local development or embed it into any CI/CD system (like GitLab CI/CD, GitHub Actions, Jenkins, CircleCI, etc.) using its main commands as building blocks:
    • werf converge;
    • werf dismiss;
    • werf cleanup;
    • werf bundle publish;
    • werf bundle apply.
  • Easy to use
    werf just works out of the box with a minimal configuration. You don't even need to be a DevOps/SRE engineer to use werf. Many guides are provided to quickly deploy your app into Kubernetes.
  • Combining the best
    werf glues well-established software forming a transparent, integrated CI/CD platform. Benefit from a conveniently controlled, smooth interaction of Git, Docker, your container registry & existing CI system, Helm, Kubernetes!
  • Distributed building
    werf implements an advanced builder boasting a distributed algorithm that makes your pipelines really fast thanks to distributed caching.
  • Built-in cleaning
    werf implements a sophisticated algorithm to clean unused Docker images that is based on the Git history of your application.
  • Extended Helm
    werf uses a built-in helm binary to implement a Helm-compatible deployment with additional features. It doesn't require to have helm separately installed. It provides you a descriptive and sharp deploy logging, fast failures detection during deploy process, secrets support and other extensions making deploy process clear, robust and reliable.
  • Open Source
    Open Source project since its launch in 2016. Written in Go. Proud of its strong & growing community of users.
Active development & adoption
  • 4
    releases per week
    on average during the last year
  • 2000+
    installations
    for large and small projects
  • 2100
    stars on GitHub
    let’s make it more ;)
werf is a mature,
reliable tool you can trust
Read about stability channels and release process
Friendly and rapidly growing community
werf’s developers are always in contact with the community.
You can reach us in Telegram, Twitter and GitHub Discussions.
Detailed documentation
werf documentation comprises over 100 articles covering typical use cases (getting started, deploying to Kubernetes, CI/CD integration, and more), CLI, commands, and providing a thorough description of functions & architecture.