Closed SaphMB closed 7 months ago
Once finishd lets look into replace all references to kratix-promise-id
to kratix.io/promise-name
We are changing the behaviour so that only scheduling specified in the promise.yaml
is applied to both the promise and resource requests. Dynamic scheduling within the promise configure workflow is not also passed onto the resource configure workflow.
main branch is multiple-workflows, which ATM just contains the nice commit for https://github.com/syntasso/kratix-docs/issues/51. There is another WIP branch based from this branch with a dirty commit history that contains the next steps of implementing multiple workflows https://github.com/syntasso/kratix/tree/multiple-workflows-for-reals
WIP Task:
// Create request
// A starts
// A finished
// B starts
// Requests gets updated
// A-new starts
// B and A-new are now both in parallel?
Context dump for Monday...
dev
workflow.ReconcileConfigure
which works in the simple scenario but may not work with updates etc. (see the list below)multiple-workflows
so we have two nice commits, which can then be merged into dev
workflows
package tests:
kratix.io/promise-name
label~ syntasso/kratix#99 workflows
package - either via a GetLabelsForObject
, or keep labels as an implementation detail and have e.g. DeleteObjectResources
in the package insteadkratix-promise-id
to kratix.io/promise-name
(potentially look at any other labels which don't start with kratix.io
and rename those too!)Promise Workflow
configure
updates
configure
updates
manual reconciliation
Implementation complete with system tests updated and passing. Remaining task:
Docs PR here: https://github.com/syntasso/kratix-docs/pull/47
At present, Promise writers can only write a single
configure
workflow for their Promise or Resource Request. Theworkflows.configure
key already takes a list ofPipelines
to execute but at present, Kratix only selects the first one and executes it.Expectation: The Pipelines run in the order they are specified
Given a Promise or Resource Request has the following specification:
When the Configure Workflow runs, the
configure-a
Pipeline will run and upon it's completion (as indicated by the status), theconfigure-b
Pipeline will run.Expectation: The Pipelines infer completion from the Pipeline status
Given the above Configure Workflow When
configure-a
runs,configure-b
will identify that it has completed via the Pipeline status