Skip to content
generated from cybozu-go/neco-template

Kubernetes controller for GitHub actions self-hosted runners

License

Notifications You must be signed in to change notification settings

cybozu-go/meows

Folders and files

NameName
Last commit message
Last commit date
Oct 22, 2024
Jul 4, 2023
Oct 25, 2023
Feb 9, 2024
Feb 4, 2025
Sep 18, 2024
Feb 3, 2025
Dec 23, 2021
Mar 23, 2021
Sep 25, 2024
Oct 4, 2022
Feb 3, 2025
Aug 4, 2021
Mar 9, 2021
Jun 10, 2021
Feb 4, 2025
Jan 28, 2025
Aug 16, 2021
Sep 19, 2024
Aug 4, 2021
Oct 17, 2024
Oct 17, 2024
Feb 4, 2025
Sep 18, 2024
Sep 18, 2024

Repository files navigation

GitHub release CI PkgGoDev Go Report Card

meows

meows is a Kubernetes controller for GitHub Actions self-hosted runners. You can run jobs in your GitHub Actions workflows on your Kubernetes cluster with meows.

Project Status: Initial development

Supported software

  • Kubernetes: 1.28, 1.29, 1.30

Features

  • Run a self-hosted runner on a pod
    • meows runs the GitHub Actions Runner on a pod. It allows you to use a pod as a self-hosted runner.
    • The pod spec is customizable. E.g., labels, annotations, environment variables, volumes, and other specs are customizable. So you can prepare any environment you want.
    • We call the pod runner pod :)
  • Pool and maintain some runners and runner pods
    • meows prepares multiple runner pods as you specified. It allows you to pool various runners and reduce Actions job clagging.
  • Run GitHub Actions jobs in the clean environment
    • meows only runs one job on a single runner pod. When a job in a runner pod gets finished, meows will delete the pod and create a new one. So you can always run a job on a clean runner pod.
  • Extend the lifetimes of runner pods
    • When a job has finished, meows will delete the assigned runner pod after a while. But if necessary, you can extend the lifetime of the runner pod. For example, it enables you to investigate a failed job.
    • Currently, you can only extend it if a job has failed.

Documentation

docs directory contains documents about designs and specifications.

Docker images

Docker images are available on ghcr.io