Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the meows v1alpha1 API group +kubebuilder:object:generate=true +groupName=meows.cybozu.com
Index ¶
- Variables
- type NotificationConfig
- type ObjectMeta
- type RunnerContainerSpec
- type RunnerPodTemplateSpec
- type RunnerPool
- func (in *RunnerPool) DeepCopy() *RunnerPool
- func (in *RunnerPool) DeepCopyInto(out *RunnerPool)
- func (in *RunnerPool) DeepCopyObject() runtime.Object
- func (r *RunnerPool) Default()
- func (r *RunnerPool) GetOwner() string
- func (r *RunnerPool) GetRepository() string
- func (r *RunnerPool) GetRunnerDeploymentName() string
- func (r *RunnerPool) GetRunnerSecretName() string
- func (r *RunnerPool) IsOrgLevel() bool
- func (r *RunnerPool) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *RunnerPool) ValidateCreate() (warnings admission.Warnings, err error)
- func (r *RunnerPool) ValidateDelete() (warnings admission.Warnings, err error)
- func (r *RunnerPool) ValidateUpdate(old runtime.Object) (warnings admission.Warnings, err error)
- type RunnerPoolList
- type RunnerPoolSpec
- type RunnerPoolStatus
- type SlackConfig
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "meows.cybozu.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 NotificationConfig ¶ added in v0.6.0
type NotificationConfig struct { // Configuration of the Slack notification. // +optional Slack SlackConfig `json:"slack,omitempty"` // Extension time. // If this field is omitted, users cannot extend the runner pods. // +optional ExtendDuration string `json:"extendDuration,omitempty"` }
func (*NotificationConfig) DeepCopy ¶ added in v0.6.0
func (in *NotificationConfig) DeepCopy() *NotificationConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationConfig.
func (*NotificationConfig) DeepCopyInto ¶ added in v0.6.0
func (in *NotificationConfig) DeepCopyInto(out *NotificationConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectMeta ¶
type ObjectMeta struct { // Labels is a map of string keys and values. // +optional Labels map[string]string `json:"labels,omitempty"` // Annotations is a map of string keys and values. // +optional Annotations map[string]string `json:"annotations,omitempty"` }
ObjectMeta is metadata of objects. This is partially copied from metav1.ObjectMeta.
func (*ObjectMeta) DeepCopy ¶
func (in *ObjectMeta) DeepCopy() *ObjectMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectMeta.
func (*ObjectMeta) DeepCopyInto ¶
func (in *ObjectMeta) DeepCopyInto(out *ObjectMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RunnerContainerSpec ¶ added in v0.6.0
type RunnerContainerSpec struct { // Docker image name for the runner container. // +optional Image string `json:"image,omitempty"` // Image pull policy for the runner container. // +optional ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"` // Security options for the runner container. // +optional SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` // List of sources to populate environment variables in the runner container. // +optional EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"` // List of environment variables to set in the runner container. // +optional Env []corev1.EnvVar `json:"env,omitempty"` // Compute Resources required by the runner container. // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty"` // Pod volumes to mount into the runner container's filesystem. // +optional VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` }
func (*RunnerContainerSpec) DeepCopy ¶ added in v0.6.0
func (in *RunnerContainerSpec) DeepCopy() *RunnerContainerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunnerContainerSpec.
func (*RunnerContainerSpec) DeepCopyInto ¶ added in v0.6.0
func (in *RunnerContainerSpec) DeepCopyInto(out *RunnerContainerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RunnerPodTemplateSpec ¶ added in v0.6.0
type RunnerPodTemplateSpec struct { // Standard object's metadata. Only `annotations` and `labels` are valid. // +optional ObjectMeta `json:"metadata"` // Runner container's spec. // +optional RunnerContainer RunnerContainerSpec `json:"runnerContainer,omitempty"` // ImagePullSecrets is a list of secret names in the same namespace to use for pulling any of the images. // +optional ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"` // List of volumes that can be mounted by containers belonging to the pod. // +optional Volumes []corev1.Volume `json:"volumes,omitempty"` // NodeSelector is a selector which must be true for the runner pod to fit on a node. // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Name of the service account that the Pod use. // +kubebuilder:default="default" // +optional ServiceAccountName string `json:"serviceAccountName,omitempty"` // AutomountServiceAccountToken indicates whether a service account token should be automatically mounted to the pod. // +optional AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty"` // If specified, the runner pod's tolerations. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` }
func (*RunnerPodTemplateSpec) DeepCopy ¶ added in v0.6.0
func (in *RunnerPodTemplateSpec) DeepCopy() *RunnerPodTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunnerPodTemplateSpec.
func (*RunnerPodTemplateSpec) DeepCopyInto ¶ added in v0.6.0
func (in *RunnerPodTemplateSpec) DeepCopyInto(out *RunnerPodTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RunnerPool ¶
type RunnerPool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RunnerPoolSpec `json:"spec"` Status RunnerPoolStatus `json:"status,omitempty"` }
RunnerPool is the Schema for the runnerpools API
func (*RunnerPool) DeepCopy ¶
func (in *RunnerPool) DeepCopy() *RunnerPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunnerPool.
func (*RunnerPool) DeepCopyInto ¶
func (in *RunnerPool) DeepCopyInto(out *RunnerPool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RunnerPool) DeepCopyObject ¶
func (in *RunnerPool) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*RunnerPool) Default ¶
func (r *RunnerPool) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*RunnerPool) GetOwner ¶ added in v0.6.0
func (r *RunnerPool) GetOwner() string
func (*RunnerPool) GetRepository ¶ added in v0.6.0
func (r *RunnerPool) GetRepository() string
func (*RunnerPool) GetRunnerDeploymentName ¶
func (r *RunnerPool) GetRunnerDeploymentName() string
GetRunnerDeploymentName returns the Deployment name for runners.
func (*RunnerPool) GetRunnerSecretName ¶ added in v0.4.0
func (r *RunnerPool) GetRunnerSecretName() string
func (*RunnerPool) IsOrgLevel ¶ added in v0.4.0
func (r *RunnerPool) IsOrgLevel() bool
func (*RunnerPool) SetupWebhookWithManager ¶
func (r *RunnerPool) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*RunnerPool) ValidateCreate ¶
func (r *RunnerPool) ValidateCreate() (warnings admission.Warnings, err error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*RunnerPool) ValidateDelete ¶
func (r *RunnerPool) ValidateDelete() (warnings admission.Warnings, err error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*RunnerPool) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type RunnerPoolList ¶
type RunnerPoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []RunnerPool `json:"items"` }
RunnerPoolList contains a list of RunnerPool
func (*RunnerPoolList) DeepCopy ¶
func (in *RunnerPoolList) DeepCopy() *RunnerPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunnerPoolList.
func (*RunnerPoolList) DeepCopyInto ¶
func (in *RunnerPoolList) DeepCopyInto(out *RunnerPoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RunnerPoolList) DeepCopyObject ¶
func (in *RunnerPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RunnerPoolSpec ¶
type RunnerPoolSpec struct { // Repository name. If this field is specified, meows registers pods as repository-level runners. // +optional Repository string `json:"repository,omitempty"` // Organization name. If this field is specified, meows registers pods as organization-level runners. // +optional Organization string `json:"organization,omitempty"` // CredentialSecretName is a Secret name that contains a GitHub Credential. // If this field is omitted or the empty string (`""`) is specified, meows uses the default secret name (`meows-github-cred`). // +optional CredentialSecretName string `json:"credentialSecretName,omitempty"` // Number of desired runner pods to accept a new job. Defaults to 1. // +kubebuilder:default=1 // +optional Replicas int32 `json:"replicas,omitempty"` // Number of desired runner pods to keep. Defaults to 0. // If this field is 0, it will keep the number of pods specified in replicas. // +kubebuilder:default=0 // +optional MaxRunnerPods int32 `json:"maxRunnerPods,omitempty"` // WorkVolume is the volume source for the working directory. // If pod is not given a volume definition, it uses an empty dir. // +optional WorkVolume *corev1.VolumeSource `json:"workVolume,omitempty"` // Command that runs when the runner pods will be created. // +optional SetupCommand []string `json:"setupCommand,omitempty"` // Deadline for the Pod to be recreated. // +kubebuilder:default="24h" // +optional RecreateDeadline string `json:"recreateDeadline,omitempty"` // Configuration of the notification. // +optional Notification NotificationConfig `json:"notification,omitempty"` // Template describes the runner pods that will be created. // +optional Template RunnerPodTemplateSpec `json:"template,omitempty"` // DenyDisruption protects busy runner Pods by PDB. // +optional DenyDisruption bool `json:"denyDisruption,omitempty"` }
RunnerPoolSpec defines the desired state of RunnerPool
func (*RunnerPoolSpec) DeepCopy ¶
func (in *RunnerPoolSpec) DeepCopy() *RunnerPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunnerPoolSpec.
func (*RunnerPoolSpec) DeepCopyInto ¶
func (in *RunnerPoolSpec) DeepCopyInto(out *RunnerPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RunnerPoolStatus ¶
type RunnerPoolStatus struct { // Bound is true when the child Deployment is created. // +optional Bound bool `json:"bound,omitempty"` }
RunnerPoolStatus defines status of RunnerPool
func (*RunnerPoolStatus) DeepCopy ¶
func (in *RunnerPoolStatus) DeepCopy() *RunnerPoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RunnerPoolStatus.
func (*RunnerPoolStatus) DeepCopyInto ¶
func (in *RunnerPoolStatus) DeepCopyInto(out *RunnerPoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SlackConfig ¶ added in v0.6.0
type SlackConfig struct { // Flag to toggle Slack notifications sends or not. // +optional Enable bool `json:"enable,omitempty"` // Slack channel which the job results are reported. // If this field is omitted, the default channel specified in slack-agent options will be used. // +optional Channel string `json:"channel,omitempty"` // Service name of Slack agent. // If this field is omitted, the default name (`slack-agent.meows.svc`) will be used. // +optional AgentServiceName string `json:"agentServiceName,omitempty"` }
func (*SlackConfig) DeepCopy ¶ added in v0.6.0
func (in *SlackConfig) DeepCopy() *SlackConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SlackConfig.
func (*SlackConfig) DeepCopyInto ¶ added in v0.6.0
func (in *SlackConfig) DeepCopyInto(out *SlackConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.