Documentation
¶
Overview ¶
Package v1alpha1 contains common types shared across multiple resources. +kubebuilder:object:generate=true +groupName=common.gitlab.crossplane.io +versionName=v1alpha1
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CommonRunnerObservation ¶
type CommonRunnerObservation struct {
// Paused indicates whether the runner is currently paused.
// Paused runners do not accept new jobs but can complete running jobs.
// +optional
Paused bool `json:"paused"`
// Description is the human-readable description of the runner.
// +optional
Description string `json:"description"`
// ID is the unique identifier of the runner assigned by GitLab.
ID int `json:"id"`
// User runners are never shared, so this is typically false.
// +optional
IsShared bool `json:"isShared"`
// RunnerType indicates the type of runner.
// For user runners, this is typically "project_type" or "group_type".
// +optional
RunnerType string `json:"runnerType"`
// ContactedAt is the timestamp when the runner last contacted GitLab.
// This is used to determine if a runner is online or offline.
// +optional
ContactedAt *metav1.Time `json:"contactedAt"`
// MaintenanceNote contains any maintenance note set for the runner.
// This is displayed in the GitLab UI when the runner is offline or paused.
// +optional
MaintenanceNote string `json:"maintenanceNote"`
// Name is the name of the runner as reported by the runner agent.
// This is typically set automatically by the GitLab Runner software.
// +optional
Name string `json:"name"`
// Online indicates whether the runner is currently online and available.
// This is determined by the last contact time and heartbeat interval.
// +optional
Online bool `json:"online"`
// Status represents the current status of the runner.
// Valid values: "online", "offline", "stale", "never_contacted"
// +optional
Status string `json:"status"`
// TagList contains the list of tags associated with the runner.
// Jobs with matching tags will be eligible to run on this runner.
// +optional
TagList []string `json:"tagList"`
// RunUntagged indicates whether the runner accepts jobs without tags.
// +optional
RunUntagged bool `json:"runUntagged"`
// Locked indicates whether the runner is locked to its current scope.
// +optional
Locked bool `json:"locked"`
// AccessLevel specifies the access level of the runner.
// Valid values: "not_protected", "ref_protected"
// +optional
AccessLevel string `json:"accessLevel"`
// MaximumTimeout is the maximum time (in seconds) that jobs can run on this runner.
// +optional
MaximumTimeout int `json:"maximumTimeout"`
// TokenExpiresAt is the timestamp when the runner token expires.
// Currently GitLab does not provide an expiration for user runner tokens,
// so this is typically nil for user runners.
// This field is included for consistency and future extensibility.
// +optional
TokenExpiresAt *metav1.Time `json:"tokenExpiresAt"`
}
CommonRunnerObservation represents the observed state of a user runner that is common between group and project runners.
GitLab API docs: https://docs.gitlab.com/ee/api/runners.html#get-runners-details
func (*CommonRunnerObservation) DeepCopy ¶
func (in *CommonRunnerObservation) DeepCopy() *CommonRunnerObservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonRunnerObservation.
func (*CommonRunnerObservation) DeepCopyInto ¶
func (in *CommonRunnerObservation) DeepCopyInto(out *CommonRunnerObservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonRunnerParameters ¶
type CommonRunnerParameters struct {
// Description is a human-readable description of the runner.
// +optional
Description *string `json:"description,omitempty"`
// Paused indicates whether the runner is paused and will not accept new jobs.
// When true, the runner will not pick up new jobs but can complete running jobs.
// +optional
Paused *bool `json:"paused,omitempty"`
// Locked indicates whether the runner is locked to the current project/group.
// When true, the runner cannot be enabled for other projects/groups.
// +optional
Locked *bool `json:"locked,omitempty"`
// RunUntagged indicates whether the runner should run jobs without tags.
// When true, the runner will accept jobs that have no tags specified.
// +optional
RunUntagged *bool `json:"runUntagged,omitempty"`
// TagList contains the list of tags associated with the runner.
// Jobs with matching tags will be eligible to run on this runner.
// +optional
TagList *[]string `json:"tagList,omitempty"`
// AccessLevel specifies the access level of the runner.
// Valid values: "not_protected", "ref_protected"
// - "not_protected": Runner can execute jobs for all branches/tags
// - "ref_protected": Runner can only execute jobs for protected branches/tags
// +optional
// +kubebuilder:validation:Enum=not_protected;ref_protected
AccessLevel *string `json:"accessLevel,omitempty"`
// MaximumTimeout is the maximum time (in seconds) that a job can run on this runner.
// If a job exceeds this time limit, it will be terminated.
// +optional
MaximumTimeout *int `json:"maximumTimeout,omitempty"`
// MaintenanceNote is a note that can be set when the runner is in maintenance mode.
// This is displayed in the GitLab UI when the runner is offline or paused.
// +optional
MaintenanceNote *string `json:"maintenanceNote,omitempty"`
}
CommonRunnerParameters contains common configuration parameters for user runners that are shared between group and project runner types.
GitLab API docs: https://docs.gitlab.com/ee/api/users.html#create-a-runner
func (*CommonRunnerParameters) DeepCopy ¶
func (in *CommonRunnerParameters) DeepCopy() *CommonRunnerParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonRunnerParameters.
func (*CommonRunnerParameters) DeepCopyInto ¶
func (in *CommonRunnerParameters) DeepCopyInto(out *CommonRunnerParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.