From 649b9eb712d1de0b63f8fc7b61b24687a27b244a Mon Sep 17 00:00:00 2001 From: Radmir Khurum Date: Fri, 21 Aug 2026 09:05:26 +0300 Subject: [PATCH 1/2] chore: migrate os-pm packages to inline syntax, drop pm.yaml/pm.lock Signed-off-by: Radmir Khurum --- .../werf-to-delivery-kit-migration/SKILL.md | 6 +++-- pm.lock | 23 ------------------- pm.yaml | 2 -- werf.yaml | 10 ++------ 4 files changed, 6 insertions(+), 35 deletions(-) delete mode 100644 pm.lock delete mode 100644 pm.yaml diff --git a/.agents/skills/werf-to-delivery-kit-migration/SKILL.md b/.agents/skills/werf-to-delivery-kit-migration/SKILL.md index 70fc246..65005eb 100644 --- a/.agents/skills/werf-to-delivery-kit-migration/SKILL.md +++ b/.agents/skills/werf-to-delivery-kit-migration/SKILL.md @@ -89,11 +89,13 @@ packages: ### 4. OS-пакеты → packages type os-pm +`os-pm` использует **только inline-синтаксис**: `spec` — непустой YAML-список имён пакетов, версия пиннится через `имя==версия`. File-based формат (`pm.yaml`/`pm.lock`, строка-путь в `spec`, поле `lock`) **не поддерживается** — строка в `spec` даёт ошибку конфигурации (`use inline package list instead of file path`). Поле `workdir` для `os-pm` запрещено. Поле `env` поддерживается. + ```yaml packages: - type: os-pm spec: - - curl + - curl==8.12.1 - jq ``` @@ -169,7 +171,7 @@ shell: - **Кеш-mount'ы** (`mount: fromPath: ~/go-pkg-cache`): могут маскировать незадекларированные зависимости (сборка проходит из кеша раннера, но зависимость не в SBOM). При миграции проверять сборку с чистым кешем. - **vendor/**: зависимости, положенные в репозиторий напрямую, не проходят через `packages` и не попадают в SBOM — это gap; предупреждать. - **`workdir` в packages** — путь внутри контейнера, к моменту `packagesInstall` там уже должны лежать манифест и lock (через `git:` или `import … before: install`). -- **`stageDependencies`**: при добавлении `packages` добавьте зависимость на манифест/lock, чтобы стадия пересобиралась при их изменении. +- **`stageDependencies`**: при добавлении file-based `packages` добавьте зависимость на манифест/lock, чтобы стадия пересобиралась при их изменении. Для `os-pm` файлов нет — inline-список входит в werf.yaml и сам влияет на дайджест стадии. - **Несколько записей** `packages` в одном образе допустимы (разные типы и workdir'ы). - **Не смешивать**: `shell` и `ansible` по-прежнему взаимоисключающие; `packages` совместим с обоими. diff --git a/pm.lock b/pm.lock deleted file mode 100644 index c592231..0000000 --- a/pm.lock +++ /dev/null @@ -1,23 +0,0 @@ -{ - "metadata": { - "timestamp": "2026-08-11T09:18:58Z", - "sha256-sum": "a0c035bdb3aed7ad4237c777f6c68332e123271d3f233755aa79f95618da02f8", - "source": "pm.yaml" - }, - "packages": { - "jq": { - "name": "jq", - "arch": [ - "linux/amd64" - ], - "default": true, - "description": "A lightweight and flexible command-line JSON processor", - "license": "MIT", - "originalRepo": "https://github.com/jqlang/jq.git", - "repo": "jqlang/jq", - "type": "runtime", - "version": "1.8.1", - "digest": "sha256:bfc59680bd42ccccf1d88b8ee5273cdc0330cbd6814738c1367caff0fbb26303" - } - } -} diff --git a/pm.yaml b/pm.yaml deleted file mode 100644 index a66f7be..0000000 --- a/pm.yaml +++ /dev/null @@ -1,2 +0,0 @@ -packages: - - name: "jq" \ No newline at end of file diff --git a/werf.yaml b/werf.yaml index b1f6f61..182a771 100644 --- a/werf.yaml +++ b/werf.yaml @@ -37,12 +37,6 @@ build: --- image: images-digests fromImage: builder/distroless -git: - - add: / - to: / - includePaths: - - pm.yaml - - pm.lock dependencies: {{- range $ImageID := $.ImagesIDList }} {{- $ImageNameCamel := $ImageID | splitList "/" | last | camelcase | untitle }} @@ -54,8 +48,8 @@ dependencies: {{- end }} packages: - type: os-pm - spec: "pm.yaml" - lock: "pm.lock" + spec: + - jq==1.8.1 shell: setup: - | From d74de724509a834d475d092d5371aad45fcafd1d Mon Sep 17 00:00:00 2001 From: Radmir Khurum Date: Sun, 23 Aug 2026 05:58:51 +0300 Subject: [PATCH 2/2] chore: bump delivery-kit to v2.77.0-dk.4 Signed-off-by: Radmir Khurum --- .github/workflows/build_dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_dev.yml b/.github/workflows/build_dev.yml index 721edea..4bed57b 100644 --- a/.github/workflows/build_dev.yml +++ b/.github/workflows/build_dev.yml @@ -24,7 +24,7 @@ on: env: TASK_X_REMOTE_TASKFILES: 1 - WERF_VERSION: "v3.2.0-dk.1" + WERF_VERSION: "v2.77.0-dk.4" WERF_EXTERNAL_REFS_SERVER_URL: ${{secrets.WERF_EXTERNAL_REFS_SERVER_URL}} jobs: