mirror of
https://github.com/actions-runner-controller/actions-runner-controller.git
synced 2026-10-06 11:41:26 +02:00
The scaler issued every API call a message asked for before returning, and the listener acks only once it returns. A full batch of job started events is 50 of them, two calls each, so the next scale decision sat behind 100 calls of bookkeeping. Those patches are not what new jobs wait on. Only the desired runner count creates runners; Status.JobID is a hint the runner set consults when choosing which idle runner to delete, and the Actions service rejects the deletion of a runner whose job is still running either way. Publish the desired count first, hand the job started events to a background pool, and acquire after. Acquiring last costs the round trip of the scale patch and saves the whole batch, and the scale decision is unaffected: it comes from msg.Statistics, a snapshot the service took when it built the message, so jobs acquired now are reported as assigned in a later one. Give the two kinds of traffic their own clients. Sharing one token bucket is what let the job patches delay the scale patch, so splitting them is what makes the reordering worth anything; backgrounding alone would just move the same queue. Measured against a 5ms API server and a 50ms Actions service, at a full 50 event batch: scale patch reaches the API server 1.971s -> 6ms listener loop 2.02s -> 107ms/msg The loop no longer spends the rate limit inline, so its cost is now the two service round trips rather than the batch size. This does not raise throughput. Job patches still cost two calls per event, so the job client sustains qps/2 job starts per second, and the queue is bounded by the real job start rate rather than by how fast the listener polls: a faster loop polls more often and carries proportionally fewer events. Measured at qps 40, the queue stays empty through 18 starts/sec and degrades gradually past 20 rather than falling over. Close drains the queue, since the message these patches came from was acked long before they run. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
901 lines
26 KiB
Go
Generated
901 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.ScaleQPS != nil {
|
|
in, out := &in.ScaleQPS, &out.ScaleQPS
|
|
*out = new(int)
|
|
**out = **in
|
|
}
|
|
if in.ScaleBurst != nil {
|
|
in, out := &in.ScaleBurst, &out.ScaleBurst
|
|
*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
|
|
}
|