v1beta1

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 3, 2023 License: BSD-3-Clause Imports: 5 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the cluster.appuio.io v1beta1 API group +kubebuilder:object:generate=true +groupName=cluster.appuio.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "cluster.appuio.io", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type EmergencyAccount

type EmergencyAccount struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   EmergencyAccountSpec   `json:"spec,omitempty"`
	Status EmergencyAccountStatus `json:"status,omitempty"`
}

EmergencyAccount is the Schema for the emergencyaccounts API

func (*EmergencyAccount) DeepCopy

func (in *EmergencyAccount) DeepCopy() *EmergencyAccount

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmergencyAccount.

func (*EmergencyAccount) DeepCopyInto

func (in *EmergencyAccount) DeepCopyInto(out *EmergencyAccount)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EmergencyAccount) DeepCopyObject

func (in *EmergencyAccount) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type EmergencyAccountList

type EmergencyAccountList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []EmergencyAccount `json:"items"`
}

EmergencyAccountList contains a list of EmergencyAccount

func (*EmergencyAccountList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmergencyAccountList.

func (*EmergencyAccountList) DeepCopyInto

func (in *EmergencyAccountList) DeepCopyInto(out *EmergencyAccountList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EmergencyAccountList) DeepCopyObject

func (in *EmergencyAccountList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type EmergencyAccountSpec

type EmergencyAccountSpec struct {
	// ValidityDuration is the duration for which the tokens are valid.
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Format=duration
	// +kubebuilder:default:="720h"
	ValidityDuration metav1.Duration `json:"validityDuration"`

	// MinValidityDurationLeft is the minimum duration the token must be valid.
	// A new token is created if the current token is not valid for this duration anymore.
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Format=duration
	// +kubebuilder:default:="168h"
	// +kubebuilder:validation:Optional
	MinValidityDurationLeft metav1.Duration `json:"minValidityDurationLeft,omitempty"`

	// CheckInterval is the interval in which the tokens are checked for validity.
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Format=duration
	// +kubebuilder:default:="5m"
	CheckInterval metav1.Duration `json:"checkInterval,omitempty"`
	// MinRecreateInterval is the minimum interval in which a new token is created.
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Format=duration
	// +kubebuilder:default:="5m"
	MinRecreateInterval metav1.Duration `json:"minRecreateInterval,omitempty"`

	// TokenStore defines the stores the created tokens are stored in.
	// +kubebuilder:validation:MinItems=1
	TokenStores []TokenStoreSpec `json:"tokenStores,omitempty"`
}

EmergencyAccountSpec defines the desired state of EmergencyAccount

func (*EmergencyAccountSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmergencyAccountSpec.

func (*EmergencyAccountSpec) DeepCopyInto

func (in *EmergencyAccountSpec) DeepCopyInto(out *EmergencyAccountSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EmergencyAccountStatus

type EmergencyAccountStatus struct {
	// LastTokenCreationTimestamp is the timestamp when the last token was created.
	LastTokenCreationTimestamp metav1.Time `json:"lastTokenCreationTimestamp,omitempty"`
	// Tokens is a list of tokens that have been created
	Tokens []TokenStatus `json:"tokens,omitempty"`
}

EmergencyAccountStatus defines the observed state of EmergencyAccount

func (*EmergencyAccountStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmergencyAccountStatus.

func (*EmergencyAccountStatus) DeepCopyInto

func (in *EmergencyAccountStatus) DeepCopyInto(out *EmergencyAccountStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LogStoreSpec

type LogStoreSpec struct{}

LogStoreSpec configures the log store. The log store outputs the token to the log but does not store it anywhere.

func (*LogStoreSpec) DeepCopy

func (in *LogStoreSpec) DeepCopy() *LogStoreSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogStoreSpec.

func (*LogStoreSpec) DeepCopyInto

func (in *LogStoreSpec) DeepCopyInto(out *LogStoreSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretStoreSpec

type SecretStoreSpec struct{}

SecretStoreSpec configures the secret store. The secret store saves the tokens in a secret in the same namespace as the EmergencyAccount.

func (*SecretStoreSpec) DeepCopy

func (in *SecretStoreSpec) DeepCopy() *SecretStoreSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretStoreSpec.

func (*SecretStoreSpec) DeepCopyInto

func (in *SecretStoreSpec) DeepCopyInto(out *SecretStoreSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TokenStatus

type TokenStatus struct {
	// UID is the unique identifier of the token.
	// Currently only used for error messages.
	UID types.UID `json:"uid,omitempty"`
	// Refs holds references to the token in the configured stores.
	Refs []TokenStatusRef `json:"refs,omitempty"`
	// ExpirationTimestamp is the timestamp when the token expires
	ExpirationTimestamp metav1.Time `json:"expirationTimestamp"`
}

TokenStatus defines the observed state of the managed token

func (*TokenStatus) DeepCopy

func (in *TokenStatus) DeepCopy() *TokenStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenStatus.

func (*TokenStatus) DeepCopyInto

func (in *TokenStatus) DeepCopyInto(out *TokenStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TokenStatusRef

type TokenStatusRef struct {
	// Ref is a reference to the token. The used storage should be able to uniquely identify the token.
	// If no ref is given, the token is not checked for validity.
	// +kubebuilder:validation:Optional
	Ref string `json:"ref"`

	// Store is the name of the store the token is stored in.
	Store string `json:"store"`
}

func (*TokenStatusRef) DeepCopy

func (in *TokenStatusRef) DeepCopy() *TokenStatusRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenStatusRef.

func (*TokenStatusRef) DeepCopyInto

func (in *TokenStatusRef) DeepCopyInto(out *TokenStatusRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TokenStoreSpec

type TokenStoreSpec struct {
	// Name is the name of the store.
	// Must be unique within the EmergencyAccount
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// Type defines the type of the store to use.
	// Currently `secret“ and `log` stores are supported.
	// The stores can be further configured in the corresponding storeSpec.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=secret;log
	Type string `json:"type"`

	// SecretSpec configures the secret store.
	// The secret store saves the tokens in a secret in the same namespace as the EmergencyAccount.
	SecretSpec SecretStoreSpec `json:"secretStore,omitempty"`
	// LogSpec configures the log store.
	// The log store outputs the token to the log but does not store it anywhere.
	LogSpec LogStoreSpec `json:"logStore,omitempty"`
}

TokenStore defines the store the created tokens are stored in

func (*TokenStoreSpec) DeepCopy

func (in *TokenStoreSpec) DeepCopy() *TokenStoreSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenStoreSpec.

func (*TokenStoreSpec) DeepCopyInto

func (in *TokenStoreSpec) DeepCopyInto(out *TokenStoreSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL