werf
  • Документация
  • Руководство CI/CD
  • О проекте
    • Публикации
    • Каналы обновлений
    • Обратная совместимость
    • История изменений
  • Russian
    • English
    • Russian
✕
Присоединяйтесь к англоязычному сообществу в Slack CNCF
Шаг 1:
Получить приглашение в Slack CNCF
Шаг 2:
Войти в канал #werf
Мы выбрали Slack от CNCF, т.к. там зарегистрировано самое большое количество Kubernetes-энтузиастов.
latest
  1. v1.2
  2. Справочник
  3. werf.yaml
Версия: latest
  • latest
  • 1.2-rock-solid 1.2.219+fix3
  • 1.2-stable 1.2.232
  • 1.2-ea 1.2.235
  • 1.2-beta 1.2.235
  • 1.2-alpha 1.2.239
  • 1.1-rock-solid 1.1.34
  • 1.1-stable 1.1.34
  • 1.1-ea 1.1.34
  • 1.1-beta 1.1.34
  • 1.1-alpha 1.1.34
  • Установка и запуск
  • Использование
    • Конфигурация проекта
      • Обзор
      • Гитерминизм
    • Сборка
      • Обзор
      • Образы и зависимости
      • Конфигурация образов Stapel
        • Обзор
        • Базовый образ
        • Добавление исходного кода из git-репозиториев
        • Пользовательские инструкции
        • Импорт из артефактов и образов
        • Инструкции Dockerfile
        • Ускорение сборки и уменьшение размера за счёт монтирования
      • Сборочный процесс
    • Развертывание
      • Обзор
      • Чарты и зависимости
      • Шаблоны
      • Параметризация шаблонов
      • Разные окружения
      • Порядок развертывания
      • Сценарии развертывания
      • Отслеживание ресурсов
      • Управление релизами
    • Дистрибуция
      • Обзор
      • Образы
      • Бандлы и чарты
    • Очистка
      • Очистка container registry
      • Автоматическая очистка хоста
    • Интеграция с CI/CD-системами
  • Справочник
    • werf.yaml
    • Шаблонизатор werf.yaml
    • werf-giterminism.yaml
    • Аннотации для деплоя
    • Интерфейс командной строки
      • Overview of command groups
      • Delivery commands
        • werf converge
        • werf dismiss
        • werf bundle
          • werf bundle apply
          • werf bundle copy
          • werf bundle download
          • werf bundle export
          • werf bundle publish
          • werf bundle render
      • Cleaning commands
        • werf cleanup
        • werf purge
      • Helper commands
        • werf ci-env
        • werf build
        • werf export
        • werf run
        • werf kube-run
        • werf compose
          • werf compose config
          • werf compose down
          • werf compose run
          • werf compose up
        • werf slugify
        • werf render
      • Low-level management commands
        • werf config
          • werf config graph
          • werf config list
          • werf config render
        • werf managed-images
          • werf managed-images add
          • werf managed-images ls
          • werf managed-images rm
        • werf host
          • werf host cleanup
          • werf host purge
        • werf helm
          • werf helm create
          • werf helm dependency
            • werf helm dependency build
            • werf helm dependency list
            • werf helm dependency update
          • werf helm env
          • werf helm get
            • werf helm get all
            • werf helm get hooks
            • werf helm get manifest
            • werf helm get notes
            • werf helm get values
          • werf helm get-autogenerated-values
          • werf helm get-namespace
          • werf helm get-release
          • werf helm history
          • werf helm install
          • werf helm lint
          • werf helm list
          • werf helm migrate2to3
          • werf helm package
          • werf helm plugin
            • werf helm plugin install
            • werf helm plugin list
            • werf helm plugin uninstall
            • werf helm plugin update
          • werf helm pull
          • werf helm registry
            • werf helm registry login
            • werf helm registry logout
          • werf helm repo
            • werf helm repo add
            • werf helm repo index
            • werf helm repo list
            • werf helm repo remove
            • werf helm repo update
          • werf helm rollback
          • werf helm search
            • werf helm search hub
            • werf helm search repo
          • werf helm secret
            • werf helm secret decrypt
            • werf helm secret encrypt
            • werf helm secret file
              • werf helm secret file decrypt
              • werf helm secret file edit
              • werf helm secret file encrypt
            • werf helm secret generate-secret-key
            • werf helm secret rotate-secret-key
            • werf helm secret values
              • werf helm secret values decrypt
              • werf helm secret values edit
              • werf helm secret values encrypt
          • werf helm show
            • werf helm show all
            • werf helm show chart
            • werf helm show crds
            • werf helm show readme
            • werf helm show values
          • werf helm status
          • werf helm template
          • werf helm test
          • werf helm uninstall
          • werf helm upgrade
          • werf helm verify
          • werf helm version
        • werf cr
          • werf cr login
          • werf cr logout
        • werf kubectl
          • werf kubectl alpha
            • werf kubectl alpha auth
              • werf kubectl alpha auth whoami
          • werf kubectl annotate
          • werf kubectl api-resources
          • werf kubectl api-versions
          • werf kubectl apply
            • werf kubectl apply edit-last-applied
            • werf kubectl apply set-last-applied
            • werf kubectl apply view-last-applied
          • werf kubectl attach
          • werf kubectl auth
            • werf kubectl auth can-i
            • werf kubectl auth reconcile
          • werf kubectl autoscale
          • werf kubectl certificate
            • werf kubectl certificate approve
            • werf kubectl certificate deny
          • werf kubectl cluster-info
            • werf kubectl cluster-info dump
          • werf kubectl completion
          • werf kubectl config
            • werf kubectl config current-context
            • werf kubectl config delete-cluster
            • werf kubectl config delete-context
            • werf kubectl config delete-user
            • werf kubectl config get-clusters
            • werf kubectl config get-contexts
            • werf kubectl config get-users
            • werf kubectl config rename-context
            • werf kubectl config set
            • werf kubectl config set-cluster
            • werf kubectl config set-context
            • werf kubectl config set-credentials
            • werf kubectl config unset
            • werf kubectl config use-context
            • werf kubectl config view
          • werf kubectl cordon
          • werf kubectl cp
          • werf kubectl create
            • werf kubectl create clusterrole
            • werf kubectl create clusterrolebinding
            • werf kubectl create configmap
            • werf kubectl create cronjob
            • werf kubectl create deployment
            • werf kubectl create ingress
            • werf kubectl create job
            • werf kubectl create namespace
            • werf kubectl create poddisruptionbudget
            • werf kubectl create priorityclass
            • werf kubectl create quota
            • werf kubectl create role
            • werf kubectl create rolebinding
            • werf kubectl create secret
              • werf kubectl create secret docker-registry
              • werf kubectl create secret generic
              • werf kubectl create secret tls
            • werf kubectl create service
              • werf kubectl create service clusterip
              • werf kubectl create service externalname
              • werf kubectl create service loadbalancer
              • werf kubectl create service nodeport
            • werf kubectl create serviceaccount
            • werf kubectl create token
          • werf kubectl debug
          • werf kubectl delete
          • werf kubectl describe
          • werf kubectl diff
          • werf kubectl drain
          • werf kubectl edit
          • werf kubectl events
          • werf kubectl exec
          • werf kubectl explain
          • werf kubectl expose
          • werf kubectl get
          • werf kubectl kustomize
          • werf kubectl label
          • werf kubectl logs
          • werf kubectl options
          • werf kubectl patch
          • werf kubectl plugin
            • werf kubectl plugin list
          • werf kubectl port-forward
          • werf kubectl proxy
          • werf kubectl replace
          • werf kubectl rollout
            • werf kubectl rollout history
            • werf kubectl rollout pause
            • werf kubectl rollout restart
            • werf kubectl rollout resume
            • werf kubectl rollout status
            • werf kubectl rollout undo
          • werf kubectl run
          • werf kubectl scale
          • werf kubectl set
            • werf kubectl set env
            • werf kubectl set image
            • werf kubectl set resources
            • werf kubectl set selector
            • werf kubectl set serviceaccount
            • werf kubectl set subject
          • werf kubectl taint
          • werf kubectl top
            • werf kubectl top node
            • werf kubectl top pod
          • werf kubectl uncordon
          • werf kubectl version
          • werf kubectl wait
      • Other commands
        • werf synchronization
        • werf completion
        • werf version
    • Шпаргалка
  • Ресурсы
    • Как мигрировать с v1.1 на v1.2
    • Сравнение с другими решениями
    • Телеметрия
