Skip to content

[dmt] fix: handle public mirrors without ee editions - #487

Draft
fuldaxxx wants to merge 1 commit into
mainfrom
fix/dmt-lint-deckhouse-mirror
Draft

fuldaxxx wants to merge 1 commit into
mainfrom
fix/dmt-lint-deckhouse-mirror

Conversation

@fuldaxxx

@fuldaxxx fuldaxxx commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Description

  • When the deckhouse source has no ee/ directory, as in the public GitHub mirror, the deckhouse verification job now keeps only the editions outside ee/ in editions.yaml and renders the werf config as CE (WERF_ENV=CE).
  • A checkout that has ee/ (the GitLab source) is linted exactly as before.
  • The mirror ships only CE modules, so the job now lints 34 modules instead of the full EE set.
  • The istio warning in the same job (multicluster.mode is Ambient ...) existed before this change and isn't addressed here.

Why do we need it, and what problem does it solve?

Symptom. Since 2026-10-01 "DMT verify deckhouse" has failed on every branch, for all 34 modules, with:

cannot create module `002-deckhouse`
failed to get werf config: ... error calling Get: open /deckhouse/ee/candi/version_map.yml: no such file or directory

The last green run was on 2026-09-28. The failure doesn't depend on the change under review: branches still on nelm v1 fail the same way.

Root cause. Since 2026-10-01, github.com/deckhouse/deckhouse has been a copybara mirror that excludes ee/**. editions.yaml in the mirror still lists the ee/ editions (BE, SE, SE-plus, EE, FE, CSE), and werf.yaml reads their version maps and values files unconditionally. Like werf, dmt's .Files.Get fails on a missing file, so dmt can't create any module.

Why this fix:

  • Making .Files.Get tolerate missing files was rejected. It matches werf behaviour on purpose, and relaxing it would hide real errors in users' werf configs.
  • Stubbing the missing files one by one was tried and dropped. After the version maps, the templates go on to read ee/be/modules/values-default.yaml and more files from there.
  • Dropping the ee/ editions turns the prepared tree into a consistent CE repository. WERF_ENV=CE is needed as well: dmt renders the werf config as EE by default, and with EE removed that fails with Editions name not found EE.

Verification. On a tree built from deckhouse main without ee/, the original error reproduces. With the editions trimmed and WERF_ENV=CE, the werf config renders for all 41 modules. The full script needs GNU cp and /deckhouse, so the first end-to-end run is in CI on this PR.

Signed-off-by: Ruslan Gorbunov <ruslan.gorbunov@flant.com>
@fuldaxxx fuldaxxx self-assigned this Oct 9, 2026
@fuldaxxx fuldaxxx added the bug Something isn't working label Oct 9, 2026
@fuldaxxx fuldaxxx changed the title fix: handle public mirrors without ee editions [dmt] fix: handle public mirrors without ee editions Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant