Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 6 additions & 15 deletions cmd/wfctl/pipeline.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import (
"strings"
"time"

"github.com/CrisisTextLine/modular"
"github.com/GoCodeAlone/workflow"
"github.com/GoCodeAlone/workflow/config"
"github.com/GoCodeAlone/workflow/handlers"
Expand Down Expand Up @@ -189,20 +188,12 @@ Options:
// build from config (which wires all step factories and compiles pipelines),
// then look up the named pipeline from the engine's pipeline registry directly.
// We deliberately skip engine.Start() so no HTTP servers or triggers are started.
app := modular.NewStdApplication(nil, logger)
eng := workflow.NewStdEngine(app, logger)

// Register the pipeline workflow handler (required for configurePipelines to find a PipelineAdder).
eng.RegisterWorkflowHandler(handlers.NewPipelineWorkflowHandler())

// Load the pipeline-steps plugin (registers step.log, step.set, step.validate, etc.)
if err := eng.LoadPlugin(pluginpipeline.New()); err != nil {
return fmt.Errorf("failed to load pipeline-steps plugin: %w", err)
}

// BuildFromConfig registers modules, compiles pipeline steps, and populates
// the engine's pipeline registry. It does NOT start the HTTP server.
if err := eng.BuildFromConfig(cfg); err != nil {
eng, err := workflow.NewEngineBuilder().
WithLogger(logger).
WithHandler(handlers.NewPipelineWorkflowHandler()).
WithPlugin(pluginpipeline.New()).
BuildFromConfig(cfg)
if err != nil {
return fmt.Errorf("failed to build engine from config: %w", err)
}

Expand Down
34 changes: 8 additions & 26 deletions cmd/wfctl/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,11 @@ import (
"os/signal"
"syscall"

"github.com/CrisisTextLine/modular"
"github.com/GoCodeAlone/workflow"
"github.com/GoCodeAlone/workflow/config"
"github.com/GoCodeAlone/workflow/dynamic"
"github.com/GoCodeAlone/workflow/handlers"
"github.com/GoCodeAlone/workflow/module"

// Blank import registers default handlers and triggers with the engine builder.
_ "github.com/GoCodeAlone/workflow/setup"
)

func runRun(args []string) error {
Expand Down Expand Up @@ -57,28 +56,11 @@ func runRun(args []string) error {

logger := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: level}))

app := modular.NewStdApplication(nil, logger)
engine := workflow.NewStdEngine(app, logger)

engine.RegisterWorkflowHandler(handlers.NewHTTPWorkflowHandler())
engine.RegisterWorkflowHandler(handlers.NewMessagingWorkflowHandler())
engine.RegisterWorkflowHandler(handlers.NewStateMachineWorkflowHandler())
engine.RegisterWorkflowHandler(handlers.NewSchedulerWorkflowHandler())
engine.RegisterWorkflowHandler(handlers.NewIntegrationWorkflowHandler())

engine.RegisterTrigger(module.NewHTTPTrigger())
engine.RegisterTrigger(module.NewEventTrigger())
engine.RegisterTrigger(module.NewScheduleTrigger())
engine.RegisterTrigger(module.NewEventBusTrigger())
engine.RegisterTrigger(module.NewReconciliationTrigger())

pool := dynamic.NewInterpreterPool()
registry := dynamic.NewComponentRegistry()
loader := dynamic.NewLoader(pool, registry)
engine.SetDynamicRegistry(registry)
engine.SetDynamicLoader(loader)

if err := engine.BuildFromConfig(cfg); err != nil {
engine, err := workflow.NewEngineBuilder().
WithLogger(logger).
WithAllDefaults().
BuildFromConfig(cfg)
if err != nil {
return fmt.Errorf("failed to build workflow: %w", err)
}

Expand Down
19 changes: 6 additions & 13 deletions cmd/wfctl/templates/api-service/main.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,9 @@ import (
"os/signal"
"syscall"

"github.com/CrisisTextLine/modular"
"github.com/GoCodeAlone/workflow"
"github.com/GoCodeAlone/workflow/config"
"github.com/GoCodeAlone/workflow/handlers"
"github.com/GoCodeAlone/workflow/module"
_ "github.com/GoCodeAlone/workflow/setup"
)

func main() {
Expand Down Expand Up @@ -41,16 +39,11 @@ func main() {
os.Exit(1)
}

app := modular.NewStdApplication(nil, logger)
engine := workflow.NewStdEngine(app, logger)

engine.RegisterWorkflowHandler(handlers.NewHTTPWorkflowHandler())
engine.RegisterWorkflowHandler(handlers.NewIntegrationWorkflowHandler())

engine.RegisterTrigger(module.NewHTTPTrigger())
engine.RegisterTrigger(module.NewEventTrigger())

if err := engine.BuildFromConfig(cfg); err != nil {
engine, err := workflow.NewEngineBuilder().
WithLogger(logger).
WithAllDefaults().
BuildFromConfig(cfg)
if err != nil {
fmt.Fprintf(os.Stderr, "failed to build workflow: %v\n", err)
os.Exit(1)
}
Expand Down
21 changes: 6 additions & 15 deletions cmd/wfctl/templates/event-processor/main.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,9 @@ import (
"os/signal"
"syscall"

"github.com/CrisisTextLine/modular"
"github.com/GoCodeAlone/workflow"
"github.com/GoCodeAlone/workflow/config"
"github.com/GoCodeAlone/workflow/handlers"
"github.com/GoCodeAlone/workflow/module"
_ "github.com/GoCodeAlone/workflow/setup"
)

func main() {
Expand Down Expand Up @@ -41,18 +39,11 @@ func main() {
os.Exit(1)
}

app := modular.NewStdApplication(nil, logger)
engine := workflow.NewStdEngine(app, logger)

engine.RegisterWorkflowHandler(handlers.NewMessagingWorkflowHandler())
engine.RegisterWorkflowHandler(handlers.NewStateMachineWorkflowHandler())
engine.RegisterWorkflowHandler(handlers.NewHTTPWorkflowHandler())

engine.RegisterTrigger(module.NewEventTrigger())
engine.RegisterTrigger(module.NewEventBusTrigger())
engine.RegisterTrigger(module.NewHTTPTrigger())

if err := engine.BuildFromConfig(cfg); err != nil {
engine, err := workflow.NewEngineBuilder().
WithLogger(logger).
WithAllDefaults().
BuildFromConfig(cfg)
if err != nil {
fmt.Fprintf(os.Stderr, "failed to build workflow: %v\n", err)
os.Exit(1)
}
Expand Down
19 changes: 6 additions & 13 deletions cmd/wfctl/templates/full-stack/main.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,9 @@ import (
"os/signal"
"syscall"

"github.com/CrisisTextLine/modular"
"github.com/GoCodeAlone/workflow"
"github.com/GoCodeAlone/workflow/config"
"github.com/GoCodeAlone/workflow/handlers"
"github.com/GoCodeAlone/workflow/module"
_ "github.com/GoCodeAlone/workflow/setup"
)

func main() {
Expand Down Expand Up @@ -41,16 +39,11 @@ func main() {
os.Exit(1)
}

app := modular.NewStdApplication(nil, logger)
engine := workflow.NewStdEngine(app, logger)

engine.RegisterWorkflowHandler(handlers.NewHTTPWorkflowHandler())
engine.RegisterWorkflowHandler(handlers.NewIntegrationWorkflowHandler())

engine.RegisterTrigger(module.NewHTTPTrigger())
engine.RegisterTrigger(module.NewEventTrigger())

if err := engine.BuildFromConfig(cfg); err != nil {
engine, err := workflow.NewEngineBuilder().
WithLogger(logger).
WithAllDefaults().
BuildFromConfig(cfg)
if err != nil {
fmt.Fprintf(os.Stderr, "failed to build workflow: %v\n", err)
os.Exit(1)
}
Expand Down
Loading
Loading