0 | --- | # Секция мета-информации |
... | ||
1 | project: string ! | # Уникальное имя проекта приложения |
2 | configVersion: int ! | # Версия конфигурации. На данный момент поддерживается единственная версия 1 |
3 | build: | # Общие настройки сборки |
... | ||
4 | cacheVersion: string | # Версия кеша |
5 | platform: [ string, ... ] | # Общий список целевых платформ для всех образов (например ['linux/amd64', 'linux/arm64', 'linux/arm/v8']) |
6 | staged: bool | # Включить послойное кеширование инструкций Dockerfile в container registry глобально для всех образов |
7 | imageSpec: | # Глобальная конфигурация образов согласно OCI спецификации, которая применяется ко всем образам. Подробнее здесь |
... | ||
8 | author: string | # Автор образа |
9 | clearHistory: bool | # Удалить всю историю сборки образа |
10 | config: | # Общая конфигурация образа |
... | ||
11 | labels: { name string: value string, ... } | # Список лейблов для добавления |
12 | removeLabels: [ string || /REGEXP/, ... ] | # Список лейблов для удаления |
13 | keepEssentialWerfLabels: bool | # Не удалять необходимые для штатной работы werf лейблы |
14 | deploy: | # Настройки выката |
... | ||
15 | helmChartDir: string |
#
Путь до директории helm чарта проекта (значение по умолчанию .helm )
|
16 | helmChartConfig: | # Переопределить конфигурацию в Chart.yaml |
... | ||
17 | appVersion: string | # Переопределить appVersion в Chart.yaml |
18 | helmRelease: string |
#
Шаблон имени релиза (значение по умолчанию [[ project ]]-[[ env ]] )
|
19 | helmReleaseSlug: bool |
#
Слагификация имени релиза (значение по умолчанию true )
|
20 | namespace: string |
#
Шаблон Kubernetes namespace (значение по умолчанию [[ project ]]-[[ env ]] )
|
21 | namespaceSlug: bool |
#
Слагификация Kubernetes namespace (значение по умолчанию true )
|
22 | cleanup: | # Настройка удаления неактуальных образов |
... | ||
23 | disable: bool | # Отключить очистку полностью, что предотвращает публикацию мета-образов в container registry. После отключения можно выполнить werf cleanup для удаления существующих мета-образов |
24 | disableKubernetesBasedPolicy: bool | # Отключить политику очистки, которая позволяет не удалять запущенные в Kubernetes образы из container registry |
25 | disableGitHistoryBasedPolicy: bool | # Отключить политику очистки, которая позволяет не удалять образы с учётом пользовательских политик по истории Git (keepPolicies) |
26 | disableBuiltWithinLastNHoursPolicy: bool | # Отключить политику очистки, которая позволяет не удалять образы, собранные в рамках заданного периода времени (keepImagesBuiltWithinLastNHours) |
27 | keepImagesBuiltWithinLastNHours: uint |
#
Минимальное количество часов, которое должно пройти с момента сборки образа (значение по умолчанию 2 )
|
28 | keepPolicies: | # Набор политик для выборки актуальных версий образов, используя историю Git |
29 | - references: | # Набор references, который будет использоваться при сканировании |
30 | branch: string || /REGEXP/ | # Множество git origin веток |
31 | tag: string || /REGEXP/ | # Множество git origin тегов |
32 | limit: | # Набор правил, по которым можно ограничить описанное множество references, основываясь на времени создания git-тега или активности в git-ветке |
33 | last: int |
#
Выборка последних n references из определённого в branch/tag множества (значение по умолчанию -1 )
|
34 | in: duration string | # Выборка git-тегов, которые были созданы в указанный период, или git-веток с активностью в рамках периода. Также для определённого множества branch/tag |
35 | operator: And || Or |
#
Определяет какие references будут результатом политики, те которые удовлетворяют оба условия или любое из них (значение по умолчанию And )
|
36 | imagesPerReference: | # Лимит искомых версий образов для каждого reference из множества |
37 | last: int |
#
Количество искомых версий образов для каждого reference (значение по умолчанию -1 )
|
38 | in: duration string | # Период, в рамках которого необходимо выполнять поиск образов |
39 | gitWorktree: | # Настройки связанные с работой werf с рабочей директорией git проекта |
... | ||
40 | forceShallowClone: bool | # Принудительно позволить werf использовать shallow clone несмотря на ограничения данного подхода |
41 | allowUnshallow: bool |
#
Разрешить процессу werf автоматически преобразовать shallow clone проекта в полный clone в процессе сборки по необходимости (значение по умолчанию true )
|
42 | allowFetchOriginBranchesAndTags: bool |
#
Разрешить процессу werf автоматически скачать новые ветки и теги из origin в процессе cleanup по необходимости (значение по умолчанию true )
|
43 | --- | # Секция Dockerfile image: может использоваться произвольное количество секций |
... | ||
44 | image: string || [ string, ... ] ! | # Одно или несколько уникальных имён для образа |
45 | final: bool |
#
Пометить образ как финальный (значение по умолчанию true ). Подробнее здесь
|
46 | dockerfile: string ! | # Путь к Dockerfile относительно директории контекста |
47 | staged: bool | # Включить послойное кеширование Dockerfile-инструкций в container registry |
48 | cacheVersion: string | # Версия кеша |
49 | context: string | # Путь к контексту внутри папки проекта |
50 | platform: [ string, ... ] | # Список целевых платформ для данного образа (например ['linux/amd64', 'linux/arm64', 'linux/arm/v8']) |
51 | contextAddFiles: [ string, ... ] | # Добавление нехранящихся в git файлов и директорий в сборочный контекст. Пути должны быть относительно директории контекста |
52 | target: string | # Конкретная стадия Dockerfile (по умолчанию — последняя, подобно docker build --target) |
53 | args: { name string: value string, ... } | # Переменные для ARG Dockerfile-инструкций (подобно docker build --build-arg) |
54 | addHost: [ string, ... ] | # Установить связь host-to-IP (host:ip) (подобно docker build --add-host) |
55 | network: string | # Сетевой режим для инструкций RUN во время сборки (подобно docker build --network) |
56 | ssh: string | # Сокет агента SSH или ключи для сборки (подобно docker build --ssh) (DEPRECATED). Подробнее здесь |
57 | secrets: | # Секреты, используемые при сборке образа. В одном экземпляре можно использовать только одну из следующих опций: env, src или value. Подробнее здесь |
58 | - id: string | # Уникальный идентификатор секрета (обязателен только для секретов типа value) |
59 | env: string | # Секрет из переменной окружения |
60 | src: string | # Секрет из файла по указанному пути |
61 | value: string | # Произвольное строковое значение |
62 | dependencies: | # Образы-зависимости для текущего образа |
... | ||
63 | - image: string | # Имя зависимого образа, который должен быть собран до сборки текущего образа |
64 | imports: | # Определить аргументы для импорта информации о зависимом образе в текущий образ используя Dockerfile build-args (опционально) |
65 | - type: string | # Тип импортируемой информации об образе: ImageName, ImageDigest, ImageRepo или ImageTag |
66 | targetBuildArg: string | # Имя аргумента (Dockerfile build-args), который будет содержать указанный тип информации об образе |
67 | imageSpec: | # Конфигурация образа согласно OCI спецификации. Подробнее здесь |
68 | author: string | # Автор образа |
69 | clearHistory: bool | # Удалить всю историю сборки образа |
70 | config: | # Общая конфигурация образа |
... | ||
71 | cmd: [string, ...] | # Установить CMD. Подробнее здесь |
72 | entrypoint: [string, ...] | # Установить ENTRYPOINT. Подробнее здесь |
73 | env: { name string: value string, ... } | # Список переменных окружения для добавления. Подробнее здесь |
74 | expose: [string, ...] | # Установить открытые порты. Подробнее здесь |
75 | healthcheck: { test: [string, ...], interval: string, retries: int } | # Конфигурация проверки состояния. Интервалы в секундах.. Подробнее здесь |
76 | labels: { name string: value string, ... } | # Список лейблов для добавления |
77 | stopSignal: string | # Установить STOPSIGNAL. Подробнее здесь |
78 | user: string | # Установить USER. Подробнее здесь |
79 | volumes: [string, ...] | # Список томов для добавления. Подробнее здесь |
80 | workingDir: string | # Установить WORKDIR. Подробнее здесь |
81 | removeEnv: [ string || /REGEXP/, ... ] | # Список переменных окружения для удаления |
82 | removeLabels: [ string || /REGEXP/, ... ] | # Список лейблов для удаления |
83 | removeVolumes: [string, ...] | # Список томов для удаления |
84 | keepEssentialWerfLabels: bool | # Не удалять необходимые для штатной работы werf лейблы |
85 | clearCmd: bool | # Очистить CMD |
86 | clearEntrypoint: bool | # Очистить ENTRYPOINT |
87 | clearUser: bool | # Очистить USER |
88 | clearWorkingDir: bool | # Очистить WORKDIR |
89 | --- | # Секция Stapel image: может использоваться произвольное количество секций |
... | ||
90 | image: string || [ string, ... ] ! | # Одно или несколько уникальных имён для образа |
91 | artifact: string | # Уникальное имя артефакта (DEPRECATED). Подробнее здесь |
92 | final: bool |
#
Пометить образ как финальный (значение по умолчанию true ). Подробнее здесь
|
93 | cacheVersion: string | # Версия кеша |
94 | platform: [ string, ... ] | # Список целевых платформ для данного образа (например ['linux/amd64', 'linux/arm64', 'linux/arm/v8']) |
95 | from: string | # Имя и тег базового образа. Подробнее здесь |
96 | fromLatest: bool | # Использование актуального базового образа (без кеширования). Подробнее здесь |
97 | fromImage: string | # Использование образа из werf.yaml в качестве базового. Подробнее здесь |
98 | fromArtifact: string | # Использование образа артефакта из werf.yaml в качестве базового (DEPRECATED) |
99 | fromCacheVersion: string | # Версия кеша. Подробнее здесь |
100 | disableGitAfterPatch: bool | # Отключение актуализации исходников Git (стадии gitCache, gitLatestPatch). Подробнее здесь |
101 | git: | # Набор директив для добавления исходных файлов из git-репозиториев (как репозитория проекта, так и любого другого). Подробнее здесь |
... | ||
102 | - url: string | # Адрес git-репозитория. Подробнее здесь |
103 | branch: string | # Имя ветки. Подробнее здесь |
104 | commit: string | # Коммит |
105 | tag: string | # Имя тега |
106 | add: string | # Исходный путь в репозитории. Подробнее здесь |
107 | to: string | # Путь назначения в образе. Подробнее здесь |
108 | owner: string | # Имя или UID владельца. Подробнее здесь |
109 | group: string | # Имя или GID группы. Подробнее здесь |
110 | includePaths: [ glob, ... ] | # Глобы добавления. Подробнее здесь |
111 | excludePaths: [ glob, ... ] | # Глобы исключения. Подробнее здесь |
112 | stageDependencies: | # Настройка перевыполнения сборочных инструкций при изменениях определённых файлов в репозитории. Подробнее здесь |
113 | install: [ glob, ... ] | # Глобы стадии install |
114 | beforeSetup: [ glob, ... ] | # Глобы стадии beforeSetup |
115 | setup: [ glob, ... ] | # Глобы стадии setup |
116 | secrets: | # Секреты, используемые при сборке образа. В одном экземпляре можно использовать только одну из следующих опций: env, src или value. Подробнее здесь |
117 | - id: string | # Уникальный идентификатор секрета (обязателен только для секретов типа value) |
118 | env: string | # Секрет из переменной окружения |
119 | src: string | # Секрет из файла по указанному пути |
120 | value: string | # Произвольное строковое значение |
121 | shell: | # Shell сборочные инструкции. Подробнее здесь |
... | ||
122 | beforeInstall: [ string, ... ] | # Команды для стадии beforeInstall. Подробнее здесь |
123 | install: [ string, ... ] | # Команды для стадии install. Подробнее здесь |
124 | beforeSetup: [ string, ... ] | # Команды для стадии beforeSetup. Подробнее здесь |
125 | setup: [ string, ... ] | # Команды для стадии setup. Подробнее здесь |
126 | cacheVersion: string | # Общая версия кеша. Подробнее здесь |
127 | beforeInstallCacheVersion: string | # Версия кеша для стадии beforeInstall. Подробнее здесь |
128 | installCacheVersion: string | # Версия кеша для стадии install. Подробнее здесь |
129 | beforeSetupCacheVersion: string | # Версия кеша для стадии beforeSetup. Подробнее здесь |
130 | setupCacheVersion: string | # Версия кеша для стадии setup. Подробнее здесь |
131 | ansible: | # Ansible сборочные инструкции. Подробнее здесь |
... | ||
132 | beforeInstall: [ task, ... ] | # Задания для стадии beforeInstall. Подробнее здесь |
133 | install: [ task, ... ] | # Задания для стадии install. Подробнее здесь |
134 | beforeSetup: [ task, ... ] | # Задания для стадии beforeSetup. Подробнее здесь |
135 | setup: [ task, ... ] | # Задания для стадии setup. Подробнее здесь |
136 | cacheVersion: string | # Общая версия кеша. Подробнее здесь |
137 | beforeInstallCacheVersion: string | # Версия кеша для стадии beforeInstall. Подробнее здесь |
138 | installCacheVersion: string | # Версия кеша для стадии install. Подробнее здесь |
139 | beforeSetupCacheVersion: string | # Версия кеша для стадии beforeSetup. Подробнее здесь |
140 | setupCacheVersion: string | # Версия кеша для стадии setup. Подробнее здесь |
141 | imageSpec: | # Конфигурация образа согласно OCI спецификации. Подробнее здесь |
142 | author: string | # Автор образа |
143 | clearHistory: bool | # Удалить всю историю сборки образа |
144 | config: | # Общая конфигурация образа |
... | ||
145 | cmd: [string, ...] | # Установить CMD. Подробнее здесь |
146 | entrypoint: [string, ...] | # Установить ENTRYPOINT. Подробнее здесь |
147 | env: { name string: value string, ... } | # Список переменных окружения для добавления. Подробнее здесь |
148 | expose: [string, ...] | # Установить открытые порты. Подробнее здесь |
149 | healthcheck: { test: [string, ...], interval: string, retries: int } | # Конфигурация проверки состояния. Интервалы в секундах.. Подробнее здесь |
150 | labels: { name string: value string, ... } | # Список лейблов для добавления |
151 | stopSignal: string | # Установить STOPSIGNAL. Подробнее здесь |
152 | user: string | # Установить USER. Подробнее здесь |
153 | volumes: [string, ...] | # Список томов для добавления. Подробнее здесь |
154 | workingDir: string | # Установить WORKDIR. Подробнее здесь |
155 | removeEnv: [ string || /REGEXP/, ... ] | # Список переменных окружения для удаления |
156 | removeLabels: [ string || /REGEXP/, ... ] | # Список лейблов для удаления |
157 | removeVolumes: [string, ...] | # Список томов для удаления |
158 | keepEssentialWerfLabels: bool | # Не удалять необходимые для штатной работы werf лейблы |
159 | clearCmd: bool | # Очистить CMD |
160 | clearEntrypoint: bool | # Очистить ENTRYPOINT |
161 | clearUser: bool | # Очистить USER |
162 | clearWorkingDir: bool | # Очистить WORKDIR |
163 | docker: | # Набор директив для изменения манифеста образа (DEPRECATED). Несовместимо с директивой imageSpec. Подробнее здесь |
... | ||
164 | exactValues: bool | # Включить использование незаэкранированных символов (например кавычки и пробелы) в значениях опций. Опция имеет действие только при использовании docker-server backend, и не влияет на работу buildah backend. |
165 | USER: string | # Имя пользователя (или UID) и необязательная пользовательская группа (или GID). Подробнее здесь |
166 | WORKDIR: string | # Рабочая директория. Подробнее здесь |
167 | VOLUME: [ string, ... ] | # Точки монтирования. Подробнее здесь |
168 | ENV: { name string: value string, ... } | # Переменные окружения. Подробнее здесь |
169 | LABEL: { name string: value string, ... } | # Метаданные. Подробнее здесь |
170 | EXPOSE: [ string, ... ] | # Описание сетевых портов, которые будут прослушиваться в запущенном контейнере. Подробнее здесь |
171 | ENTRYPOINT: string | [ string, ... ] | # Команда по умолчанию, которая будет выполнена при запуске контейнера (форма записи shell или exec). Подробнее здесь |
172 | CMD: string | [ string, ... ] | # Аргументы по умолчанию для ENTRYPOINT (форма записи shell или exec). Подробнее здесь |
173 | HEALTHCHECK: string | # Инструкции, которые Docker может использовать для проверки работоспособности запущенного контейнера. Подробнее здесь |
174 | mount: | # Точки монтирования. Подробнее здесь |
... | ||
175 | - from: tmp_dir || build_dir | # Имя служебной директории |
176 | fromPath: string | # Абсолютный или относительный путь до произвольного файла на хосте |
177 | to: string | # Абсолютный путь в образе |
178 | import: | # Импортирование из образов. Подробнее здесь |
... | ||
179 | - artifact: string | # Имя артефакта, из которого выполнять копирование файлов (DEPRECATED) |
180 | image: string | # Имя образа, из которого выполнять копирование файлов |
181 | stage: string | # Имя стадии, из которой выполнять копирование файлов (по умолчанию последняя) |
182 | before: string | # Выбор стадии импортирования файлов при сборке, до стадии install или setup |
183 | after: string | # Выбор стадии импортирования файлов при сборке, после стадии install или setup |
184 | add: string | # Абсолютный путь до файла или директории в выбранном образе |
185 | to: string | # Абсолютный путь в конечном образе. По умолчанию соответствует пути add |
186 | owner: string | # Имя или UID владельца |
187 | group: string | # Имя или GID группы |
188 | includePaths: [ glob, ... ] | # Глобы добавления |
189 | excludePaths: [ glob, ... ] | # Глобы исключения |
190 | dependencies: | # Образы-зависимости для текущего образа |
... | ||
191 | - image: string | # Имя зависимого образа, который должен быть собран до сборки текущего образа |
192 | before: string | # Выбор стадии перед которой должна быть импортирована информация об образе (требуется указать install или setup). Указанные переменные окружения будут доступны в пользовательских стадиях после указанной данной директивой стадии. |
193 | after: string | # Выбор стадии после которой должна быть импортирована информация об образе (требуется указать install или setup). Указанные переменные окружения будут доступны в пользовательских стадиях после указанной данной директивой стадии. |
194 | imports: | # Определить аргументы для импорта информации о зависимом образе в текущий образ используя переменные окружения (опционально) |
195 | - type: string | # Тип импортируемой информации об образе: ImageName, ImageDigest, ImageRepo или ImageTag |
196 | targetEnv: string | # Имя переменной окружения, которая будет содержать указанный тип информации об образе |