You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The dependsOn field for Kubernetes resources in a Spec are currently injected by kusion-module-framework using the OrderedResources method.
The OrderedResources method processes a slice named orderedKinds which takes in a static list of Kubernetes resource Kinds, and process them linearly. This leads to incorrect over-expression of resource dependencies. See the example below in the Why section.
This issue tracks the effort to enable a non-linear, graph-based dependency injection for Kubernetes resources.
Why is this needed?
Background
Kusion currently:
uses a slice called DependsOn in generated resources to determine the order to execute resources in a Spec
produces an execution DAG (Directed Acyclic Graph) based on the contents of the DependsOn prior to any execution (preview/apply/destroy) and walk the DAG during execution
For example, assuming the DefaultOrderedKinds contains 4 resource kinds in the following order:
The Service for example, may not directly depend on the Secret, but its DependsOn will incorrectly include the Secret because the Secret is defined before Service in the DefaultOrderedKinds
The text was updated successfully, but these errors were encountered:
What would you like to be added?
The
dependsOn
field for Kubernetes resources in a Spec are currently injected by kusion-module-framework using theOrderedResources
method.The
OrderedResources
method processes a slice namedorderedKinds
which takes in a static list of Kubernetes resourceKinds
, and process them linearly. This leads to incorrect over-expression of resource dependencies. See the example below in the Why section.This issue tracks the effort to enable a non-linear, graph-based dependency injection for Kubernetes resources.
Why is this needed?
Background
Kusion currently:
DependsOn
in generated resources to determine the order to execute resources in a SpecDependsOn
for Kubernetes resources.DependsOn
prior to any execution (preview/apply/destroy) and walk the DAG during executionFor example, assuming the
DefaultOrderedKinds
contains 4 resource kinds in the following order:The Generated Spec will contain:
The
Service
for example, may not directly depend on theSecret
, but itsDependsOn
will incorrectly include theSecret
because theSecret
is defined beforeService
in the DefaultOrderedKindsThe text was updated successfully, but these errors were encountered: