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.
metadata
section
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.
More Details
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.
spec
section
The section defines the desired state of the object. It describes the characteristics you want the resource to have: its configuration, settings, and data.
spec.jobProvider
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.
spec.jobs
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.
spec.runner
The section stores references to the runner's state and fully managed by the platform.
spec.runner.releaseRef
Internal platform reference to the current GitHub runner release.
Path: | spec.runner.jobNamespaceRef |
Specifies the namespace where the jobs are executed by this runner.
status
section
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.
status.conditions[]
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
.