Start your journey with basics
Learn the essentials of using werf in any CI/CD system
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.
Use Reference for structured information about werf configuration and commands
The extra mile
Get the deep knowledge, which you will need eventually during werf usage
- Giterminism describes how determinism is implemented with git, what limitations it imposes, and why.
- 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.yamlfile during the deploy process and working with secrets, plus other useful stuff. Read this chapter 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 provides instructions for setting up a local development environment.
- Supported container registries contains information about the peculiarities of using various container registries.
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.