a0ea13955e
The actual fix for the human-onboarding gap niklas/terdut-server#23 found -- not a terdut-server change at all. A team-scoped credential is already owner-equivalent for POST/GET/DELETE /api/teams/{teamID}/invites (requireTeamOwner's synthetic-membership mechanism, ratified not accidental per that repo's SERVICE-ACCOUNTS.md), and invite redemption bypasses signup_mode entirely -- this TerdutTeam controller just never grew a feature to use either fact. New spec.invite{enabled, role (member|owner, default member), maxUses (1-100, default 1)} and status.inviteSecretRef. The Secret lives in the TerdutTeam's OWN namespace, not the operator's: unlike status.credentialsSecretRef (a durable, high-privilege credential, kept operator-side per DESIGN.md §6), an invite is bounded and limited-use, meant for this namespace's own human operators to read and hand out -- same precedent as TerdutAlertSource's status.webhookURLSecretRef, same- namespace and OwnerReference'd so deleting the TerdutTeam garbage-collects it automatically. internal/controller/terdutteam_invite.go: mints on first spec.invite.enabled, refreshes a day ahead of terdut-server's fixed 7-day TTL (reading the Secret's own stored expiresAt, no extra server round-trip per reconcile), revokes server-side and deletes the Secret when flipped back to false. A lost invite Secret is silently re-minted rather than treated as unrecoverable the way TerdutAlertSource's webhook key is -- nothing external holds a durable dependency on one specific invite link staying stable, it's read once by one human and handed out. New tdclient.Invite/CreateInvite/RevokeInvite. New envtest coverage: mint into the team's own namespace, refresh-before-expiry, revoke-on-disable (internal/controller/terdutteam_controller_test.go's new "spec.invite" Describe block), plus the fake server growing invite support (terdutserver_controller_test.go) -- its handleTeamSubPath dispatcher was split further (deadman switches into their own handleDeadmanSubPath, matching the existing handleIntegrationSubPath precedent) to stay under golangci-lint's gocyclo threshold with the new route added. examples/demo updated to prove this end to end: 02-team-platform.yaml turns on spec.invite; run-demo.sh's bootstrap_login/join_demo_teams (the psql signup_mode flip + a direct team_members INSERT) are replaced by redeem_platform_invite (reads status.inviteSecretRef, a real POST /api/signup with the invite token) and join_payments_team (POST /api/teams/{teamID}/members using Payments' own credential and alice's user id resolved via GET /api/users, deliberately not given its own spec.invite, so the demo shows both onboarding paths this feature unlocks) -- zero kubectl exec/psql calls remain anywhere in the script. README.md's "First login" section rewritten to match; it no longer documents the admin-token curl call that 403s against current terdut-server (niklas/terdut-server#23). Depends on niklas/terdut-server#24 (the callerMayManageServiceAccount fix for terdut-operator#3) being released before this is deployed for real -- not required to build or test this change itself, since the envtest fake never modeled that authorization gap to begin with.
963 lines
28 KiB
Go
963 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 *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
|
|
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
|
|
}
|