Runner Pool
ImpVMRunnerPool manages a pool of ImpVM instances for executing CI/CD jobs — currently GitHub Actions self-hosted runners.
Sections
How it Works
The pool controller creates and destroys ImpVM objects to match runner demand. Each VM registers as a GitHub Actions self-hosted runner, picks up a job, and is replaced on completion.
GitHub Actions Visibility
GitHub only sees capacity after runners register. The pool keeps minIdle pre-registered runners available for fast job pickup. Monitor both the Kubernetes side (pool status, ImpVM count) and the GitHub side (runner inventory).
Minimal Example
yaml
apiVersion: imp.dev/v1alpha1
kind: ImpVMRunnerPool
metadata:
name: ci-pool
namespace: default
spec:
classRef:
name: standard
image: ghcr.io/syscode-labs/imp-runner:latest
platform:
type: github
github:
org: my-org
secretRef:
name: github-runner-token
scaling:
mode: hybrid
minIdle: 2
maxConcurrent: 10
scaleUpStep: 2
cooldownSeconds: 60