Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

GO-SDK: serverlessworkflow DSL support #47

Open
TerraSkye opened this issue Dec 14, 2021 · 2 comments
Open

GO-SDK: serverlessworkflow DSL support #47

TerraSkye opened this issue Dec 14, 2021 · 2 comments
Assignees

Comments

@TerraSkye
Copy link

Author:

Summary of the feature being proposed

Adding support to use serverlessworkflow definitions as DSL for temporal

What value does this feature bring to Temporal?

we can use existing systems and tooling to create DSL to work on temporal

Are you willing to implement this feature yourself?

Yes im willing to work on creating an implemention for the serverless workflow to work with the GO-SDK

@cretz
Copy link
Member

cretz commented Dec 14, 2021

I have done some experimenting around this front (and may also attempt to tackle depending on availability). There are some ambiguities in the serverless workflow spec (e.g. for OAI functions, how does one specify body param name from the function ref) and there is currently a lack conformance suite to ensure accuracy.

While it may seem daunting, I would recommend:

  • During development gather ambiguities and open issues for them
  • Have the ability to transform a serverless workflow spec into a "prepared" form (i.e. validation, third party asset load, etc)
  • Have two types of workflows registrations:
    • One that already has the workflow loaded and prepared worker side before registration, and only executes on the prepared one
    • One that accepts a full workflow spec and args and sends off to an activity to "prepare" the workflow, and then executes right there
  • Build conformance suite as part of development. I know this seems non-trivial, but really just a set of YAMLs, inputs, mocked HTTP req/resp, and expected outputs shouldn't be too hard. The key is to not make it Go specific.

@tsurdilo
Copy link

That would rock. Yes, let's figure out what's missing/can be improved and add it. Some work on TCK and conformance has started there but still early stage.
Seem to be a number of companies that are working on running serverless workflow dsl, most on top of Temporal. Having these communities work together would benefit everyone imo.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants