62664c93ff
Deleting a TerdutServer removed the credential Secrets but never touched the database, so a recreated one found a server that was already bootstrapped and no key for it: /api/bootstrap answered 403 and the operator stopped at BootstrapStateLost, whose message and DESIGN.md both said "delete and recreate". That is how the terdut-demo install on the cluster got stuck on 2026-10-03: Helm's cleanupOnFail deleted its TerdutServer after a failed upgrade, the recreate found the bootstrapped database, and it sat at Ready: False for five days until the database was reset by hand. Recreating cannot fix it, because the finalizer clears Secrets and the database is not its to reset, so "a fresh create starts clean" was only ever true when the database went with it. spec.credentials.deletionPolicy is Retain by default: the finalizer keeps the instance credential Secret (Delete removes it, as before). The bootstrap checkpoint is always removed. Before calling /api/bootstrap, reconcile now looks for the retained Secret and asks the server for the operator's own service account with its token. Accepted: adopt it and skip bootstrap. Rejected with 401/403: the Secret outlived a database reset, so ignore it and bootstrap like a first install, which replaces it. Any other error retries. terdut-server's own tests already call that endpoint with an instance-scoped key, so the permission is not new. BootstrapStateLost is still the answer when the server is bootstrapped and no credential it accepts survives, but its message now names the Secret to restore and says that recreating does not clear the database. DESIGN.md §6 says the same, and the chart passes the setting through as terdutServer.credentials.deletionPolicy. A retained Secret of a TerdutServer that is gone for good is an orphan to delete by hand. It is inert: nothing adopts it unless the server accepts the token. Checked on the kind demo with a locally built image against the real terdut-server v0.43.0: deleting the TerdutServer kept the Secret, recreating it reached Ready with the same credential (identical hash) and both TerdutTeams came back Ready with their original ids. The controller specs cover adoption, a rejected token after a reset, the bootstrapped-and-rejected failure, and both deletion policies. Co-authored-by: Claude <noreply@anthropic.com>
979 lines
28 KiB
Go
979 lines
28 KiB
Go
//go:build !ignore_autogenerated
|
|
|
|
// Code generated by controller-gen. DO NOT EDIT.
|
|
|
|
package v1alpha1
|
|
|
|
import (
|
|
corev1 "k8s.io/api/core/v1"
|
|
"k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
"k8s.io/apimachinery/pkg/runtime"
|
|
"k8s.io/apimachinery/pkg/util/intstr"
|
|
)
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *AllowedTeams) DeepCopyInto(out *AllowedTeams) {
|
|
*out = *in
|
|
in.Namespaces.DeepCopyInto(&out.Namespaces)
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedTeams.
|
|
func (in *AllowedTeams) DeepCopy() *AllowedTeams {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(AllowedTeams)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *AllowedTeamsNamespaces) DeepCopyInto(out *AllowedTeamsNamespaces) {
|
|
*out = *in
|
|
if in.Selector != nil {
|
|
in, out := &in.Selector, &out.Selector
|
|
*out = new(v1.LabelSelector)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedTeamsNamespaces.
|
|
func (in *AllowedTeamsNamespaces) DeepCopy() *AllowedTeamsNamespaces {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(AllowedTeamsNamespaces)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *CredentialsSpec) DeepCopyInto(out *CredentialsSpec) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialsSpec.
|
|
func (in *CredentialsSpec) DeepCopy() *CredentialsSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(CredentialsSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *DatabaseSpec) DeepCopyInto(out *DatabaseSpec) {
|
|
*out = *in
|
|
if in.PasswordSecretRef != nil {
|
|
in, out := &in.PasswordSecretRef, &out.PasswordSecretRef
|
|
*out = new(SecretKeyRef)
|
|
**out = **in
|
|
}
|
|
if in.PostgresClusterRef != nil {
|
|
in, out := &in.PostgresClusterRef, &out.PostgresClusterRef
|
|
*out = new(PostgresClusterRef)
|
|
**out = **in
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseSpec.
|
|
func (in *DatabaseSpec) DeepCopy() *DatabaseSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(DatabaseSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *DeadmanSpec) DeepCopyInto(out *DeadmanSpec) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeadmanSpec.
|
|
func (in *DeadmanSpec) DeepCopy() *DeadmanSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(DeadmanSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *EscalationLevel) DeepCopyInto(out *EscalationLevel) {
|
|
*out = *in
|
|
if in.Targets != nil {
|
|
in, out := &in.Targets, &out.Targets
|
|
*out = make([]EscalationTarget, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EscalationLevel.
|
|
func (in *EscalationLevel) DeepCopy() *EscalationLevel {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(EscalationLevel)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *EscalationTarget) DeepCopyInto(out *EscalationTarget) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EscalationTarget.
|
|
func (in *EscalationTarget) DeepCopy() *EscalationTarget {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(EscalationTarget)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *ImageSpec) DeepCopyInto(out *ImageSpec) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec.
|
|
func (in *ImageSpec) DeepCopy() *ImageSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(ImageSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *LocalSecretRef) DeepCopyInto(out *LocalSecretRef) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSecretRef.
|
|
func (in *LocalSecretRef) DeepCopy() *LocalSecretRef {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(LocalSecretRef)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *NetworkingSpec) DeepCopyInto(out *NetworkingSpec) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkingSpec.
|
|
func (in *NetworkingSpec) DeepCopy() *NetworkingSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(NetworkingSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *NotifySpec) DeepCopyInto(out *NotifySpec) {
|
|
*out = *in
|
|
if in.TokenSecretRef != nil {
|
|
in, out := &in.TokenSecretRef, &out.TokenSecretRef
|
|
*out = new(SecretKeyRef)
|
|
**out = **in
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotifySpec.
|
|
func (in *NotifySpec) DeepCopy() *NotifySpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(NotifySpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *OIDCSpec) DeepCopyInto(out *OIDCSpec) {
|
|
*out = *in
|
|
if in.ClientSecretRef != nil {
|
|
in, out := &in.ClientSecretRef, &out.ClientSecretRef
|
|
*out = new(SecretKeyRef)
|
|
**out = **in
|
|
}
|
|
if in.AllowedGroups != nil {
|
|
in, out := &in.AllowedGroups, &out.AllowedGroups
|
|
*out = make([]string, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OIDCSpec.
|
|
func (in *OIDCSpec) DeepCopy() *OIDCSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(OIDCSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *PodDisruptionBudgetSpec) DeepCopyInto(out *PodDisruptionBudgetSpec) {
|
|
*out = *in
|
|
if in.MinAvailable != nil {
|
|
in, out := &in.MinAvailable, &out.MinAvailable
|
|
*out = new(intstr.IntOrString)
|
|
**out = **in
|
|
}
|
|
if in.MaxUnavailable != nil {
|
|
in, out := &in.MaxUnavailable, &out.MaxUnavailable
|
|
*out = new(intstr.IntOrString)
|
|
**out = **in
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodDisruptionBudgetSpec.
|
|
func (in *PodDisruptionBudgetSpec) DeepCopy() *PodDisruptionBudgetSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(PodDisruptionBudgetSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *PodSpec) DeepCopyInto(out *PodSpec) {
|
|
*out = *in
|
|
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
|
|
}
|
|
}
|
|
if in.NodeSelector != nil {
|
|
in, out := &in.NodeSelector, &out.NodeSelector
|
|
*out = make(map[string]string, len(*in))
|
|
for key, val := range *in {
|
|
(*out)[key] = val
|
|
}
|
|
}
|
|
if in.Tolerations != nil {
|
|
in, out := &in.Tolerations, &out.Tolerations
|
|
*out = make([]corev1.Toleration, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
if in.Affinity != nil {
|
|
in, out := &in.Affinity, &out.Affinity
|
|
*out = new(corev1.Affinity)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.TopologySpreadConstraints != nil {
|
|
in, out := &in.TopologySpreadConstraints, &out.TopologySpreadConstraints
|
|
*out = make([]corev1.TopologySpreadConstraint, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
in.Resources.DeepCopyInto(&out.Resources)
|
|
if in.SecurityContext != nil {
|
|
in, out := &in.SecurityContext, &out.SecurityContext
|
|
*out = new(corev1.PodSecurityContext)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.ContainerSecurityContext != nil {
|
|
in, out := &in.ContainerSecurityContext, &out.ContainerSecurityContext
|
|
*out = new(corev1.SecurityContext)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
if in.ExtraEnv != nil {
|
|
in, out := &in.ExtraEnv, &out.ExtraEnv
|
|
*out = make([]corev1.EnvVar, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
if in.ExtraEnvFrom != nil {
|
|
in, out := &in.ExtraEnvFrom, &out.ExtraEnvFrom
|
|
*out = make([]corev1.EnvFromSource, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
if in.ExtraVolumes != nil {
|
|
in, out := &in.ExtraVolumes, &out.ExtraVolumes
|
|
*out = make([]corev1.Volume, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
if in.ExtraVolumeMounts != nil {
|
|
in, out := &in.ExtraVolumeMounts, &out.ExtraVolumeMounts
|
|
*out = make([]corev1.VolumeMount, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
if in.ImagePullSecrets != nil {
|
|
in, out := &in.ImagePullSecrets, &out.ImagePullSecrets
|
|
*out = make([]corev1.LocalObjectReference, len(*in))
|
|
copy(*out, *in)
|
|
}
|
|
if in.DisruptionBudget != nil {
|
|
in, out := &in.DisruptionBudget, &out.DisruptionBudget
|
|
*out = new(PodDisruptionBudgetSpec)
|
|
(*in).DeepCopyInto(*out)
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSpec.
|
|
func (in *PodSpec) DeepCopy() *PodSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(PodSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *PostgresClusterRef) DeepCopyInto(out *PostgresClusterRef) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PostgresClusterRef.
|
|
func (in *PostgresClusterRef) DeepCopy() *PostgresClusterRef {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(PostgresClusterRef)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *SecretKeyRef) DeepCopyInto(out *SecretKeyRef) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeyRef.
|
|
func (in *SecretKeyRef) DeepCopy() *SecretKeyRef {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(SecretKeyRef)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *SweeperSpec) DeepCopyInto(out *SweeperSpec) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SweeperSpec.
|
|
func (in *SweeperSpec) DeepCopy() *SweeperSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(SweeperSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TerdutAlertSource) DeepCopyInto(out *TerdutAlertSource) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
|
out.Spec = in.Spec
|
|
in.Status.DeepCopyInto(&out.Status)
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutAlertSource.
|
|
func (in *TerdutAlertSource) DeepCopy() *TerdutAlertSource {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutAlertSource)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *TerdutAlertSource) 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 *TerdutAlertSourceList) DeepCopyInto(out *TerdutAlertSourceList) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
|
if in.Items != nil {
|
|
in, out := &in.Items, &out.Items
|
|
*out = make([]TerdutAlertSource, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutAlertSourceList.
|
|
func (in *TerdutAlertSourceList) DeepCopy() *TerdutAlertSourceList {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutAlertSourceList)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *TerdutAlertSourceList) 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 *TerdutAlertSourceSpec) DeepCopyInto(out *TerdutAlertSourceSpec) {
|
|
*out = *in
|
|
out.TeamRef = in.TeamRef
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutAlertSourceSpec.
|
|
func (in *TerdutAlertSourceSpec) DeepCopy() *TerdutAlertSourceSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutAlertSourceSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TerdutAlertSourceStatus) DeepCopyInto(out *TerdutAlertSourceStatus) {
|
|
*out = *in
|
|
if in.Conditions != nil {
|
|
in, out := &in.Conditions, &out.Conditions
|
|
*out = make([]v1.Condition, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
if in.WebhookURLSecretRef != nil {
|
|
in, out := &in.WebhookURLSecretRef, &out.WebhookURLSecretRef
|
|
*out = new(LocalSecretRef)
|
|
**out = **in
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutAlertSourceStatus.
|
|
func (in *TerdutAlertSourceStatus) DeepCopy() *TerdutAlertSourceStatus {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutAlertSourceStatus)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TerdutDeadmanSwitch) DeepCopyInto(out *TerdutDeadmanSwitch) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
|
out.Spec = in.Spec
|
|
in.Status.DeepCopyInto(&out.Status)
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutDeadmanSwitch.
|
|
func (in *TerdutDeadmanSwitch) DeepCopy() *TerdutDeadmanSwitch {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutDeadmanSwitch)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *TerdutDeadmanSwitch) 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 *TerdutDeadmanSwitchList) DeepCopyInto(out *TerdutDeadmanSwitchList) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
|
if in.Items != nil {
|
|
in, out := &in.Items, &out.Items
|
|
*out = make([]TerdutDeadmanSwitch, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutDeadmanSwitchList.
|
|
func (in *TerdutDeadmanSwitchList) DeepCopy() *TerdutDeadmanSwitchList {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutDeadmanSwitchList)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *TerdutDeadmanSwitchList) 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 *TerdutDeadmanSwitchSpec) DeepCopyInto(out *TerdutDeadmanSwitchSpec) {
|
|
*out = *in
|
|
out.TeamRef = in.TeamRef
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutDeadmanSwitchSpec.
|
|
func (in *TerdutDeadmanSwitchSpec) DeepCopy() *TerdutDeadmanSwitchSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutDeadmanSwitchSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TerdutDeadmanSwitchStatus) DeepCopyInto(out *TerdutDeadmanSwitchStatus) {
|
|
*out = *in
|
|
if in.Conditions != nil {
|
|
in, out := &in.Conditions, &out.Conditions
|
|
*out = make([]v1.Condition, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutDeadmanSwitchStatus.
|
|
func (in *TerdutDeadmanSwitchStatus) DeepCopy() *TerdutDeadmanSwitchStatus {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutDeadmanSwitchStatus)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TerdutEscalationRule) DeepCopyInto(out *TerdutEscalationRule) {
|
|
*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 TerdutEscalationRule.
|
|
func (in *TerdutEscalationRule) DeepCopy() *TerdutEscalationRule {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutEscalationRule)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *TerdutEscalationRule) 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 *TerdutEscalationRuleList) DeepCopyInto(out *TerdutEscalationRuleList) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
|
if in.Items != nil {
|
|
in, out := &in.Items, &out.Items
|
|
*out = make([]TerdutEscalationRule, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutEscalationRuleList.
|
|
func (in *TerdutEscalationRuleList) DeepCopy() *TerdutEscalationRuleList {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutEscalationRuleList)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *TerdutEscalationRuleList) 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 *TerdutEscalationRuleSpec) DeepCopyInto(out *TerdutEscalationRuleSpec) {
|
|
*out = *in
|
|
out.TeamRef = in.TeamRef
|
|
if in.Levels != nil {
|
|
in, out := &in.Levels, &out.Levels
|
|
*out = make([]EscalationLevel, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutEscalationRuleSpec.
|
|
func (in *TerdutEscalationRuleSpec) DeepCopy() *TerdutEscalationRuleSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutEscalationRuleSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TerdutEscalationRuleStatus) DeepCopyInto(out *TerdutEscalationRuleStatus) {
|
|
*out = *in
|
|
if in.Conditions != nil {
|
|
in, out := &in.Conditions, &out.Conditions
|
|
*out = make([]v1.Condition, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutEscalationRuleStatus.
|
|
func (in *TerdutEscalationRuleStatus) DeepCopy() *TerdutEscalationRuleStatus {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutEscalationRuleStatus)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TerdutServer) DeepCopyInto(out *TerdutServer) {
|
|
*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 TerdutServer.
|
|
func (in *TerdutServer) DeepCopy() *TerdutServer {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutServer)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *TerdutServer) 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 *TerdutServerList) DeepCopyInto(out *TerdutServerList) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
|
if in.Items != nil {
|
|
in, out := &in.Items, &out.Items
|
|
*out = make([]TerdutServer, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutServerList.
|
|
func (in *TerdutServerList) DeepCopy() *TerdutServerList {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutServerList)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *TerdutServerList) 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 *TerdutServerRef) DeepCopyInto(out *TerdutServerRef) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutServerRef.
|
|
func (in *TerdutServerRef) DeepCopy() *TerdutServerRef {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutServerRef)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TerdutServerSpec) DeepCopyInto(out *TerdutServerSpec) {
|
|
*out = *in
|
|
out.Image = in.Image
|
|
out.Networking = in.Networking
|
|
in.Database.DeepCopyInto(&out.Database)
|
|
out.Sweeper = in.Sweeper
|
|
out.Deadman = in.Deadman
|
|
out.Credentials = in.Credentials
|
|
in.Notify.DeepCopyInto(&out.Notify)
|
|
in.OIDC.DeepCopyInto(&out.OIDC)
|
|
in.AllowedTeams.DeepCopyInto(&out.AllowedTeams)
|
|
in.Pod.DeepCopyInto(&out.Pod)
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutServerSpec.
|
|
func (in *TerdutServerSpec) DeepCopy() *TerdutServerSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutServerSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TerdutServerStatus) DeepCopyInto(out *TerdutServerStatus) {
|
|
*out = *in
|
|
if in.Conditions != nil {
|
|
in, out := &in.Conditions, &out.Conditions
|
|
*out = make([]v1.Condition, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
if in.CredentialsSecretRef != nil {
|
|
in, out := &in.CredentialsSecretRef, &out.CredentialsSecretRef
|
|
*out = new(SecretKeyRef)
|
|
**out = **in
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutServerStatus.
|
|
func (in *TerdutServerStatus) DeepCopy() *TerdutServerStatus {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutServerStatus)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TerdutTeam) DeepCopyInto(out *TerdutTeam) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
|
out.Spec = in.Spec
|
|
in.Status.DeepCopyInto(&out.Status)
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutTeam.
|
|
func (in *TerdutTeam) DeepCopy() *TerdutTeam {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutTeam)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *TerdutTeam) 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 *TerdutTeamInvite) DeepCopyInto(out *TerdutTeamInvite) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutTeamInvite.
|
|
func (in *TerdutTeamInvite) DeepCopy() *TerdutTeamInvite {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutTeamInvite)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TerdutTeamList) DeepCopyInto(out *TerdutTeamList) {
|
|
*out = *in
|
|
out.TypeMeta = in.TypeMeta
|
|
in.ListMeta.DeepCopyInto(&out.ListMeta)
|
|
if in.Items != nil {
|
|
in, out := &in.Items, &out.Items
|
|
*out = make([]TerdutTeam, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutTeamList.
|
|
func (in *TerdutTeamList) DeepCopy() *TerdutTeamList {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutTeamList)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
|
|
func (in *TerdutTeamList) 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 *TerdutTeamOIDC) DeepCopyInto(out *TerdutTeamOIDC) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutTeamOIDC.
|
|
func (in *TerdutTeamOIDC) DeepCopy() *TerdutTeamOIDC {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutTeamOIDC)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TerdutTeamRef) DeepCopyInto(out *TerdutTeamRef) {
|
|
*out = *in
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutTeamRef.
|
|
func (in *TerdutTeamRef) DeepCopy() *TerdutTeamRef {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutTeamRef)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TerdutTeamSpec) DeepCopyInto(out *TerdutTeamSpec) {
|
|
*out = *in
|
|
out.ServerRef = in.ServerRef
|
|
out.OIDC = in.OIDC
|
|
out.Invite = in.Invite
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutTeamSpec.
|
|
func (in *TerdutTeamSpec) DeepCopy() *TerdutTeamSpec {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutTeamSpec)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|
|
|
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
|
func (in *TerdutTeamStatus) DeepCopyInto(out *TerdutTeamStatus) {
|
|
*out = *in
|
|
if in.Conditions != nil {
|
|
in, out := &in.Conditions, &out.Conditions
|
|
*out = make([]v1.Condition, len(*in))
|
|
for i := range *in {
|
|
(*in)[i].DeepCopyInto(&(*out)[i])
|
|
}
|
|
}
|
|
if in.CredentialsSecretRef != nil {
|
|
in, out := &in.CredentialsSecretRef, &out.CredentialsSecretRef
|
|
*out = new(SecretKeyRef)
|
|
**out = **in
|
|
}
|
|
if in.InviteSecretRef != nil {
|
|
in, out := &in.InviteSecretRef, &out.InviteSecretRef
|
|
*out = new(LocalSecretRef)
|
|
**out = **in
|
|
}
|
|
}
|
|
|
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerdutTeamStatus.
|
|
func (in *TerdutTeamStatus) DeepCopy() *TerdutTeamStatus {
|
|
if in == nil {
|
|
return nil
|
|
}
|
|
out := new(TerdutTeamStatus)
|
|
in.DeepCopyInto(out)
|
|
return out
|
|
}
|