Skip to main content

GitHub Runner Claim

The GitHubRunnerClaim is a way of requesting a GitHub runner. GitHubRunnerClaim resources can be created only in the Claim Namespace, which is isolated for each GitHubPipelinesIntegration.

Administrator (owner of Puzl account) always has full permissions on all GitHubRunnerClaim resources within the account. Integration Service Account always has full permissions on GitHubRunnerClaim resources only within its Claim Namespace.

The metadata section is used to uniquely identify objects and to provide other information that is not directly tied to a resource's configuration.

Namespace defines the space within which each GitHubRunnerClaim name must be unique.

Each GitHubRunnerClaim name must be unique, within a namespace. The name must contain only lower-case letters, digits and dashes.

In this section, we've described only two fields that are necessary and sufficient for users on Puzl. For a more in-depth explanation of metadata and its various fields, refer to the official Kubernetes documentation.

The section defines the desired state of the object. It describes the characteristics you want the resource to have: its configuration, settings, and data.

The section contains all the settings for the GitHub runner creation and registration.

Path:spec.jobProvider.baseLabel

This value must be set to one of the predefined values to ensure that only jobs intended for puzl.cloud are processed, preventing unnecessary tasks outside the platform.

Path:spec.jobProvider.extraLabels

Use labels to match the runner with the jobs, which this runner should run. Find more information about labels in the official GitHub documentation.

The section contains all the settings for the GitHub runner's runtime.

Path:spec.jobs.ultimateJobTimeout

Specifies the timeout duration in seconds for terminating the job, regardless of its configuration.

Default:True
Path:spec.jobs.waitForDockerOnStart

Specifies if the GitHub runner should wait for Docker daemon to start before taking a job.

Path:spec.jobs.customImage

Specifies the path to your customer Docker image containing GitHub Runner.

Path:spec.jobs.runnerDirectory

Specifies the path to the directory containing GitHub Runner. You should use it with customImage only.

Path:spec.jobs.sharedPersistentMountPoints

Defines directories on the Flexible Persistent File Storage that will be created and made accessible across all GitHub jobs of this runner. These directories and their data persist beyond job executions.

You can share the same persistent directories among multiple runners within the same Integration. To achieve this, specify the same mount paths for each runner.

The section stores references to the runner's state and fully managed by the platform.

Internal platform reference to the current GitHub runner release.

Path:spec.runner.releaseRef.name
Path:spec.runner.releaseRef.namespace
Path:spec.runner.jobNamespaceRef

Specifies the namespace where the jobs are executed by this runner.

The section provides information about the current state of the object. It is populated by the platform and is used to inform users about the state of the resource, whether it's currently operational, and additional metadata like timestamps.

Default:Pending
Path:status.phase

Represents the high-level summary of the current status of the resource.

Conditions are designed based on Kubernetes API conventions. Conditions represent the logical states that the resource has passed through.

Path:status.conditions[].lastTransitionTime

The last time the condition transitioned from one status to another.

Path:status.conditions[].observedGeneration

The value of metadata.generation when the condition has been transited last time.

Path:status.conditions[].message

A human-readable message indicating details about the transition.

Path:status.conditions[].reason

A one-word, CamelCase reason caused the transition of the resource to this condition.

Path:status.conditions[].status

The current status of the condition. Can be one of: True, False, or Unknown.

Path:status.conditions[].type

Unique type of the resource condition.