0 | --- | # Meta section |
... | ||
1 | project: string ! | # Unique project name |
2 | configVersion: int ! | # Config syntax version. It should always be 1 for now |
3 | build: | # Common build settings |
... | ||
4 | platform: [ string, ... ] | # Common list of target platforms for all images (for example ['linux/amd64', 'linux/arm64', 'linux/arm/v8']) |
5 | deploy: | # Settings for deployment |
... | ||
6 | helmChartDir: string |
#
Path to the helm chart directory of the project (default .helm )
|
7 | helmRelease: string |
#
Release name template (default [[ project ]]-[[ env ]] )
|
8 | helmReleaseSlug: bool |
#
Release name slugification (default true )
|
9 | namespace: string |
#
Kubernetes namespace template (default [[ project ]]-[[ env ]] )
|
10 | namespaceSlug: bool |
#
Kubernetes namespace slugification (default true )
|
11 | cleanup: | # Settings for cleaning up irrelevant images |
... | ||
12 | disableKubernetesBasedPolicy: bool | # Disable a cleanup policy that allows not to remove images deployed in Kubernetes from the container registry |
13 | disableGitHistoryBasedPolicy: bool | # Disable a cleanup policy that allows not to remove images taking into account user-defined policies by the Git history (keepPolicies) |
14 | disableBuiltWithinLastNHoursPolicy: bool | # Disable a cleanup policy that allows not to remove images built in last hours (keepImagesBuiltWithinLastNHours) |
15 | keepImagesBuiltWithinLastNHours: uint |
#
The minimum number of hours that must elapse since the image is built (default 2 )
|
16 | keepPolicies: | # Set of policies to select relevant images using the Git history |
17 | - references: | # References to perform scanning on |
18 | branch: string || /REGEXP/ | # One or more git origin branches |
19 | tag: string || /REGEXP/ | # One or more git origin tags |
20 | limit: | # The set of rules to limit references on the basis of the date when the git tag was created or the activity in the git branch |
21 | last: int |
#
To select n last references last n references from those defined in the branch or tag (default -1 )
|
22 | in: duration string | # To select git tags that were created during the specified period or git branches that were active during the period |
23 | operator: And || Or |
#
Check both conditions or any of them (default And )
|
24 | imagesPerReference: | # The limit on the number of images for each reference contained in the set |
25 | last: int |
#
The number of images to search for each reference (default -1 )
|
26 | in: duration string | # The time frame in which werf searches for images |
27 | gitWorktree: | # Configure how werf handles git worktree of the project |
... | ||
28 | forceShallowClone: bool | # Force werf to use shallow clone despite restrictions |
29 | allowUnshallow: bool |
#
Allow werf to automatically convert project shallow git clone to full one during build process when needed (default true )
|
30 | allowFetchOriginBranchesAndTags: bool |
#
Allow werf to synchronize git branches and tags with remote origin during cleanup process when needed (default true )
|
31 | --- | # Dockerfile image section: optional, define as many image sections as you need |
... | ||
32 | image: string || [ string, ... ] ! | # One or more unique names for image |
33 | final: bool |
#
Mark image as final (default true ). More details here
|
34 | dockerfile: string ! | # Dockerfile path relative to the context PATH |
35 | staged: bool | # Enable layer-by-layer caching of Dockerfile instructions in container registry |
36 | context: string | # Build context PATH inside project directory |
37 | platform: [ string, ... ] | # List of target platforms for this image (for example ['linux/amd64', 'linux/arm64', 'linux/arm/v8']) |
38 | contextAddFiles: [ string, ... ] | # Untracked files and directories for adding to build context. The paths must be relative to context PATH |
39 | target: string | # Specific Dockerfile stage (last one by default, see docker build --target option) |
40 | args: { name string: value string, ... } | # Variables for ARG dockerfile instructions (see docker build --build-arg option) |
41 | addHost: [ string, ... ] | # Custom host-to-IP mapping (host:ip) (see docker build --add-host option) |
42 | network: string | # The networking mode for the RUN instructions during build (see docker build --network option) |
43 | ssh: string | # SSH agent socket or keys to the build (only if BuildKit enabled) (see docker build --ssh option) |
44 | dependencies: | # Dependencies images for current image |
... | ||
45 | - image: string | # Dependency image name, which should be built before building current image |
46 | imports: | # Define target build args to import image information into current image (optional) |
47 | - type: string | # Type of image info: ImageName, ImageDigest, ImageRepo or ImageTag |
48 | targetBuildArg: string | # Name of build argument which will contain specified type of information about image |
49 | --- | # Stapel image section: optional, define as many image sections as you need |
... | ||
50 | image: string || [ string, ... ] ! | # One or more unique names for image |
51 | artifact: string | # The unique name for artifact (DEPRECATED). More details here |
52 | final: bool |
#
Mark image as final (default true ). More details here
|
53 | platform: [ string, ... ] | # List of target platforms for this image (for example ['linux/amd64', 'linux/arm64', 'linux/arm/v8']) |
54 | from: string | # The name of a base image. More details here |
55 | fromLatest: bool | # To use actual base image without caching. More details here |
56 | fromImage: string | # To use image as base image by image name. More details here |
57 | fromArtifact: string | # To use artifact as base image by artifact name (DEPRECATED) |
58 | fromCacheVersion: string | # Cache version. More details here |
59 | disableGitAfterPatch: bool | # Disable updating git sources (gitCache, gitLatestPatch stages). More details here |
60 | git: | # Set of directives to add source files from git repositories (both the project repository and any other). More details here |
... | ||
61 | - url: string | # The address of the remote repository. More details here |
62 | branch: string | # The branch name. More details here |
63 | commit: string | # The commit |
64 | tag: string | # The tag name |
65 | add: string | # A source path in a repository. More details here |
66 | to: string | # A destination path in image. More details here |
67 | owner: string | # The name or UID of the owner. More details here |
68 | group: string | # The name or GID of the owner’s group. More details here |
69 | includePaths: [ glob, ... ] | # Globs for including. More details here |
70 | excludePaths: [ glob, ... ] | # Globs for excluding. More details here |
71 | stageDependencies: | # The organization of restarting assembly instructions when defined changes occur in the git repository. More details here |
72 | install: [ glob, ... ] | # Globs for install stage |
73 | beforeSetup: [ glob, ... ] | # Globs for beforeSetup stage |
74 | setup: [ glob, ... ] | # Globs for setup stage |
75 | shell: | # Shell assembly instructions. More details here |
... | ||
76 | beforeInstall: [ string, ... ] | # Commands for beforeInstall stage. More details here |
77 | install: [ string, ... ] | # Commands for install stage. More details here |
78 | beforeSetup: [ string, ... ] | # Commands for beforeSetup stage. More details here |
79 | setup: [ string, ... ] | # Commands for setup stage. More details here |
80 | cacheVersion: string | # Common cache version. More details here |
81 | beforeInstallCacheVersion: string | # Cache version for beforeInstall stage. More details here |
82 | installCacheVersion: string | # Cache version for install stage. More details here |
83 | beforeSetupCacheVersion: string | # Cache version for beforeSetup stage. More details here |
84 | setupCacheVersion: string | # Cache version for setup stage. More details here |
85 | ansible: | # Ansible assembly instructions. More details here |
... | ||
86 | beforeInstall: [ task, ... ] | # Tasks for beforeInstall stage. More details here |
87 | install: [ task, ... ] | # Tasks for install stage. More details here |
88 | beforeSetup: [ task, ... ] | # Tasks for beforeSetup stage. More details here |
89 | setup: [ task, ... ] | # Tasks for setup stage. More details here |
90 | cacheVersion: string | # Common cache version. More details here |
91 | beforeInstallCacheVersion: string | # Cache version for beforeInstall stage. More details here |
92 | installCacheVersion: string | # Cache version for install stage. More details here |
93 | beforeSetupCacheVersion: string | # Cache version for beforeSetup stage. More details here |
94 | setupCacheVersion: string | # Cache version for setup stage. More details here |
95 | docker: | # Set of directives to effect on an image manifest. More details here |
... | ||
96 | exactValues: bool | # Set specified options values as-is, including unescaped quotes and spaces. Option affects only docker-server backend and does not affect buildah backend. |
97 | USER: string | # The user name (or UID) and optionally the user group (or GID). More details here |
98 | WORKDIR: string | # The working directory. More details here |
99 | VOLUME: [ string, ... ] | # Mount points. More details here |
100 | ENV: { name string: value string, ... } | # The environment variables. More details here |
101 | LABEL: { name string: value string, ... } | # The metadata to an image. More details here |
102 | EXPOSE: [ string, ... ] | # To inform Docker that the container listens on the specified network ports at runtime. More details here |
103 | ENTRYPOINT: string | [ string, ... ] | # To configure a container that will run as an executable. Shell and exec forms are supported. More details here |
104 | CMD: string | [ string, ... ] | # To provide default arguments for the ENTRYPOINT to configure a container that will run as an executable. Shell and exec forms are supported. More details here |
105 | HEALTHCHECK: string | # To tell Docker how to test a container to check that it is still working. More details here |
106 | mount: | # Mount points. More details here |
... | ||
107 | - from: tmp_dir || build_dir | # Service folder name |
108 | fromPath: string | # Absolute or relative path to an arbitrary file or folder on host |
109 | to: string | # Absolute path in image |
110 | import: | # Imports. More details here |
... | ||
111 | - artifact: string | # The artifact name from which you want to copy files (DEPRECATED) |
112 | image: string | # The image name from which you want to copy files |
113 | stage: string | # The stage name from which you want to copy files (the latest one by default) |
114 | before: string | # The stage name before which to perform importing files. At present, only install and setup stages are supported |
115 | after: string | # The stage name after which to perform importing files. At present, only install and setup stages are supported |
116 | add: string | # The absolute file or folder path in source image for copying |
117 | to: string | # The absolute path in destination image. In case of absence, destination path equals source path |
118 | owner: string | # The name or UID of the owner |
119 | group: string | # The name or GID of the owner’s group |
120 | includePaths: [ glob, ... ] | # Globs for including |
121 | excludePaths: [ glob, ... ] | # Globs for excluding |
122 | dependencies: | # Dependencies images for current image |
... | ||
123 | - image: string | # Dependency image name, which should be built before building current image |
124 | before: string | # The stage name before which image info should be imported (specify install or setup). Specified target env variables will be available at user stages after stage specified by this directive. |
125 | after: string | # The stage name after which image info should be imported (specify install or setup). Specified target env variables will be available at user stages after stage specified by this directive. |
126 | imports: | # Define target environment variables to import image information into current image (optional) |
127 | - type: string | # Type of image info: ImageName, ImageDigest, ImageRepo or ImageTag |
128 | targetEnv: string | # Name of environment variable which will contain specified type of information about image |