Source

werf.yaml

0 --- # Секция мета-информации
...
1 project: string ! # Уникальное имя проекта приложения
2 configVersion: int ! # Версия конфигурации. На данный момент поддерживается единственная версия 1
3 build: # Общие настройки сборки
...
4   platform: [ string, ... ] # Общий список целевых платформ для всех образов (например ['linux/amd64', 'linux/arm64', 'linux/arm/v8'])
5 deploy: # Настройки выката
...
6   helmChartDir: string # Путь до директории helm чарта проекта (значение по умолчанию .helm)
7   helmRelease: string # Шаблон имени релиза (значение по умолчанию [[ project ]]-[[ env ]])
8   helmReleaseSlug: bool # Слагификация имени релиза (значение по умолчанию true)
9   namespace: string # Шаблон Kubernetes namespace (значение по умолчанию [[ project ]]-[[ env ]])
10   namespaceSlug: bool # Слагификация Kubernetes namespace (значение по умолчанию true)
11 cleanup: # Настройка удаления неактульных образов
...
12   disableKubernetesBasedPolicy: bool # Отключить политику очистки, которая позволяет не удалять запущенные в Kubernetes образы из container registry
13   disableGitHistoryBasedPolicy: bool # Отключить политику очистки, которая позволяет не удалять образы с учётом пользовательских политик по истории Git (keepPolicies)
14   disableBuiltWithinLastNHoursPolicy: bool # Отключить политику очистки, которая позволяет не удалять образы, собранные в рамках заданного периода времени (keepImagesBuiltWithinLastNHours)
15   keepImagesBuiltWithinLastNHours: uint # Минимальное количество часов, которое должно пройти с момента сборки образа (значение по умолчанию 2)
16   keepPolicies: # Набор политик для выборки актуальных образов, используя историю Git
17   - references: # Набор references, который будет использоваться при сканировании
18       branch: string || /REGEXP/ # Множество git origin веток
19       tag: string || /REGEXP/ # Множество git origin тегов
20       limit: # Набор правил, по которым можно ограничить описанное множество references, основываясь на времени создания git-тега или активности в git-ветке
21         last: int # Выборка последних n references из определённого в branch/tag множества (значение по умолчанию -1)
22         in: duration string # Выборка git-тегов, которые были созданы в указанный период, или git-веток с активностью в рамках периода. Также для определённого множества branch/tag
23         operator: And || Or # Определяет какие references будут результатом политики, те которые удовлетворяют оба условия или любое из них (значение по умолчанию And)
24     imagesPerReference: # Лимит искомых образов для каждого reference из множества
25       last: int # Количество искомых образов для каждого reference (значение по умолчанию -1)
26       in: duration string # Период, в рамках которого необходимо выполнять поиск образов
27       operator: And || Or # Определяет какие образы сохранятся после применения политики, те которые удовлетворяют оба условия или любое из них (значение по умолчанию And)
28 gitWorktree: # Настройки связанные с работой werf с рабочей директорией git проекта
...
29   forceShallowClone: bool # Принудительно позволить werf использовать shallow clone несмотря на ограничения данного подхода
30   allowUnshallow: bool # Разрешить процессу werf автоматически преобразовать shallow clone проекта в полный clone в процессе сборки по необходимости (значение по умолчанию true)
31   allowFetchOriginBranchesAndTags: bool # Разрешить процессу werf автоматически скачать новые ветки и теги из origin в процессе cleanup по необходимости (значение по умолчанию true)
32 --- # Секция Dockerfile image: может использоваться произвольное количество секций
...
33 image: string || [ string, ... ] || ~ ! # Одно или несколько уникальных имён для образа
34 dockerfile: string # Путь к Dockerfile относительно директории контекста
35 context: string # Путь к контексту внутри папки проекта
36 platform: [ string, ... ] # Список целевых платформ для данного образа (например ['linux/amd64', 'linux/arm64', 'linux/arm/v8'])
37 contextAddFiles: [ string, ... ] # Добавление нехранящихся в git файлов и директорий в сборочный контекст. Пути должны быть относительно директории контекста
38 target: string # Конкретная стадия Dockerfile (по умолчанию — последняя, подобно docker build --target)
39 args: { name string: value string, ... } # Переменные для ARG Dockerfile-инструкций (подобно docker build --build-arg)
40 addHost: [ string, ... ] # Установить связь host-to-IP (host:ip) (подобно docker build --add-host)
41 network: string # Сетевой режим для инструкций RUN во время сборки (подобно docker build --network)
42 ssh: string # Сокет агента SSH или ключи для сборки определённых слоёв (только если используется BuildKit) (подобно docker build --ssh)
43 dependencies: # Образы-зависимости для текущего образа
...
44 - image: string # Имя зависимого образа, который должен быть собран до сборки текущего образа
45   imports: # Определить аргументы для импорта информации о зависимом образе в текущий образ используя Dockerfile build-args (опционально)
46   - type: string # Тип импортируемой информации об образе: ImageName, ImageDigest, ImageRepo или ImageTag
47     targetBuildArg: string # Имя аргумента (Dockerfile build-args), который будет содержать указанный тип информации об образе
48 --- # Секция Stapel image/artifact: может использоваться произвольное количество секций
...
49 image: string || [ string, ... ] || ~ ! # Одно или несколько уникальных имён для образа
50 artifact: string # Уникальное имя артефакта. Подробнее здесь
51 platform: [ string, ... ] # Список целевых платформ для данного образа (например ['linux/amd64', 'linux/arm64', 'linux/arm/v8'])
52 from: string # Имя и тег базового образа. Подробнее здесь
53 fromLatest: bool # Использование актуального базового образа (без кеширования). Подробнее здесь
54 fromImage: string # Использование образа из werf.yaml в качестве базового. Подробнее здесь
55 fromArtifact: string # Использование образа артефакта из werf.yaml в качестве базового. Подробнее здесь
56 fromCacheVersion: string # Версия кеша. Подробнее здесь
57 git: # Набор директив для добавления исходных файлов из git-репозиториев (как репозитория проекта, так и любого другого). Подробнее здесь
...
58 - url: string # Адрес git-репозитория. Подробнее здесь
59   branch: string # Имя ветки. Подробнее здесь
60   commit: string # Коммит
61   tag: string # Имя тега
62   add: string # Исходный путь в репозитории. Подробнее здесь
63   to: string # Путь назначения в образе. Подробнее здесь
64   owner: string # Имя или UID владельца. Подробнее здесь
65   group: string # Имя или GID группы. Подробнее здесь
66   includePaths: [ glob, ... ] # Глобы добавления. Подробнее здесь
67   excludePaths: [ glob, ... ] # Глобы исключения. Подробнее здесь
68   stageDependencies: # Настройка перевыполнения сборочных инструкций при изменениях определённых файлов в репозитории. Подробнее здесь
69     install: [ glob, ... ] # Глобы стадии install
70     beforeSetup: [ glob, ... ] # Глобы стадии beforeSetup
71     setup: [ glob, ... ] # Глобы стадии setup
72 shell: # Shell сборочные инструкции. Подробнее здесь
...
73   beforeInstall: [ string, ... ] # Команды для стадии beforeInstall. Подробнее здесь
74   install: [ string, ... ] # Команды для стадии install. Подробнее здесь
75   beforeSetup: [ string, ... ] # Команды для стадии beforeSetup. Подробнее здесь
76   setup: [ string, ... ] # Команды для стадии setup. Подробнее здесь
77   cacheVersion: string # Общая версия кеша. Подробнее здесь
78   beforeInstallCacheVersion: string # Версия кеша для стадии beforeInstall. Подробнее здесь
79   installCacheVersion: string # Версия кеша для стадии install. Подробнее здесь
80   beforeSetupCacheVersion: string # Версия кеша для стадии beforeSetup. Подробнее здесь
81   setupCacheVersion: string # Версия кеша для стадии setup. Подробнее здесь
82 ansible: # Ansible сборочные инструкции. Подробнее здесь
...
83   beforeInstall: [ task, ... ] # Задания для стадии beforeInstall. Подробнее здесь
84   install: [ task, ... ] # Задания для стадии install. Подробнее здесь
85   beforeSetup: [ task, ... ] # Задания для стадии beforeSetup. Подробнее здесь
86   setup: [ task, ... ] # Задания для стадии setup. Подробнее здесь
87   cacheVersion: string # Общая версия кеша. Подробнее здесь
88   beforeInstallCacheVersion: string # Версия кеша для стадии beforeInstall. Подробнее здесь
89   installCacheVersion: string # Версия кеша для стадии install. Подробнее здесь
90   beforeSetupCacheVersion: string # Версия кеша для стадии beforeSetup. Подробнее здесь
91   setupCacheVersion: string # Версия кеша для стадии setup. Подробнее здесь
92 docker: # Набор директив для изменения манифеста образа. Подробнее здесь
...
93   exactValues: bool # Включить использование незаэкранированных символов (например кавычки и пробелы) в значениях опций. Опция имеет действие только при использовании docker-server backend, и не влияет на работу buildah backend.
94   USER: string # Имя пользователя (или UID) и опционально пользовательская группа (или GID). Подробнее здесь
95   WORKDIR: string # Рабочая директория. Подробнее здесь
96   VOLUME: [ string, ... ] # Точки монтирования. Подробнее здесь
97   ENV: { name string: value string, ... } # Переменные окружения. Подробнее здесь
98   LABEL: { name string: value string, ... } # Метаданные. Подробнее здесь
99   EXPOSE: [ string, ... ] # Описание сетевых портов, которые будут прослушиваться в запущенном контейнере. Подробнее здесь
100   ENTRYPOINT: string | [ string, ... ] # Команда по умолчанию, которая будет выполнена при запуске контейнера (форма записи shell или exec). Подробнее здесь
101   CMD: string | [ string, ... ] # Аргументы по умолчанию для ENTRYPOINT (форма записи shell или exec). Подробнее здесь
102   HEALTHCHECK: string # Инструкции, которые Docker может использовать для проверки работоспособности запущенного контейнера. Подробнее здесь
103 mount: # Точки монтирования. Подробнее здесь
...
104 - from: tmp_dir || build_dir # Имя служебной директории
105   fromPath: string # Абсолютный или относительный путь до произвольного файла на хосте
106   to: string # Абсолютный путь в образе
107 import: # Импортирование из образов и артефактов. Подробнее здесь
...
108 - artifact: string # Имя артефакта, из которого выполнять копирование файлов
109   image: string # Имя образа, из которого выполнять копирование файлов
110   stage: string # Имя стадии, из которой выполнять копирование файлов (по умолчанию последняя)
111   before: string # Выбор стадии импортирования файлов при сборке, до стадии install или setup
112   after: string # Выбор стадии импортирования файлов при сборке, после стадии install или setup
113   add: string # Абсолютный путь до файла или директории в выбранном образе/артефакте
114   to: string # Абсолютный путь в конечном образе. По умолчанию соответствует пути add
115   owner: string # Имя или UID владельца
116   group: string # Имя или GID группы
117   includePaths: [ glob, ... ] # Глобы добавления
118   excludePaths: [ glob, ... ] # Глобы исключения
119 dependencies: # Образы-зависимости для текущего образа
...
120 - image: string # Имя зависимого образа, который должен быть собран до сборки текущего образа
121   before: string # Выбор стадии перед которой должна быть импортирована информация об образе (требуется указать install или setup). Указанные переменные окружения будут доступны в пользовательских стадиях после указанной данной директивой стадии.
122   after: string # Выбор стадии после которой должна быть импортирована информация об образе (требуется указать install или setup). Указанные переменные окружения будут доступны в пользовательских стадиях после указанной данной директивой стадии.
123   imports: # Определить аргументы для импорта информации о зависимом образе в текущий образ используя переменные окружения (опционально)
124   - type: string # Тип импортируемой информации об образе: ImageName, ImageDigest, ImageRepo или ImageTag
125     targetEnv: string # Имя переменной окружения, которая будет содержать указанный тип информации об образе
cncf logo
werf — проект категории sandbox в Cloud Native Computing Foundation
flant logo
Проект werf был изначально создан в компании «Флант»
У The Linux Foundation® (TLF) есть зарегистрированные товарные знаки и организация использует их. Список товарных знаков TLF см. в Trademark Usage.
Дата генерации сайта: 2.06.2023, 21:14 +0300