Skip to content

Containerized executions #245

@jahvon

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions