apiVersion: sonataflow.org/v1alpha08 kind: SonataFlow metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"sonataflow.org/v1alpha08","kind":"SonataFlow","metadata":{"annotations":{"sonataflow.org/description":"Simple workflow demonstrating basics of using the orchestrator-form-widgets library. Requires corresponding HTTP endpoints to be up and proxy to be configured.","sonataflow.org/expressionLang":"jq","sonataflow.org/profile":"gitops","sonataflow.org/version":"1.0"},"creationTimestamp":null,"labels":{"app":"dynamic-course-select","sonataflow.org/workflow-app":"dynamic-course-select"},"name":"dynamic-course-select","namespace":"rhdh-operator"},"spec":{"flow":{"dataInputSchema":{"failOnValidationErrors":true,"schema":"schemas/dynamic-course-select__main-schema.json"},"functions":[{"name":"PrintSuccessData","operation":"{ \"result\": { \"message\": \"The workflow finished successfully.\", \"outputs\": [ { \"key\": \"resourceOne\", \"value\": $WORKFLOW.instanceId }, { \"key\": \"studentName\", \"value\": .studentName }, { \"key\": \"courseName\", \"value\": .courseName }, { \"key\": \"room\", \"value\": .courseDetails.room }, { \"key\": \"requestCertificate\", \"value\": .courseDetails.requestCertificate }, { \"key\": \"complimentaryDrinks\", \"value\": .complimentaryDrinks }, { \"key\": \"teacher\", \"value\": .preferredTeacher } ] } }","type":"expression"}],"start":{"stateName":"Start"},"states":[{"actionMode":"sequential","actions":[{"actionDataFilter":{"useResults":true},"functionRef":{"invoke":"sync","refName":"PrintSuccessData"},"name":"Fill progress data"}],"end":{"terminate":true},"name":"Start","type":"operation"}]},"persistence":{"postgresql":{"secretRef":{"name":"backstage-psql-secret-backstage","passwordKey":"POSTGRES_PASSWORD","userKey":"POSTGRES_USER"},"serviceRef":{"databaseName":"sonataflow","databaseSchema":"dynamic-course-select","name":"backstage-psql-backstage","namespace":"rhdh-operator"}}},"podTemplate":{"container":{"image":"quay.io/orchestrator/dynamic-course-demo-workflow:latest","resources":{}}},"resources":{"configMaps":[{"configMap":{"name":"01-dynamic-course-select-resources-schemas"},"workflowPath":"schemas"}]}},"status":{"address":{},"lastTimeRecoverAttempt":null}} sonataflow.org/description: Simple workflow demonstrating basics of using the orchestrator-form-widgets library. Requires corresponding HTTP endpoints to be up and proxy to be configured. sonataflow.org/expressionLang: jq sonataflow.org/profile: gitops sonataflow.org/version: '1.0' resourceVersion: '3576772' name: dynamic-course-select uid: 5db92588-6a77-4eec-a145-cff257e79878 creationTimestamp: '2025-08-17T16:58:18Z' generation: 3 managedFields: - apiVersion: sonataflow.org/v1alpha08 fieldsType: FieldsV1 fieldsV1: 'f:metadata': 'f:finalizers': .: {} 'v:"workflow-deletion"': {} manager: manager operation: Update time: '2025-08-17T16:58:31Z' - apiVersion: sonataflow.org/v1alpha08 fieldsType: FieldsV1 fieldsV1: 'f:metadata': 'f:annotations': .: {} 'f:kubectl.kubernetes.io/last-applied-configuration': {} 'f:sonataflow.org/description': {} 'f:sonataflow.org/expressionLang': {} 'f:sonataflow.org/profile': {} 'f:sonataflow.org/version': {} 'f:labels': .: {} 'f:app': {} 'f:sonataflow.org/workflow-app': {} 'f:spec': .: {} 'f:flow': .: {} 'f:dataInputSchema': .: {} 'f:failOnValidationErrors': {} 'f:schema': {} 'f:functions': {} 'f:start': .: {} 'f:stateName': {} 'f:states': {} 'f:persistence': .: {} 'f:dbMigrationStrategy': {} 'f:postgresql': .: {} 'f:secretRef': .: {} 'f:name': {} 'f:passwordKey': {} 'f:userKey': {} 'f:serviceRef': .: {} 'f:databaseName': {} 'f:databaseSchema': {} 'f:name': {} 'f:namespace': {} 'f:podTemplate': .: {} 'f:container': .: {} 'f:image': {} 'f:resources': {} 'f:resources': .: {} 'f:configMaps': {} manager: kubectl-client-side-apply operation: Update time: '2025-08-17T17:18:22Z' - apiVersion: sonataflow.org/v1alpha08 fieldsType: FieldsV1 fieldsV1: 'f:status': .: {} 'f:address': {} 'f:conditions': {} 'f:flowCRC': {} 'f:observedGeneration': {} 'f:platform': .: {} 'f:name': {} 'f:namespace': {} 'f:services': .: {} 'f:dataIndexRef': .: {} 'f:url': {} 'f:jobServiceRef': .: {} 'f:url': {} manager: manager operation: Update subresource: status time: '2025-08-17T17:20:01Z' namespace: rhdh-operator finalizers: - workflow-deletion labels: app: dynamic-course-select sonataflow.org/workflow-app: dynamic-course-select spec: flow: dataInputSchema: failOnValidationErrors: true schema: schemas/dynamic-course-select__main-schema.json functions: - name: PrintSuccessData operation: '{ "result": { "message": "The workflow finished successfully.", "outputs": [ { "key": "resourceOne", "value": $WORKFLOW.instanceId }, { "key": "studentName", "value": .studentName }, { "key": "courseName", "value": .courseName }, { "key": "room", "value": .courseDetails.room }, { "key": "requestCertificate", "value": .courseDetails.requestCertificate }, { "key": "complimentaryDrinks", "value": .complimentaryDrinks }, { "key": "teacher", "value": .preferredTeacher } ] } }' type: expression start: stateName: Start states: - actionMode: sequential actions: - actionDataFilter: useResults: true functionRef: invoke: sync refName: PrintSuccessData name: Fill progress data end: terminate: true name: Start type: operation persistence: dbMigrationStrategy: service postgresql: secretRef: name: backstage-psql-secret-backstage passwordKey: POSTGRES_PASSWORD userKey: POSTGRES_USER serviceRef: databaseName: sonataflow databaseSchema: dynamic-course-select name: backstage-psql-backstage namespace: rhdh-operator podTemplate: container: image: 'quay.io/orchestrator/dynamic-course-demo-workflow:latest' resources: {} resources: configMaps: - configMap: name: 01-dynamic-course-select-resources-schemas workflowPath: schemas status: address: {} conditions: - lastUpdateTime: '2025-08-17T16:58:31Z' reason: BuildSkipped status: 'False' type: Built - lastUpdateTime: '2025-08-17T17:20:01Z' status: 'True' type: Running flowCRC: 3683228306 observedGeneration: 3 platform: name: sonataflow-platform namespace: rhdh-operator services: dataIndexRef: url: 'http://sonataflow-platform-data-index-service.rhdh-operator' jobServiceRef: url: 'http://sonataflow-platform-jobs-service.rhdh-operator'