v1

package
v0.0.0-...-b74f83a Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the v1 API group +kubebuilder:object:generate=true +groupName=azurepipelines.k8s.scaler.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "azurepipelines.k8s.scaler.io", Version: "v1"}

	// 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 AutoScaledAgent

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

	Spec   AutoScaledAgentSpec   `json:"spec,omitempty"`
	Status AutoScaledAgentStatus `json:"status,omitempty"`
}

AutoScaledAgent is the Schema for the autoscaledagents API

func (*AutoScaledAgent) DeepCopy

func (in *AutoScaledAgent) DeepCopy() *AutoScaledAgent

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

func (*AutoScaledAgent) DeepCopyInto

func (in *AutoScaledAgent) DeepCopyInto(out *AutoScaledAgent)

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

func (*AutoScaledAgent) DeepCopyObject

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

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

type AutoScaledAgentList

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

AutoScaledAgentList contains a list of AutoScaledAgent

func (*AutoScaledAgentList) DeepCopy

func (in *AutoScaledAgentList) DeepCopy() *AutoScaledAgentList

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

func (*AutoScaledAgentList) DeepCopyInto

func (in *AutoScaledAgentList) DeepCopyInto(out *AutoScaledAgentList)

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

func (*AutoScaledAgentList) DeepCopyObject

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

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

type AutoScaledAgentSpec

type AutoScaledAgentSpec struct {

	// PoolName is the name of the Azure DevOps pool name
	PoolName string `json:"poolName,omitempty"`

	// OrganizationUrl is the HTTPS URL to the organization, e.g. https://dev.azure.com/foobar if you use the SaaS version
	OrganizationUrl string `json:"organizationUrl,omitempty"`

	// Stores the name of a secret that has a key called "pat" whose value is the Azure DevOps Personal Access Token
	PersonalAccessTokenSecretName string `json:"personalAccessTokenSecretName,omitempty"`

	// How many of the most recently started agent Pods that are now in completed / terminated state should be kept.
	// The controller automatically deletes all other terminated agent pods exceeding this count
	// +optional
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default:=5
	MaxTerminatedPodsToKeep *int32 `json:"maxTerminatedPodsToKeep,omitempty"`

	// If the controller detects a Pod with an idle AZP agent container, how long (after the first detection) should
	// the controller wait before it terminates the Pod? The controller only terminates it if the AZP agent
	// container was idle during the entire period.
	// Expects an unsigned duration string of decimal numbers each with optional
	// fraction and a unit suffix, eg "300ms", "1.5h" or "2h45m".
	// Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
	// +kubebuilder:default:="5m"
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	// +kubebuilder:validation:Type:=string
	// +optional
	AgentMinIdlePeriod *metav1.Duration `json:"agentMinIdlePeriod,omitempty"`

	// How often the garbage collection (=deleting offline Azure DevOps agents) is run.
	// Expects an unsigned duration string of decimal numbers each with optional
	// fraction and a unit suffix, eg "300ms", "1.5h" or "2h45m".
	// Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
	// +kubebuilder:default:="30m"
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	// +kubebuilder:validation:Type:=string
	// +optional
	DummyAgentGarbageCollectionInterval *metav1.Duration `json:"dummyAgentGarbageCollectionInterval,omitempty"`

	// "Dummy agents" refer to agents registered at run-time by the agent registrator CLI companion tool.
	// The agent garbage collection only affects dummy agents that have at least this age.
	// Expects an unsigned duration string of decimal numbers each with optional
	// fraction and a unit suffix, eg "300ms", "1.5h" or "2h45m".
	// Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
	// +kubebuilder:default:="2h"
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	// +kubebuilder:validation:Type:=string
	// +optional
	DummyAgentDeletionMinAge *metav1.Duration `json:"dummyAgentDeletionMinAge,omitempty"`

	// "Normal offline agents" refer to agents that were really running in the K8s cluster (some time ago), but were
	// not properly unregistered (e.g. because the Pod crashed).
	// The agent garbage collection only deletes normal offline agents that have at least this age.
	// Expects an unsigned duration string of decimal numbers each with optional
	// fraction and a unit suffix, eg "300ms", "1.5h" or "2h45m".
	// Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
	// +kubebuilder:default:="5h"
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	// +kubebuilder:validation:Type:=string
	// +optional
	NormalOfflineAgentDeletionMinAge *metav1.Duration `json:"normalOfflineAgentDeletionMinAge,omitempty"`

	// +optional
	ReusableCacheVolumes []ReusableCacheVolume `json:"reusableCacheVolumes,omitempty"`

	PodsWithCapabilities []PodsWithCapabilities `json:"podsWithCapabilities,omitempty"`
}

AutoScaledAgentSpec defines the desired state of AutoScaledAgent

func (*AutoScaledAgentSpec) DeepCopy

func (in *AutoScaledAgentSpec) DeepCopy() *AutoScaledAgentSpec

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

func (*AutoScaledAgentSpec) DeepCopyInto

func (in *AutoScaledAgentSpec) DeepCopyInto(out *AutoScaledAgentSpec)

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

type AutoScaledAgentStatus

type AutoScaledAgentStatus struct {
}

AutoScaledAgentStatus defines the observed state of AutoScaledAgent

func (*AutoScaledAgentStatus) DeepCopy

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

func (*AutoScaledAgentStatus) DeepCopyInto

func (in *AutoScaledAgentStatus) DeepCopyInto(out *AutoScaledAgentStatus)

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

type PodsWithCapabilities

type PodsWithCapabilities struct {
	Capabilities map[string]string `json:"capabilities,omitempty"`

	//+kubebuilder:validation:Minimum=0
	MinCount *int32 `json:"minCount,omitempty"`

	//+kubebuilder:validation:Minimum=0
	MaxCount *int32 `json:"maxCount,omitempty"`

	PodLabels map[string]string `json:"podLabels,omitempty"`

	PodAnnotations map[string]string `json:"podAnnotations,omitempty"`

	PodTemplateSpec corev1.PodTemplateSpec `json:"podTemplateSpec"`
}

func (*PodsWithCapabilities) DeepCopy

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

func (*PodsWithCapabilities) DeepCopyInto

func (in *PodsWithCapabilities) DeepCopyInto(out *PodsWithCapabilities)

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

type ReusableCacheVolume

type ReusableCacheVolume struct {
	Name             string `json:"name,omitempty"`
	StorageClassName string `json:"storageClassName,omitempty"`
	RequestedStorage string `json:"requestedStorage,omitempty"`
}

func (*ReusableCacheVolume) DeepCopy

func (in *ReusableCacheVolume) DeepCopy() *ReusableCacheVolume

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

func (*ReusableCacheVolume) DeepCopyInto

func (in *ReusableCacheVolume) DeepCopyInto(out *ReusableCacheVolume)

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

Jump to

Keyboard shortcuts

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