leg100 / pug

Drive terraform at terminal velocity.
Mozilla Public License 2.0
439 stars 7 forks source link

refactor: have services return task specifications #109

Closed leg100 closed 2 months ago

leg100 commented 2 months ago

This PR changes the behaviour of most service methods: instead of returning a task, they now return a task specification. It is then the caller's responsibility to create a task from the specification. Introducing a layer of indirection allows the task group constructor to use the specifications to help construct the group, e.g. naming the group, and whether to respect module dependencies, etc.