Skip to content

fix: composite schema validation#1385

Open
ganeshvissapragada wants to merge 34 commits into
Netcracker:feature/composite_structure_validationfrom
ganeshvissapragada:feature/composite_structure_validation
Open

fix: composite schema validation#1385
ganeshvissapragada wants to merge 34 commits into
Netcracker:feature/composite_structure_validationfrom
ganeshvissapragada:feature/composite_structure_validation

Conversation

@ganeshvissapragada
Copy link
Copy Markdown

Pull Request

Summary

Provide a concise description of what this pull request does and why it is needed.

Issue

Link to the issue(s) this PR addresses (e.g., Fixes #123 or Closes #456). If no issue exists, explain why this change is necessary.

Breaking Change?

  • Yes
  • No

If yes, describe the breaking change and its impact (e.g., API changes, behavior changes, or required updates for users).

Scope / Project

Specify the component, module, or project area affected by this change (e.g., docs, actions, workflows).

Implementation Notes

Provide details on how the change was implemented, including any technical considerations, trade-offs, or notable design decisions. Leave blank if not applicable.

Tests / Evidence

Describe how the changes were verified, including:

  • Tests added or updated (e.g., unit, integration, end-to-end)
  • Manual testing steps or results
  • Screenshots, logs, or other evidence (if applicable)

Additional Notes

Include any extra information, such as:

  • Dependencies introduced
  • Future work or follow-up tasks
  • Reviewer instructions or context
  • References to related PRs or discussions

Leave blank if not applicable.

andyroode and others added 30 commits May 18, 2026 10:02
…lint (Netcracker#1366)

Two new rules under Documentation Standards prompted by a CI link-checker
failure where a heading rename in features/app-reg-defs.md broke
cross-links in envgene-pipelines.md (caught only after push).

- Heading renames and cross-links: grep for old anchor repo-wide and
  update all cross-links before pushing.
- Pre-flight markdownlint check: run with the project config
  (.github/linters/.markdown-lint.yml) to mirror the CI super-linter
  result and avoid false positives from default settings.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ent-specific ParameterSet (Netcracker#1349)

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet (Netcracker#1339)

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment (Netcracker#1340)

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgenenull value override (Netcracker#1341)

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgene null value (Netcracker#1343)

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgene value (Netcracker#1344)

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgene null value (Netcracker#1345)

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet

* fix: envgeneNullValue does not enforce mandatory override in environment-specific ParameterSet
* docs: redo appdef

* docs: redo appdef Update app-reg-defs.md

Modified all the path as per new structure

* docs: Update app-reg-defs.md

Fixed Markdown issues

* docs: Update app-reg-defs.md

* docs: Update app-reg-defs.md

* docs: Remove app-reg-defs_counter_prop documentation

* docs: refactor app-reg-defs feature, use cases, and how-to guides

Restructure the Application/Registry Definitions documentation across
features, use cases, and how-to sections for clarity and consistency.

features/app-reg-defs.md:
- 8 top-level H2 sections (Problem, Approach, Definition sources,
  Processing order, Output layout, Migration, Consumers, Template
  transformation)
- Definition sources lists 3 sources with explicit precedence
- User-provided files section with replace and add semantics
- Placement modes intro covers both dual/root behavior
- Output Layout split from input sources (no duplication)
- Migration H2 covers root vs dual upgrade scenarios

use-cases/app-reg-defs.md:
- Added UC-ARD-TR-3/TR-4 (shared template repo for off-site/on-site)
- Added UC-ARD-UD-3 (add new via user-provided file)
- Rebranded UO group as UD (User-Provided Definitions)
- Migration group renamed to Placement modes (UC-ARD-PM-1/PM-2)
- Added Overview NOTE clarifying placement-mode behavior coverage

how-to/:
- Removed customize-app-reg-defs.md (was reference, not goal-oriented)
- Added app-reg-defs-add-without-template.md (instance repo maintainer)
- Added app-reg-defs-add-to-template.md (template repo maintainer)
- Both follow Diataxis goal-oriented step-by-step structure

envgene-objects.md:
- AppDef and RegDef Location notes mention /configuration/ alternative
- Restored \<environment-template-artifact\> escape
- Normalized table delimiter style to |---|

envgene-configs.md:
- app_reg_defs_placement full description per enum value
- Backtick-around-link and broken-link-syntax fixes

Removed:
- docs/test-cases/appdef-regdef-template-management.md (15 entries moved
  or absorbed into use cases per UD/PM groups)

All edits follow AGENTS.md: sentence-case headings, 120-char prose wrap,
no em/en dashes, no semicolons in prose.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: fix cross-links in envgene-pipelines after app-reg-defs refactor

Section anchors in features/app-reg-defs.md changed during the refactor
(commit 5000076). Update cross-links in envgene-pipelines.md to use the
new anchors:

- #user-defined-by-template → #templates
- #external-job → #external-job-deprecated
- #application-and-registry-definitions-transformation → #template-transformation

Also remove a trailing space (MD009) on the External Job line.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: KamalArya <kamal749@gmail.com>
Co-authored-by: tofique-mandrupkar-netcracker <tofique.mandrupkar@netcracker.com>
Co-authored-by: popoveugene <evgenii.a.popov.qubership@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: add partial es generation

* docs: wip

* docs: wip

* docs: wip

* docs: wip
* docs: wip

* docs: wip

* docs: wip

* docs: add exmple

* docs: wip

* docs: wip

* docs: updates according the dev feedback

* docs: apply dev feedback on external-creds validation rules and auto-population table

- Move "Property cross-reference" from env_instance to ES validations
  (already enforced inline by VALS/ESO reference-generation algorithms)
- Drop Tenant.credential, Cloud.defaultCredentialsId, Namespace.credentialsId
  rows from auto-population table; drop the precedence note - these refs are
  consumed by topology context / env builder, out of scope here
- Downgrade Orphan check to warning so iterative param removal does not
  require manual credentials.yml cleanup

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: fix textlint NATURAL_LANGUAGE terminology errors

- AGENTS.md: "blank line" -> "empty line", "repo" -> "repository"
- docs/features/external-creds.md: "store id" -> "store ID",
  "azure" -> "Azure" in prose lists

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Rewrites SBOM retention feature documentation and use cases to match the actual
behavior in `build_effective_set_generator/scripts/sboms_retention_policy.py`
and `python/envgene/envgenehelper/file_helper.py`. The previous documentation
described a single size-gated cleanup, but the code runs per-application
version retention unconditionally when enabled, followed by a 1200 MB safety
net that wipes /sboms/ if the total size still exceeds the threshold.

- features/sbom-retention.md: split retention strategy into per-application
  version retention (mtime-based) and total size safety net; clarify trigger
  conditions; add NOTE that ordering is by file modification time and that
  retention does not parse version strings
- use-cases/sbom-retention.md: UC-1 cosmetic fixes; UC-2 reworked from
  "below threshold - no cleanup" (which is not what the code does) into
  "all applications within per-application limit - no files deleted";
  UC-3/UC-4 renamed and result text neutralized to avoid implying SemVer
  parsing; new UC-5 documents the safety-net full wipe
- features/sbom.md: fix link blurb about trigger condition
- envgene-configs.md: update YAML comment under sbom_retention
- schemas/config.schema.json and gsf_packages/.../git_hooks/config.schema.json:
  fix "1200 GB" -> "1200 MB" typo; align `keep_versions_per_app` minimum
  with pydantic model (`ge=0`); rewrite description to match the two-step
  algorithm

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: added cloudPassport association docs

* docs: fix linter issue

* docs: fix linter issue

* docs: fix linter issue

* docs: added tutorial doc

* docs: fixed linter

* docs: remove unused file

* docs: address review comments

* docs: address review comments and apply AGENTS.md compliance sweep

Fix unclosed factual issues from PR review: passport folder paths missing
<cluster-name>/ segment, Section 4.1 cloud row wording on well-known keys,
tutorial Step 3 regressions (explicit-association duplicate handling, auto-
association fallback path, Resolution summary table).

Apply AGENTS.md compliance pass across all three files: sentence-case
headings, em dashes replaced with colons/parens/periods in prose and link
text, semicolons split into separate sentences, TOC anchors regenerated for
renamed headings.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: restructure Cloud Passport docs into processing feature + split how-to

Refocus the feature document on Cloud Passport processing: passport file,
resolution, merge into cloud.yml, and traceability. The mixed-cluster pattern
(separate business and infra passports) moves into a dedicated how-to that
covers when to use the pattern, content guidance, and step-by-step
configuration. The tutorial is removed as a follow-up effort; a real
getting-started tutorial requires runnable build commands and a self-contained
sample.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: add AGENTS.md rules on heading numbering and in-repo link paths

Codify two markdown rules:

1. Do not number headings unless they enumerate alternative workflows.
   Sequential topics rely on heading hierarchy and the TOC instead. Numbering
   creates fragile cross-references and is not the repo convention (only 2 of
   ~36 docs use it, and only for alternative workflows).

2. Use repo-root absolute paths (/docs/..., /schemas/...) for in-repo
   cross-references, not absolute GitHub URLs and not relative paths. GitHub
   URLs pin to a single branch and break for forks; relative paths break when
   files move.

Also fix two pre-existing MD038 violations (spaces in inline code spans) in
the Line length section that markdownlint flagged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: refine Cloud Passport processing docs, align canonical definition

Reframe the feature document around two-source Cloud assembly (Cloud Template
+ optional Cloud Passport, passport takes precedence) with a per-key mapping
table covering all 20+ well-known passport keys plus implicit ENABLED triggers
and a catch-all row for free-form sections. Annotate credentials-reference
rows with (cred ref) on the Cloud side and (cred.username/password/secret) on
the Effective Set side so the cred-id vs resolved-value distinction is
visible. Replace the resolution summary table with a compact decision flow
covering not-found and duplicate-passport failure modes.

Switch terminology from cloud.yml to Cloud (the object) across the feature
doc and how-to, and from "environment build" to "environment generation".
Convert in-repo links from absolute GitHub URLs to repo-root paths per the
new AGENTS.md rule. Drop bss references throughout. Apply the same Cloud
terminology to the verify-step in the how-to.

Trim the how-to toward Diataxis: drop the content guidance subsection (two
reference tables better placed elsewhere), shorten "When to use this pattern"
to one criterion with a clarification that "cluster" is a directory under
/environments/, and make Step 2 self-contained ("only cloud and global
sections").

Update the canonical Cloud Passport definition in envgene-objects.md to the
contract-by-keys framing (platform applications publish keys, business
applications consume them) and add a pointer to the new processing feature
doc. Add a vault section to the cluster-01 sample passport (and the
corresponding vault-cred entry to the creds sample) so the sample covers all
named service sections.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: add AGENTS.md rules on doc index updates and commit/PR scope

Codify two process rules:

1. Doc index updates - when adding, renaming, or removing a tutorial, how-to,
   feature, or migration doc, update both index READMEs (/README.md and
   /docs/README.md). Per-directory READMEs (features, use-cases) are
   meta-docs, not navigation indexes, and don't need per-doc entries.

2. Commits and Pull Requests - Conventional Commits format, one logical
   change per commit, and one focused goal per PR. Splits: rule changes
   separately from rule-application content; mechanical changes separately
   from semantic ones; pre-existing fixes in their own commit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: index Cloud Passport processing and split-passport how-to

Add the new Cloud Passport docs to the navigation indexes:

- /README.md and /docs/README.md: Cloud Passport Processing in Advanced
  Features, Split a Cloud Passport for Business and Infra in How-To Guides.
- features/cloud-passport-processing.md: cross-link to use-cases/cloud-passport.md
  in Related documentation.

Applies the Doc index updates rule introduced in the preceding commit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: address super-linter terminology warnings, document textlint preflight

Fix terminology violations flagged by super-linter's textlint rule:

- AGENTS.md: README/READMEs in prose to readme/readmes; standalone repo to
  repository; "Blank line" to "Empty line".
- cloud-passport-processing.md: "cred id" to "cred ID".

Backtick-protected occurrences (in code spans and rule examples) are
unchanged because textlint excludes code spans.

Rename "Pre-flight markdownlint check" to "Pre-flight linter checks" and
add a textlint section so the natural-language terminology linter is
documented alongside markdownlint. Notes that the textlint config lives in
the shared netcracker/.github repository and is pulled at CI time; provides
a local preview command using the default terminology rule set.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: popoveugene <evgenii.a.popov.qubership@gmail.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix: enabling the validation for composite structure

* feat: support cloud public registry (Netcracker#1025)

* chore: Update docker image tags and envgene_version for branch main [skip ci]

---------

Co-authored-by: Jackson Raj A <150916845+BackendBits@users.noreply.github.com>
Co-authored-by: qubership-actions[bot] <qubership-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants