mirror of https://github.com/kubevela/kubevela.git
94 lines
2.2 KiB
CUE
94 lines
2.2 KiB
CUE
#GetPlacementsFromTopologyPolicies: multicluster.#GetPlacementsFromTopologyPolicies
|
|
|
|
#Deploy: multicluster.#Deploy
|
|
|
|
#ApplyApplication: #Steps & {
|
|
load: oam.#LoadComponetsInOrder @step(1)
|
|
components: #Steps & {
|
|
for name, c in load.value {
|
|
"\(name)": oam.#ApplyComponent & {
|
|
value: c
|
|
}
|
|
}
|
|
} @step(2)
|
|
}
|
|
|
|
// This operator will dispatch all the components in parallel when applying an application.
|
|
// Currently it works for Addon Observability to speed up the installation. It can also works for other applications, which
|
|
// needs to skip health check for components.
|
|
#ApplyApplicationInParallel: #Steps & {
|
|
load: oam.#LoadComponetsInOrder @step(1)
|
|
components: #Steps & {
|
|
for name, c in load.value {
|
|
"\(name)": oam.#ApplyComponent & {
|
|
value: c
|
|
waitHealthy: false
|
|
}
|
|
}
|
|
} @step(2)
|
|
}
|
|
|
|
#ApplyComponent: oam.#ApplyComponent
|
|
|
|
#RenderComponent: oam.#RenderComponent
|
|
|
|
#ApplyComponentRemaining: #Steps & {
|
|
// exceptions specify the resources not to apply.
|
|
exceptions: [...string]
|
|
exceptions_: {for c in exceptions {"\(c)": true}}
|
|
component: string
|
|
|
|
load: oam.#LoadComponets @step(1)
|
|
render: #Steps & {
|
|
rendered: oam.#RenderComponent & {
|
|
value: load.value[component]
|
|
}
|
|
comp: kube.#Apply & {
|
|
value: rendered.output
|
|
}
|
|
for name, c in rendered.outputs {
|
|
if exceptions_[name] == _|_ {
|
|
"\(name)": kube.#Apply & {
|
|
value: c
|
|
}
|
|
}
|
|
}
|
|
} @step(2)
|
|
}
|
|
|
|
#ApplyRemaining: #Steps & {
|
|
// exceptions specify the resources not to apply.
|
|
exceptions: [...string]
|
|
exceptions_: {for c in exceptions {"\(c)": true}}
|
|
|
|
load: oam.#LoadComponets @step(1)
|
|
components: #Steps & {
|
|
for name, c in load.value {
|
|
if exceptions_[name] == _|_ {
|
|
"\(name)": oam.#ApplyComponent & {
|
|
value: c
|
|
}
|
|
}
|
|
|
|
}
|
|
} @step(2)
|
|
}
|
|
|
|
#ApplyEnvBindApp: multicluster.#ApplyEnvBindApp
|
|
|
|
#DeployCloudResource: terraform.#DeployCloudResource
|
|
|
|
#ShareCloudResource: terraform.#ShareCloudResource
|
|
|
|
#LoadPolicies: oam.#LoadPolicies
|
|
|
|
#ListClusters: multicluster.#ListClusters
|
|
|
|
#MakePlacementDecisions: multicluster.#MakePlacementDecisions
|
|
|
|
#PatchApplication: multicluster.#PatchApplication
|
|
|
|
#Load: oam.#LoadComponets
|
|
|
|
#LoadInOrder: oam.#LoadComponetsInOrder
|