[deckhouse-cli] Fix changelog.yaml doesnt exist#315
Merged
Conversation
- changelog.yaml exists only at release images Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
If it's supposed to be that way, there should be break, not continue Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
- Prevents nil image from reaching extractReleaseInfoForDeckhouseRelease, which would panic - Error propagates to the caller where it is logged as a warning without interrupting the pull Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
…xtra warnings - The install-standalone registry has no channel tags (alpha, beta, etc.), only versioned ones - Eliminates misleading "Not found in registry, skipping pull" warnings during mirror pull for standalone installer Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
Signed-off-by: Roman Berezkin <roman.berezkin@flant.com>
ldmonster
approved these changes
Apr 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
d8 mirror pullwithout--deckhouse-tag"fails to generatedeckhousereleases.yaml".But it exists in the image itself (on release channel).
Additionally, every run produces 5 misleading warnings for
install-standalone:These look like errors but are harmless -
install-standaloneregistry simply has no channel tags (only versioned likev1.74.15):The warnings confuse users who cannot tell if something is actually broken.
Problems & Solutions
1. Wrong OCI layout in manifest generation
Problem:
platform.go:698reads release-channel images fromsvc.layout.Deckhouse(core images) instead ofsvc.layout.DeckhouseReleaseChannel(wherechangelog.yamlactually lives).Solution: Pass
svc.layout.DeckhouseReleaseChannel.2. Premature gzip reader close in file extraction
Problem:
extract_file.gocallsdecompressedLayer.Close()on filename mismatch, thencontinuetries to read the next tar entry from a closed reader. The whole layer is skipped after the first non-matching file.Solution: Remove
Close()from the mismatch branch.3. Missing error handling after GetImage
Problem:
deckhouse_releases.goprintedGetImage()error viafmt.Printfand continued with nil image, causing panic.Solution: Log via
svc.userLogger.Warnfandcontinueto the next version (skip failed image, do not interrupt pull).4. False warnings for install-standalone
Problem:
FillForChannels()adds channel tags (alpha, beta, stable...) forinstall-standalone, but this registry only has versioned tags. Confirmed viacrane ls.Solution: Skip channel tags for
install-standaloneinFillForChannels().Refactoring
GenerateDeckhouseReleaseManifestsForVersionsfunction and its test-only helperinternal/mirror/manifests/deckhouse_releases.gointointernal/mirror/platform/(the only consumer), deleted the now-emptymanifestspackageGenerateDeckhouseReleaseManifestsForVersionsNewtowriteDeckhouseReleaseManifests(unexported, droppedNewsuffix)*Serviceto usesvc.userLoggerinstead offmt.PrintfgenerateDeckhouseReleaseandextractReleaseInfoForDeckhouseReleaseBefore / After
Before:
deckhousereleases.yamlmissing from outputAfter:
deckhousereleases.yamlgenerated correctly