Ctrl K
ComunidadGuías…

README.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[![GitHub release](https://img.shields.io/github/release/cybozu-go/meows.svg?maxAge=60)][releases]
[![CI](https://github.com/cybozu-go/meows/workflows/main/badge.svg)](https://github.com/cybozu-go/meows/actions)
[![PkgGoDev](https://pkg.go.dev/badge/github.com/cybozu-go/meows?tab=overview)](https://pkg.go.dev/github.com/cybozu-go/meows?tab=overview)
[![Go Report Card](https://goreportcard.com/badge/github.com/cybozu-go/meows)](https://goreportcard.com/report/github.com/cybozu-go/meows)

# meows

`meows` is a Kubernetes controller for GitHub Actions [self-hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-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.34, 1.35, 1.36

## Features

- Run a self-hosted runner on a pod
  - meows runs the [GitHub Actions Runner](https://github.com/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](docs/) directory contains documents about designs and specifications.

## Docker images

Docker images are available on [ghcr.io](https://github.com/orgs/cybozu-go/packages?repo_name=meows)

- [Controller](https://github.com/cybozu-go/meows/pkgs/container/meows-controller)
- [Runner](https://github.com/cybozu-go/meows/pkgs/container/meows-runner)

[releases]: https://github.com/cybozu-go/meows/releases