constants

package module
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 12, 2021 License: Apache-2.0 Imports: 0 Imported by: 0

README

GitHub release CI PkgGoDev Go Report Card

meows

meows is a Kubernetes controller for GitHub Actions self-hosted runners. It enables us to run GitHub Actions workflows on Pods running on you Kubernetes clusters.

Project Status: Initial development

Supported software

  • Kubernetes: 1.20, 1.21

Features

  • Self-hosted runner pool
    • Run a time-consuming startup script before a job starts
  • Notification
    • Users can notice that a job succeeds or not with notification
  • Workflow failure investigation
    • Users can extend the lifetime of a Pod and investigate what causes the failure

Documentation

docs directory contains documents about designs and specifications.

Docker images

Docker images are available on Quay.io

Documentation

Index

Constants

View Source
const (
	// RunnerOrgLabelKey is a label key for organization name.
	RunnerOrgLabelKey = "meows.cybozu.com/organization"

	// RunnerRepoLabelKey is a label key for repository name.
	RunnerRepoLabelKey = "meows.cybozu.com/repository"

	RunnerSecretExpiresAtAnnotationKey = "meows.cybozu.com/expires-at"

	// RunnerPoolFinalizer is a finalizer for runnerpool resource.
	RunnerPoolFinalizer = "meows.cybozu.com/runnerpool"

	// AppNameLabelKey is a label key for application name.
	AppNameLabelKey = "app.kubernetes.io/name"

	// AppComponentLabelKey is a label key for the component.
	AppComponentLabelKey = "app.kubernetes.io/component"

	// AppInstanceLabelKey is a label key for the instance name.
	AppInstanceLabelKey = "app.kubernetes.io/instance"
)

Metadata keys

View Source
const (
	// AppName is the application name.
	AppName = "meows"

	// AppComponentRunner is the component name for runner.
	AppComponentRunner = "runner"
)
View Source
const (
	// RunnerListenPort is the port number for runner container.
	RunnerListenPort = 8080

	// RunnerMetricsPortName is the port name for runner container.
	RunnerMetricsPortName = "metrics"
)

Container ports

View Source
const (
	// DeletionTimeEndpoint is the endpoint to get deletion time for runner container.
	DeletionTimeEndpoint = "deletion_time"

	// StatusEndPoint is the endpoint to get status of a runner pod.
	StatusEndPoint = "status"
)

Container endpoints

View Source
const (
	RunnerPodStateInitializing = "initializing"
	RunnerPodStateRunning      = "running"
	RunnerPodStateDebugging    = "debugging"
	RunnerPodStateStale        = "stale"
)

Runner pods state.

View Source
const (
	ListenerExitStateRetryableError = "retryable_error"
	ListenerExitStateUpdating       = "updating"
	ListenerExitStateUndefined      = "undefined"
)

Exit state of Actions Listener.

View Source
const (
	// RunnerRootDirPath is a directory path where GitHub Actions Runner will be installed.
	RunnerRootDirPath = "/runner"

	// RunnerWorkDirPath is a working directory path for job execution.
	RunnerWorkDirPath = "/runner/_work"

	// RunnerVarDirPath is a directory path for storing variable files.
	RunnerVarDirPath = "/var/meows"

	// SlackChannelFilePath is a file path for the Slack channel to be notified.
	SlackChannelFilePath = RunnerVarDirPath + "/slack_channel"

	// SecretsDirName is a directory name for storing secret files.
	SecretsDirName = "secrets"

	// RunnerTokenFileName is a file name for GitHub registration token.
	RunnerTokenFileName = "runnertoken"
)

Directory path for runner pods.

View Source
const (
	// PodNameEnvName is a env field key for POD_NAME.
	PodNameEnvName = "POD_NAME"

	// PodNamespaceEnvName is a env field key for POD_NAME.
	PodNamespaceEnvName = "POD_NAMESPACE"

	// RunnerOrgEnvName is a env field key for RUNNER_ORG.
	RunnerOrgEnvName = "RUNNER_ORG"

	// RunnerRepoEnvName is a env field key for RUNNER_REPO.
	RunnerRepoEnvName = "RUNNER_REPO"

	// RunnerPoolNameEnvName is a env field key for RUNNER_POOL_NAME.
	RunnerPoolNameEnvName = "RUNNER_POOL_NAME"

	// RunnerOptionEnvName is a env field key for RUNNER_OPTION
	RunnerOptionEnvName = "RUNNER_OPTION"

	// ExtendDurationEnvName is a env field key for EXTEND_DURATION
	ExtendDurationEnvName = "EXTEND_DURATION"

	// SlackChannelEnvName is a env field key for MEOWS_SLACK_CHANNEL
	SlackChannelEnvName = "MEOWS_SLACK_CHANNEL"
)

Environment variables

View Source
const (
	// RunnerContainerName is a container name which runs GitHub Actions runner.
	RunnerContainerName = "runner"
)

Container names

Variables

This section is empty.

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the meows v1alpha1 API group +kubebuilder:object:generate=true +groupName=meows.cybozu.com
Package v1alpha1 contains API Schema definitions for the meows v1alpha1 API group +kubebuilder:object:generate=true +groupName=meows.cybozu.com
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL