Skip to content

[dmt] Validate package.yaml requirements#359

Open
diyliv wants to merge 1 commit into
mainfrom
feature/package-yaml-requirements-validation
Open

[dmt] Validate package.yaml requirements#359
diyliv wants to merge 1 commit into
mainfrom
feature/package-yaml-requirements-validation

Conversation

@diyliv
Copy link
Copy Markdown
Contributor

@diyliv diyliv commented May 14, 2026

Summary

Add package.yaml requirements validation for the new module requirements schema:

  • Parse package.yaml metadata and subscribe sections: Read apiVersion, name, requirements, and subscribe fields used by module package validation.
  • Validate package.yaml requirements constraints as-is: Parse all non-empty Kubernetes, Deckhouse, mandatory, conditional, and anyOf module constraints with semver without stripping legacy markers such as !optional.
  • Require Deckhouse >= 1.77 for new requirements schema: When the new requirements structure is used, require requirements.deckhouse.constraint and ensure its lower bound starts no lower than 1.77.0.

Example

apiVersion: v2
name: stronghold

requirements:
  kubernetes:
    constraint: ">= 1.26"
  deckhouse:
    constraint: ">= 1.77.0"
  modules:
    mandatory:
      - name: cloud-provider-yandex
        constraint: ">= 1.5.0"
    conditional:
      - name: observability
        constraint: ">= 1.0.0"
    anyOf:
      - description: "One of the following cloud providers must be installed"
        modules:
          - name: cloud-provider-gcp
            constraint: ">= 1.5.0"
          - name: cloud-provider-aws
            constraint: ">= 2.0.0"

Legacy markers in constraint fields are rejected:

requirements:
  modules:
    conditional:
      - name: observability
        constraint: ">= 1.0.0 !optional"

@diyliv diyliv requested review from ipaqsa and ldmonster May 14, 2026 09:44
@diyliv diyliv self-assigned this May 14, 2026
@diyliv diyliv force-pushed the feature/package-yaml-requirements-validation branch 3 times, most recently from f7d70d7 to 3eb672f Compare May 14, 2026 19:47
Signed-off-by: diyliv <onlogn081@gmail.com>
@diyliv diyliv force-pushed the feature/package-yaml-requirements-validation branch from 3eb672f to abda470 Compare May 16, 2026 14:07
@diyliv diyliv added enhancement New feature or request go Pull requests that update go code labels May 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request go Pull requests that update go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant