v1alpha1

package
v0.11.1 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the garo v1alpha1 API group +kubebuilder:object:generate=true +groupName=garo.tietoevry.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "garo.tietoevry.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type GithubActionRunner

type GithubActionRunner struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GithubActionRunnerSpec   `json:"spec,omitempty"`
	Status GithubActionRunnerStatus `json:"status,omitempty"`
}

GithubActionRunner is the Schema for the githubactionrunners API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=githubactionrunners,scope=Namespaced,shortName=gar +kubebuilder:printcolumn:name="currentPoolSize",type=integer,JSONPath=`.status.currentSize` +operator-sdk:csv:customresourcedefinitions:displayName="GitHub Actions Runner"

func (*GithubActionRunner) DeepCopy

func (in *GithubActionRunner) DeepCopy() *GithubActionRunner

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GithubActionRunner.

func (*GithubActionRunner) DeepCopyInto

func (in *GithubActionRunner) DeepCopyInto(out *GithubActionRunner)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GithubActionRunner) DeepCopyObject

func (in *GithubActionRunner) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GithubActionRunner) GetConditions added in v0.7.0

func (r *GithubActionRunner) GetConditions() []metav1.Condition

GetConditions returns details of the current state of this API Resource.

func (*GithubActionRunner) SetConditions added in v0.7.0

func (r *GithubActionRunner) SetConditions(conditions []metav1.Condition)

SetConditions sets details of the current state of this API Resource.

type GithubActionRunnerList

type GithubActionRunnerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GithubActionRunner `json:"items"`
}

GithubActionRunnerList contains a list of GithubActionRunner

func (*GithubActionRunnerList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GithubActionRunnerList.

func (*GithubActionRunnerList) DeepCopyInto

func (in *GithubActionRunnerList) DeepCopyInto(out *GithubActionRunnerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GithubActionRunnerList) DeepCopyObject

func (in *GithubActionRunnerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GithubActionRunnerSpec

type GithubActionRunnerSpec struct {
	// Your GitHub organization
	// +kubebuilder:validation:Required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Organization",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	Organization string `json:"organization"`

	// Optional Github repository name, if repo scoped.
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Repository",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
	Repository string `json:"repository,omitempty"`

	// Minimum pool-size. Note that you need one runner in order for jobs to be schedulable, else they fail claiming no runners match the selector labels.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Required
	// +kubebuilder:default=1
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Minimum Pool Size",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:podCount"}
	MinRunners int `json:"minRunners"`

	// Maximum pool-size. Must be greater or equal to minRunners
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Maximum Pool Size",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:podCount"}
	MaxRunners int `json:"maxRunners"`

	// Minimum time to live for a runner. This can avoid trashing by keeping pods around longer than required by jobs, keeping caches hot.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="0m"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Minimum time to live"
	MinTTL metav1.Duration `json:"minTtl"`

	// +kubebuilder:validation:Required
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Pod Template"
	PodTemplateSpec v1.PodTemplateSpec `json:"podTemplateSpec"`

	// PAT to un/register runners. Required if the operator is not running in github-application mode.
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Token Reference"
	TokenRef v1.SecretKeySelector `json:"tokenRef"`

	// How often to reconcile/check the runner pool. If undefined the controller uses a default of 1m
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="1m"
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Reconciliation Period"
	ReconciliationPeriod metav1.Duration `json:"reconciliationPeriod"`

	// What order to delete idle pods in
	// +kubebuilder:default="LeastRecent"
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Deletion Order",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:select:leastrecent","urn:alm:descriptor:com.tectonic.ui:select:mostrecent"}
	DeletionOrder SortOrder `json:"deletionOrder"`
}

GithubActionRunnerSpec defines the desired state of GithubActionRunner

func (*GithubActionRunnerSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GithubActionRunnerSpec.

func (*GithubActionRunnerSpec) DeepCopyInto

func (in *GithubActionRunnerSpec) DeepCopyInto(out *GithubActionRunnerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (GithubActionRunnerSpec) IsValid added in v0.7.0

func (r GithubActionRunnerSpec) IsValid() (bool, error)

IsValid validates conditions not covered by basic OpenAPI constraints

type GithubActionRunnerStatus

type GithubActionRunnerStatus struct {
	// the current size of the build pool
	CurrentSize int `json:"currentSize"`
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +operator-sdk:csv:customresourcedefinitions:type=status,displayName="Conditions",xDescriptors="urn:alm:descriptor:io.kubernetes.conditions"
	// Details of the current state of this API Resource.
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

GithubActionRunnerStatus defines the observed state of GithubActionRunner

func (*GithubActionRunnerStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GithubActionRunnerStatus.

func (*GithubActionRunnerStatus) DeepCopyInto

func (in *GithubActionRunnerStatus) DeepCopyInto(out *GithubActionRunnerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SortOrder added in v0.8.0

type SortOrder string

SortOrder defines order to sort by when sorting on creation timestamp. +kubebuilder:validation:Enum=MostRecent;LeastRecent

const (
	// LeastRecent first.
	LeastRecent SortOrder = "LeastRecent"
	// MostRecent first.
	MostRecent SortOrder = "MostRecent"
)

Jump to

Keyboard shortcuts

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