Skip to content

Garden-Windows Worker Support #2175

@topherbullock

Description

@topherbullock

Feature Request

Moving the drain and registration to go binaries should make cross-compilation of the worker job for a windows job a lot easier. Currently concourse-windows-worker-release is what we use for Windows workers, which runs concourse.exe worker and uses Houdini to allow containerization-less Garden on the worker.

Challenges

Its probably easiest to support this in BOSH first and add support to the binaries later, so lets just focus on the challenges there.

  • We'll need to confirm Attach/Exec support in Garden Windows; Concourse needs this to be able to run builds and hijack .
  • Baggageclaim support; Baggageclaim is colocated with Garden, and the worker job registers the Baggageclaim and Garden servers as a Concourse Worker. We'll need a Windows job to run Baggageclaim.
  • All of the base resources are currently built as Linux container images, so we'll need to think about resource support. Users currently need at least one Linux worker to support the base resource types. Does the same "written in go so we can cross compile" plan work for the base resources?

A Modest Proposal

A good first step would be to create a windows-worker job which can run on Windows instances, basically a copy of beacon_ctl.erb logic which calls worker.exe. Same goes for baggageclaim_ctl, once Baggageclaim supports Windows.

I think this would be a good start, and implementing resources will still be something to chew on.. It would be less than ideal if we need to create windows containers for every base resource type to support them.

CC + Thanks to @natalieparellano

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions