Must-Read
1
5 minutes
Start your journey with basics
2
15 minutes
Install and give werf a try on an example project
3
15 minutes
Learn the essentials of using werf in any CI/CD system
4
several hours
Find a guide suitable for your project
Find a guide suitable for your project (filter by a programming language, framework, CI/CD system, etc.) and deploy your first real application into the Kubernetes cluster with werf.
Reference
1
Use Reference for structured information about werf configuration and commands
  • An application should be properly configured via the werf.yaml file to use werf.
  • werf also uses annotations in resources definitions to configure the deploy behaviour.
  • The command line interface article contains the full list of werf commands with a description.
The extra mile
1
Get the deep knowledge, which you will need eventually during werf usage
  • Configuration informs about templating principles of werf configuration files as well as generating deployment-related names (such as a Kubernetes namespace or a release name).
  • Helm** describes the deploy essentials: how to configure werf for deploying to Kubernetes, what helm chart and release is. Here you may find the basics of templating Kubernetes resources, algorithms for using built images defined in your werf.yaml file during the deploy process and working with secrets, plus other useful stuff. Read this section if you want to learn more about organizing the deploy process with werf.
  • Cleanup explains werf cleanup concepts and main commands to perform cleaning tasks.
  • CI/CD describes main aspects of organizing CI/CD workflows with werf. Here you will learn how to use werf with GitLab CI/CD, GitHub Actions, or any other CI/CD system.
  • Building images with stapel introduces werf’s custom builder. It currently implements the distributed building algorithm to enable lightning-fast build pipelines with distributed caching and incremental rebuilds based on the Git history of your application.
  • Development and debug describes debugging build and deploy processes of your application when something goes wrong and prvodes instructions for setting up a local development environment.
  • Supported registry implementations contains general info about supported implementations and authorization when using different implementations.
2
Dive into overview of werf's inner workings

You do not have to read through this section to make full use of werf. However, those interested in werf's internal mechanics will find some valuable info here.

  • Building images — what image builder and stages are, how stages storage works, what is the synchronization server, other info related to the building process.
  • How does the CI/CD integration work?.
  • The slug algorithm for naming describes the algorithm that werf uses under-the-hood to automatically replace invalid characters in input names so that other systems (such as Kubernetes namespaces or release names) can consume them.
  • Integration with SSH agent shows how to integrate ssh-keys with the building process in werf.
  • Development — this developers zone contains service/maintenance manuals and other docs written by werf developers and for werf developers. All this information sheds light on how specific werf subsystems work, describes how to keep the subsystem current, how to write and build new code for the werf, etc.