Skip to content

Conversation

@travis-kindred
Copy link

@travis-kindred travis-kindred commented Sep 8, 2025

Extend PIT configuration file with component dependencies

  • Feature justification
    With more dependent components required to be up-and-running before starting the DPT tests, the current naive sequential deployment and un-deployment ordering is limited to handle complex dependencies. Thus, the toolkit needs to be extended.

  • Feature descriptions
    Optional dependsOn field on each component and is respected by the deployer when set.

    • During deployment, the current component is deployed after all dependent components are ready.
    • During un-deployment, the current component is un-deployed before all dependent components.
    • When multiple components are on the same topological level, the original order of component definition in the PIT yaml file is preserved. (i.e. the components are deployed and un-deployed in the order defined in the PIT yaml file).
  • Backward compatibility
    This extension is backward compatible and doesn't introduce breaking changes.

    • The dependsOn field is optional, indicating no dependencies if the field is not present.
    • When the dependsOn field is not present in any of the components, all components are considered at the same topological level. In this case, the deployment and un-deployment order follows the component definition order in the PIT yaml file, which is consistent with previous behaviour.

    Therefore, this extension doesn't break existing PIT configs.

  • Thorough unit tests
    All newly introduced behaviours and backward compatibility have been covered by unit tests.

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.

2 participants