serverlessworkflow / specification

Serverless Workflow Specification
http://serverlessworkflow.io
Apache License 2.0
714 stars 146 forks source link

Remove Shell Process #860

Open cdavernas opened 1 month ago

cdavernas commented 1 month ago

What would you like to be added:

Remove the shell process, as suggested by @fjtirado in https://github.com/serverlessworkflow/specification/pull/859.

Why is this needed:

fjtirado commented 1 month ago

I believe we all agree our goal should be to achieve full portability of spec files across implementors. Thats why I think we need to replace shell, which have security, portability and performance implications, by a set of simple task which are universal and might be used to compose another more complex task. Then, implementors can implement these single task the way they see fit (using shell, an operating system call or using a portable language library) We might start with a small set and then add new ones base on user feedback. One lame example. "dump": has as arguments a message (which is a literal string or an expr), a destination: stdout, stderr or file path (expressed as an array to avoid SO dependant operation) and that just append the stirng to stdout, stderr or file path. Im noy saying that is really needed (thats a different discussion) but an example of iteraction with the underlying file system we might want to support in the spec.

fjtirado commented 1 month ago

Maybe the conclusion is that these set of task size is zero ;) and we can just remove shell ;). But probably we need "primitives" to create, read from, write to and delete files (logging is just a special case of write)

ricardozanini commented 1 month ago

@cdavernas Maybe moving this one to extensions instead of removing it?