Skip to content

Run own woodpecker agent? #423

Description

@chrysn

When Codeberg CI load is high, CI often runs into timeouts (especially around observing expected CoAP behavior w/rt piggy-backed responses).

One way around would be to have agents on own CI agents on own hardware. I'm not really set up for docker on my machines, so exploring what is needed for sensible operation:

  • new user, with own group and sufficient subuids / subgids
  • from Support "native" podman as backend woodpecker-ci/woodpecker#85 (comment), "Run systemctl --user enable --now podman.socket which creates /run/user/$UID/podman/podman.sock (in my case, UID=1000)."
    • note that doing anything systemctl-related is best not done through sudo su but through sudo machinectl shell woodpecker-agent@ /bin/bash
  • ensure podman-docker is installed
  • download woodpecker-agent from their release files
  • create a token in the woodpecker settings of the organization
  • run: WOODPECKER_BACKEND_DOCKER_HOST="unix:///run/user/$UID/podman/podman.sock" WOODPECKER_GRPC_SECURE=true WOODPECKER_SERVER=grpc.ci.codeberg.org:443 WOODPECKER_AGENT_SECRET='NotTellingYou==' ./woodpecker-agent --backend-engine=docker --backend-docker-ipv6

… which gets me to the point where it attempts to start containers, but then runs into ""Error response from daemon: runc: runc create failed: unable to start container process: can't get final child's PID from pipe: EOF: OCI runtime error"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions