Skip to content

Containerized executions #245

Description

@jahvon

Enable executables to run within container environments by specifying a container image as the execution environment. This would provide isolated, reproducible execution environments for flow executables while maintaining the same interface and workflow patterns.

Container Configuration

Basic Container Execution

executables:
  - name: build-go-app
    exec:
      cmd: go build -o bin/app ./cmd/app
      container:
        image: golang:1.21-alpine
        workdir: /workspace

Advanced Container Options

# wip spec of what these could be
executables:
  - name: run-tests
    exec:
      params:
        - text: "test"
          envKey: NODE_ENV
        - text: "true"
          envKey: CI
      args:
        - flag: verbose
          envKey: VERBOSE
          type: bool
          default: false
      cmd: npm test
      container:
        image: node:18-alpine
        workdir: /app
        mountWorkspace: /app          # Simple workspace mounting
        volumes:
          - "/tmp:/tmp"               # Additional volumes as needed
        inheritEnv: true              # Inherit params/args environment
        user: "1000:1000"
        network: host

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions