Skip to content

Latest commit

 

History

History
86 lines (70 loc) · 9.91 KB

File metadata and controls

86 lines (70 loc) · 9.91 KB

RunnerPool

RunnerPool is a custom resource definition (CRD) that represents a pool of GitHub Actions self-hosted runners.

Field Type Description
apiVersion string APIVersion.
kind string Kind.
metadata ObjectMeta Metadata.
spec RunnerPoolSpec Specification of desired behavior of RunnerPool.
status RunnerPoolStatus Most recently observed status of RunnerPool.

RunnerPoolSpec

Field Type Description
repository string Repository name. If this field is specified, meows registers pods as repository-level runners.
organization string Organization name. If this field is specified, meows registers pods as organization-level runners.
credentialSecretName string Secret name that contains a GitHub Credential. If this field is omitted or the empty string ("") is specified, meows uses the default secret name (meows-github-cred).
replicas int32 Number of desired runner pods to accept a new job. Defaults to 1.
maxRunnerPods int32 Number of desired runner pods to keep. Defaults to 0. If this field is 0, it will keep the number of pods specified in replicas.
workVolume corev1.VolumeSource The volume source for the working directory.
setupCommand []string Command that runs when the runner pods will be created.
notification NotificationConfig Configuration of the notification.
recreateDeadline string Deadline for the Pod to be recreated. Default value is 24h. This value should be parseable with time.ParseDuration.
template RunnerPodTemplateSpec Pod manifest Template.
denyDisruption bool Whether the runner pods are protected by PDBs during job execution

NOTE: maxRunnerPods is equal-to or greater than replicas.

NotificationConfig

Field Type Description
slack SlackConfig Configuration of the Slack notification.
extendDuration string Extension time. If this field is omitted, users cannot extend the runner pods.

SlackConfig

Field Type Description
enable bool Flag to toggle Slack notifications sends or not.
channel string Slack channel which the job results are reported. If this field is omitted, the default channel specified in the --channel(-c) option of slack-agent command will be used.
agentServiceName string Service name of Slack agent. If this field is omitted, the default name (slack-agent.meows.svc) will be used.

RunnerPodTemplateSpec

Field Type Description
runnerContainer RunnerContainerSpec Runner container's spec.
imagePullSecrets []corev1.LocalObjectReference List of secret names in the same namespace to use for pulling any of the images.
volumes []corev1.Volume List of volumes that can be mounted by containers belonging to the pod.
nodeSelector map[string]string NodeSelector is a selector which must be true for the runner pod to fit on a node.
serviceAccountName string Name of the service account that the Pod use. (default value is "default")
automountServiceAccountToken *bool AutomountServiceAccountToken indicates whether a service account token should be automatically mounted to the pod.
tolerations []corev1.Toleration If specified, the runner pod's tolerations.

RunnerContainerSpec

Field Type Description
image string Docker image name for the runner container.
imagePullPolicy string Image pull policy for the runner container.
securityContext corev1.SecurityContext Security options for the runner container.
envFrom []corev1.EnvFromSource List of sources to populate environment variables in the runner container.
env []corev1.EnvVar List of environment variables to set in the runner container.
resources corev1.ResourceRequirements Compute Resources required by the runner container.
volumeMounts []corev1.VolumeMount Pod volumes to mount into the runner container's filesystem.

RunnerPoolStatus

Field Type Description
bound boolean Deployment is bound or not.