mirror of
https://github.com/actions-runner-controller/actions-runner-controller.git
synced 2026-09-30 16:11:06 +02:00
The scaleset listener no longer dissects the message it polls. It owns session management, polling and acking, and hands the whole message to a single Scale call, so acquiring jobs and recording metrics move to the only component that still reads them. That handover is what makes the work parallelisable. The listener used to replay a message one API call at a time, in a fixed order: every job started patch, then every job completed, then the scale patch. The job events touch distinct EphemeralRunners and carry no ordering between them, so they now run across a bounded worker pool, with the worker that patches the EphemeralRunnerSet running alongside them. The one ordering that does matter is kept. deleteIdleEphemeralRunners skips a runner only once it carries a job request ID, so a patch that lowers the replica count could offer up a runner that just picked up a job if it were published while job started patches were still in flight. The scaling worker therefore waits for the event workers on a scale down, and only then. A patch that scales up or holds cannot delete anything. Kubernetes has no bulk write: get, create, update, patch and delete are single-resource verbs, and deletecollection is the only collection-scoped mutating verb there is, so N events cannot be collapsed into fewer requests. Server side apply is a PATCH on one object URI and does not change that. Issuing the N patches concurrently over the one HTTP/2 connection is the available win; the alternative is writing fewer objects, which trades N cheap independent writes for one contended, watch-amplifying, size-bounded write. The pool size is configurable through listenerConfig.scaler.workers, alongside the existing qps and burst, and defaults to 10: two calls per event keeps a full pool well inside the default QPS budget. Statistics are now cached by the scaler. The listener stopped tracking them, and a long poll that times out carries no message at all, so without the cache an idle scale set would stop converging. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
891 lines
26 KiB
Go
Generated
891 lines
26 KiB
Go
Generated
//go:build !ignore_autogenerated
|
|
|
|
/*
|
|
Copyright 2020 The actions-runner-controller authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
// Code generated by controller-gen. DO NOT EDIT.
|
|
|
|
package v1alpha1
|
|
|
|
import (
|
|
"k8s.io/api/core/v1"
|
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
"k8s.io/apimachinery/pkg/runtime"
|
|
)
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *AutoscalingListener) DeepCopyInto(out *AutoscalingListener) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
|
in.Spec.DeepCopyInto(&out.Spec)
|
|
out.Status = in.Status
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingListener.
|
|
func (in *AutoscalingListener) DeepCopy() *AutoscalingListener {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(AutoscalingListener)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *AutoscalingListener) DeepCopyObject() runtime.Object {
|
|
if c := in.DeepCopy(); c != nil {
|
|
return c
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *AutoscalingListenerList) DeepCopyInto(out *AutoscalingListenerList) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
|
if in.Items != nil {
|
|
in, out := &in.Items, &out.Items
|
|
*out = make([]AutoscalingListener, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingListenerList.
|
|
func (in *AutoscalingListenerList) DeepCopy() *AutoscalingListenerList {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(AutoscalingListenerList)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *AutoscalingListenerList) DeepCopyObject() runtime.Object {
|
|
if c := in.DeepCopy(); c != nil {
|
|
return c
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *AutoscalingListenerSpec) DeepCopyInto(out *AutoscalingListenerSpec) {
|
|
*out = *in
|
|
if in.ImagePullSecrets != nil {
|
|
in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
|
|
*out = make([]v1.LocalObjectReference, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
if in.Proxy != nil {
|
|
in, out := &in.Proxy, &out.Proxy
|
|
*out = new(ProxyConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.GitHubServerTLS != nil {
|
|
in, out := &in.GitHubServerTLS, &out.GitHubServerTLS
|
|
*out = new(TLSConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.VaultConfig != nil {
|
|
in, out := &in.VaultConfig, &out.VaultConfig
|
|
*out = new(VaultConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.Metrics != nil {
|
|
in, out := &in.Metrics, &out.Metrics
|
|
*out = new(MetricsConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.Template != nil {
|
|
in, out := &in.Template, &out.Template
|
|
*out = new(v1.PodTemplateSpec)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.ConfigSecretMetadata != nil {
|
|
in, out := &in.ConfigSecretMetadata, &out.ConfigSecretMetadata
|
|
*out = new(ResourceMeta)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.ServiceAccountMetadata != nil {
|
|
in, out := &in.ServiceAccountMetadata, &out.ServiceAccountMetadata
|
|
*out = new(ResourceMeta)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.RoleMetadata != nil {
|
|
in, out := &in.RoleMetadata, &out.RoleMetadata
|
|
*out = new(ResourceMeta)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.RoleBindingMetadata != nil {
|
|
in, out := &in.RoleBindingMetadata, &out.RoleBindingMetadata
|
|
*out = new(ResourceMeta)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.ListenerConfig != nil {
|
|
in, out := &in.ListenerConfig, &out.ListenerConfig
|
|
*out = new(ListenerConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingListenerSpec.
|
|
func (in *AutoscalingListenerSpec) DeepCopy() *AutoscalingListenerSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(AutoscalingListenerSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *AutoscalingListenerStatus) DeepCopyInto(out *AutoscalingListenerStatus) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingListenerStatus.
|
|
func (in *AutoscalingListenerStatus) DeepCopy() *AutoscalingListenerStatus {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(AutoscalingListenerStatus)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *AutoscalingRunnerSet) DeepCopyInto(out *AutoscalingRunnerSet) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
|
in.Spec.DeepCopyInto(&out.Spec)
|
|
out.Status = in.Status
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingRunnerSet.
|
|
func (in *AutoscalingRunnerSet) DeepCopy() *AutoscalingRunnerSet {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(AutoscalingRunnerSet)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *AutoscalingRunnerSet) DeepCopyObject() runtime.Object {
|
|
if c := in.DeepCopy(); c != nil {
|
|
return c
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *AutoscalingRunnerSetList) DeepCopyInto(out *AutoscalingRunnerSetList) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
|
if in.Items != nil {
|
|
in, out := &in.Items, &out.Items
|
|
*out = make([]AutoscalingRunnerSet, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingRunnerSetList.
|
|
func (in *AutoscalingRunnerSetList) DeepCopy() *AutoscalingRunnerSetList {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(AutoscalingRunnerSetList)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *AutoscalingRunnerSetList) DeepCopyObject() runtime.Object {
|
|
if c := in.DeepCopy(); c != nil {
|
|
return c
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *AutoscalingRunnerSetSpec) DeepCopyInto(out *AutoscalingRunnerSetSpec) {
|
|
*out = *in
|
|
if in.RunnerScaleSetLabels != nil {
|
|
in, out := &in.RunnerScaleSetLabels, &out.RunnerScaleSetLabels
|
|
*out = make([]string, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
if in.Proxy != nil {
|
|
in, out := &in.Proxy, &out.Proxy
|
|
*out = new(ProxyConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.GitHubServerTLS != nil {
|
|
in, out := &in.GitHubServerTLS, &out.GitHubServerTLS
|
|
*out = new(TLSConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.VaultConfig != nil {
|
|
in, out := &in.VaultConfig, &out.VaultConfig
|
|
*out = new(VaultConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
in.Template.DeepCopyInto(&out.Template)
|
|
if in.AutoscalingListenerMetadata != nil {
|
|
in, out := &in.AutoscalingListenerMetadata, &out.AutoscalingListenerMetadata
|
|
*out = new(ResourceMeta)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.ListenerMetrics != nil {
|
|
in, out := &in.ListenerMetrics, &out.ListenerMetrics
|
|
*out = new(MetricsConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.ListenerTemplate != nil {
|
|
in, out := &in.ListenerTemplate, &out.ListenerTemplate
|
|
*out = new(v1.PodTemplateSpec)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.ListenerServiceAccountMetadata != nil {
|
|
in, out := &in.ListenerServiceAccountMetadata, &out.ListenerServiceAccountMetadata
|
|
*out = new(ResourceMeta)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.ListenerRoleMetadata != nil {
|
|
in, out := &in.ListenerRoleMetadata, &out.ListenerRoleMetadata
|
|
*out = new(ResourceMeta)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.ListenerRoleBindingMetadata != nil {
|
|
in, out := &in.ListenerRoleBindingMetadata, &out.ListenerRoleBindingMetadata
|
|
*out = new(ResourceMeta)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.ListenerConfigSecretMetadata != nil {
|
|
in, out := &in.ListenerConfigSecretMetadata, &out.ListenerConfigSecretMetadata
|
|
*out = new(ResourceMeta)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.EphemeralRunnerSetMetadata != nil {
|
|
in, out := &in.EphemeralRunnerSetMetadata, &out.EphemeralRunnerSetMetadata
|
|
*out = new(ResourceMeta)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.EphemeralRunnerMetadata != nil {
|
|
in, out := &in.EphemeralRunnerMetadata, &out.EphemeralRunnerMetadata
|
|
*out = new(ResourceMeta)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.EphemeralRunnerConfigSecretMetadata != nil {
|
|
in, out := &in.EphemeralRunnerConfigSecretMetadata, &out.EphemeralRunnerConfigSecretMetadata
|
|
*out = new(ResourceMeta)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.MaxRunners != nil {
|
|
in, out := &in.MaxRunners, &out.MaxRunners
|
|
*out = new(int)
|
|
**out = **in
|
|
}
|
|
if in.MinRunners != nil {
|
|
in, out := &in.MinRunners, &out.MinRunners
|
|
*out = new(int)
|
|
**out = **in
|
|
}
|
|
if in.ListenerConfig != nil {
|
|
in, out := &in.ListenerConfig, &out.ListenerConfig
|
|
*out = new(ListenerConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingRunnerSetSpec.
|
|
func (in *AutoscalingRunnerSetSpec) DeepCopy() *AutoscalingRunnerSetSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(AutoscalingRunnerSetSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *AutoscalingRunnerSetStatus) DeepCopyInto(out *AutoscalingRunnerSetStatus) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingRunnerSetStatus.
|
|
func (in *AutoscalingRunnerSetStatus) DeepCopy() *AutoscalingRunnerSetStatus {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(AutoscalingRunnerSetStatus)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *AzureKeyVaultConfig) DeepCopyInto(out *AzureKeyVaultConfig) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureKeyVaultConfig.
|
|
func (in *AzureKeyVaultConfig) DeepCopy() *AzureKeyVaultConfig {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(AzureKeyVaultConfig)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *CounterMetric) DeepCopyInto(out *CounterMetric) {
|
|
*out = *in
|
|
if in.Labels != nil {
|
|
in, out := &in.Labels, &out.Labels
|
|
*out = make([]string, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CounterMetric.
|
|
func (in *CounterMetric) DeepCopy() *CounterMetric {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(CounterMetric)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *EphemeralRunner) DeepCopyInto(out *EphemeralRunner) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
|
in.Spec.DeepCopyInto(&out.Spec)
|
|
in.Status.DeepCopyInto(&out.Status)
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralRunner.
|
|
func (in *EphemeralRunner) DeepCopy() *EphemeralRunner {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(EphemeralRunner)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *EphemeralRunner) DeepCopyObject() runtime.Object {
|
|
if c := in.DeepCopy(); c != nil {
|
|
return c
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *EphemeralRunnerList) DeepCopyInto(out *EphemeralRunnerList) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
|
if in.Items != nil {
|
|
in, out := &in.Items, &out.Items
|
|
*out = make([]EphemeralRunner, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralRunnerList.
|
|
func (in *EphemeralRunnerList) DeepCopy() *EphemeralRunnerList {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(EphemeralRunnerList)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *EphemeralRunnerList) DeepCopyObject() runtime.Object {
|
|
if c := in.DeepCopy(); c != nil {
|
|
return c
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *EphemeralRunnerSet) DeepCopyInto(out *EphemeralRunnerSet) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
|
in.Spec.DeepCopyInto(&out.Spec)
|
|
out.Status = in.Status
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralRunnerSet.
|
|
func (in *EphemeralRunnerSet) DeepCopy() *EphemeralRunnerSet {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(EphemeralRunnerSet)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *EphemeralRunnerSet) DeepCopyObject() runtime.Object {
|
|
if c := in.DeepCopy(); c != nil {
|
|
return c
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *EphemeralRunnerSetList) DeepCopyInto(out *EphemeralRunnerSetList) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
|
if in.Items != nil {
|
|
in, out := &in.Items, &out.Items
|
|
*out = make([]EphemeralRunnerSet, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralRunnerSetList.
|
|
func (in *EphemeralRunnerSetList) DeepCopy() *EphemeralRunnerSetList {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(EphemeralRunnerSetList)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *EphemeralRunnerSetList) DeepCopyObject() runtime.Object {
|
|
if c := in.DeepCopy(); c != nil {
|
|
return c
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *EphemeralRunnerSetSpec) DeepCopyInto(out *EphemeralRunnerSetSpec) {
|
|
*out = *in
|
|
in.EphemeralRunnerSpec.DeepCopyInto(&out.EphemeralRunnerSpec)
|
|
if in.EphemeralRunnerMetadata != nil {
|
|
in, out := &in.EphemeralRunnerMetadata, &out.EphemeralRunnerMetadata
|
|
*out = new(ResourceMeta)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralRunnerSetSpec.
|
|
func (in *EphemeralRunnerSetSpec) DeepCopy() *EphemeralRunnerSetSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(EphemeralRunnerSetSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *EphemeralRunnerSetStatus) DeepCopyInto(out *EphemeralRunnerSetStatus) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralRunnerSetStatus.
|
|
func (in *EphemeralRunnerSetStatus) DeepCopy() *EphemeralRunnerSetStatus {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(EphemeralRunnerSetStatus)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *EphemeralRunnerSpec) DeepCopyInto(out *EphemeralRunnerSpec) {
|
|
*out = *in
|
|
if in.GitHubServerTLS != nil {
|
|
in, out := &in.GitHubServerTLS, &out.GitHubServerTLS
|
|
*out = new(TLSConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.Proxy != nil {
|
|
in, out := &in.Proxy, &out.Proxy
|
|
*out = new(ProxyConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.VaultConfig != nil {
|
|
in, out := &in.VaultConfig, &out.VaultConfig
|
|
*out = new(VaultConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.EphemeralRunnerConfigSecretMetadata != nil {
|
|
in, out := &in.EphemeralRunnerConfigSecretMetadata, &out.EphemeralRunnerConfigSecretMetadata
|
|
*out = new(ResourceMeta)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
in.PodTemplateSpec.DeepCopyInto(&out.PodTemplateSpec)
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralRunnerSpec.
|
|
func (in *EphemeralRunnerSpec) DeepCopy() *EphemeralRunnerSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(EphemeralRunnerSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *EphemeralRunnerStatus) DeepCopyInto(out *EphemeralRunnerStatus) {
|
|
*out = *in
|
|
if in.Failures != nil {
|
|
in, out := &in.Failures, &out.Failures
|
|
*out = make(map[string]metav1.Time, len(*in))
|
|
for key, val := range *in {
|
|
(*out)[key] = *val.DeepCopy()
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralRunnerStatus.
|
|
func (in *EphemeralRunnerStatus) DeepCopy() *EphemeralRunnerStatus {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(EphemeralRunnerStatus)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *GaugeMetric) DeepCopyInto(out *GaugeMetric) {
|
|
*out = *in
|
|
if in.Labels != nil {
|
|
in, out := &in.Labels, &out.Labels
|
|
*out = make([]string, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GaugeMetric.
|
|
func (in *GaugeMetric) DeepCopy() *GaugeMetric {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(GaugeMetric)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *HistogramMetric) DeepCopyInto(out *HistogramMetric) {
|
|
*out = *in
|
|
if in.Labels != nil {
|
|
in, out := &in.Labels, &out.Labels
|
|
*out = make([]string, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
if in.Buckets != nil {
|
|
in, out := &in.Buckets, &out.Buckets
|
|
*out = make([]float64, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HistogramMetric.
|
|
func (in *HistogramMetric) DeepCopy() *HistogramMetric {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(HistogramMetric)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *ListenerConfig) DeepCopyInto(out *ListenerConfig) {
|
|
*out = *in
|
|
if in.Scaler != nil {
|
|
in, out := &in.Scaler, &out.Scaler
|
|
*out = new(ScalerConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListenerConfig.
|
|
func (in *ListenerConfig) DeepCopy() *ListenerConfig {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(ListenerConfig)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *MetricsConfig) DeepCopyInto(out *MetricsConfig) {
|
|
*out = *in
|
|
if in.Counters != nil {
|
|
in, out := &in.Counters, &out.Counters
|
|
*out = make(map[string]*CounterMetric, len(*in))
|
|
for key, val := range *in {
|
|
var outVal *CounterMetric
|
|
if val == nil {
|
|
(*out)[key] = nil
|
|
} else {
|
|
inVal := (*in)[key]
|
|
in, out := &inVal, &outVal
|
|
*out = new(CounterMetric)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
(*out)[key] = outVal
|
|
}
|
|
}
|
|
if in.Gauges != nil {
|
|
in, out := &in.Gauges, &out.Gauges
|
|
*out = make(map[string]*GaugeMetric, len(*in))
|
|
for key, val := range *in {
|
|
var outVal *GaugeMetric
|
|
if val == nil {
|
|
(*out)[key] = nil
|
|
} else {
|
|
inVal := (*in)[key]
|
|
in, out := &inVal, &outVal
|
|
*out = new(GaugeMetric)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
(*out)[key] = outVal
|
|
}
|
|
}
|
|
if in.Histograms != nil {
|
|
in, out := &in.Histograms, &out.Histograms
|
|
*out = make(map[string]*HistogramMetric, len(*in))
|
|
for key, val := range *in {
|
|
var outVal *HistogramMetric
|
|
if val == nil {
|
|
(*out)[key] = nil
|
|
} else {
|
|
inVal := (*in)[key]
|
|
in, out := &inVal, &outVal
|
|
*out = new(HistogramMetric)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
(*out)[key] = outVal
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricsConfig.
|
|
func (in *MetricsConfig) DeepCopy() *MetricsConfig {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(MetricsConfig)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *ProxyConfig) DeepCopyInto(out *ProxyConfig) {
|
|
*out = *in
|
|
if in.HTTP != nil {
|
|
in, out := &in.HTTP, &out.HTTP
|
|
*out = new(ProxyServerConfig)
|
|
**out = **in
|
|
}
|
|
if in.HTTPS != nil {
|
|
in, out := &in.HTTPS, &out.HTTPS
|
|
*out = new(ProxyServerConfig)
|
|
**out = **in
|
|
}
|
|
if in.NoProxy != nil {
|
|
in, out := &in.NoProxy, &out.NoProxy
|
|
*out = make([]string, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyConfig.
|
|
func (in *ProxyConfig) DeepCopy() *ProxyConfig {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(ProxyConfig)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *ProxyServerConfig) DeepCopyInto(out *ProxyServerConfig) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxyServerConfig.
|
|
func (in *ProxyServerConfig) DeepCopy() *ProxyServerConfig {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(ProxyServerConfig)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *ResourceMeta) DeepCopyInto(out *ResourceMeta) {
|
|
*out = *in
|
|
if in.Labels != nil {
|
|
in, out := &in.Labels, &out.Labels
|
|
*out = make(map[string]string, len(*in))
|
|
for key, val := range *in {
|
|
(*out)[key] = val
|
|
}
|
|
}
|
|
if in.Annotations != nil {
|
|
in, out := &in.Annotations, &out.Annotations
|
|
*out = make(map[string]string, len(*in))
|
|
for key, val := range *in {
|
|
(*out)[key] = val
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceMeta.
|
|
func (in *ResourceMeta) DeepCopy() *ResourceMeta {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(ResourceMeta)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *ScalerConfig) DeepCopyInto(out *ScalerConfig) {
|
|
*out = *in
|
|
if in.QPS != nil {
|
|
in, out := &in.QPS, &out.QPS
|
|
*out = new(int)
|
|
**out = **in
|
|
}
|
|
if in.Burst != nil {
|
|
in, out := &in.Burst, &out.Burst
|
|
*out = new(int)
|
|
**out = **in
|
|
}
|
|
if in.Workers != nil {
|
|
in, out := &in.Workers, &out.Workers
|
|
*out = new(int)
|
|
**out = **in
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalerConfig.
|
|
func (in *ScalerConfig) DeepCopy() *ScalerConfig {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(ScalerConfig)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TLSCertificateSource) DeepCopyInto(out *TLSCertificateSource) {
|
|
*out = *in
|
|
if in.ConfigMapKeyRef != nil {
|
|
in, out := &in.ConfigMapKeyRef, &out.ConfigMapKeyRef
|
|
*out = new(v1.ConfigMapKeySelector)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSCertificateSource.
|
|
func (in *TLSCertificateSource) DeepCopy() *TLSCertificateSource {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TLSCertificateSource)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TLSConfig) DeepCopyInto(out *TLSConfig) {
|
|
*out = *in
|
|
if in.CertificateFrom != nil {
|
|
in, out := &in.CertificateFrom, &out.CertificateFrom
|
|
*out = new(TLSCertificateSource)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.
|
|
func (in *TLSConfig) DeepCopy() *TLSConfig {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TLSConfig)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *VaultConfig) DeepCopyInto(out *VaultConfig) {
|
|
*out = *in
|
|
if in.AzureKeyVault != nil {
|
|
in, out := &in.AzureKeyVault, &out.AzureKeyVault
|
|
*out = new(AzureKeyVaultConfig)
|
|
**out = **in
|
|
}
|
|
if in.Proxy != nil {
|
|
in, out := &in.Proxy, &out.Proxy
|
|
*out = new(ProxyConfig)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultConfig.
|
|
func (in *VaultConfig) DeepCopy() *VaultConfig {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(VaultConfig)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|