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 ¶
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 ¶
func (in *EmergencyAccountList) DeepCopy() *EmergencyAccountList
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 ¶
func (in *EmergencyAccountSpec) DeepCopy() *EmergencyAccountSpec
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"` // LastTokenStoreConfigurationHashes is the hash of the last token store configuration. // It is used to detect changes in the token store configuration. // A change in the configuration triggers the creation of a new token. LastTokenStoreHashes []TokenStoreHash `json:"lastTokenStoreConfigurationHashes,omitempty"` }
EmergencyAccountStatus defines the observed state of EmergencyAccount
func (*EmergencyAccountStatus) DeepCopy ¶
func (in *EmergencyAccountStatus) DeepCopy() *EmergencyAccountStatus
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 { // AdditionalFields is a map of additional fields to log. AdditionalFields map[string]string `json:"additionalFields,omitempty"` }
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 S3EncryptionSpec ¶ added in v0.3.0
type S3EncryptionSpec struct { // Encrypt defines if the tokens should be encrypted. // If not set, the tokens are stored unencrypted. Encrypt bool `json:"encrypt,omitempty"` // PGPKeys is a list of PGP public keys to encrypt the tokens with. // At least one key must be given if encryption is enabled. PGPKeys []string `json:"pgpKeys,omitempty"` }
func (*S3EncryptionSpec) DeepCopy ¶ added in v0.3.0
func (in *S3EncryptionSpec) DeepCopy() *S3EncryptionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3EncryptionSpec.
func (*S3EncryptionSpec) DeepCopyInto ¶ added in v0.3.0
func (in *S3EncryptionSpec) DeepCopyInto(out *S3EncryptionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3Spec ¶ added in v0.3.0
type S3Spec struct { // Endpoint is the S3 endpoint to use. Endpoint string `json:"endpoint"` // Bucket is the S3 bucket to use. Bucket string `json:"bucket"` // AccessKeyId and SecretAccessKey are the S3 credentials to use. AccessKeyId string `json:"accessKeyId"` // SecretAccessKey is the S3 secret access key to use. SecretAccessKey string `json:"secretAccessKey"` // Region is the AWS region to use. Region string `json:"region,omitempty"` // Insecure allows to use an insecure connection to the S3 endpoint. Insecure bool `json:"insecure,omitempty"` }
func (*S3Spec) DeepCopy ¶ added in v0.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Spec.
func (*S3Spec) DeepCopyInto ¶ added in v0.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type S3StoreSpec ¶ added in v0.3.0
type S3StoreSpec struct { // ObjectNameTemplate is the template for the object name to use. // Sprig functions can be used to generate the object name. // If not set, the object name is the name of the EmergencyAccount. // The name of the EmergencyAccount can be accessed with `{{ .Name }}`. // The namespace of the EmergencyAccount can be accessed with `{{ .Namespace }}`. // The full EmergencyAccount object can be accessed with `{{ .EmergencyAccount }}`. // Additional context can be passed with the `objectNameTemplateContext` field and is accessible with `{{ .Context.<key> }}`. // +kubebuilder:validation:Optional ObjectNameTemplate string `json:"objectNameTemplate,omitempty"` // ObjectNameTemplateContext is the additional context to use for the object name template. // +kubebuilder:validation:Optional ObjectNameTemplateContext map[string]string `json:"objectNameTemplateContext,omitempty"` S3 S3Spec `json:"s3"` // Encryption defines the encryption settings for the S3 store. // If not set, the tokens are stored unencrypted. // +kubebuilder:validation:Optional Encryption S3EncryptionSpec `json:"encryption,omitempty"` }
S3StoreSpec configures the S3 store. The S3 store saves the tokens in an S3 bucket with optional encryption using PGP public keys.
func (*S3StoreSpec) DeepCopy ¶ added in v0.3.0
func (in *S3StoreSpec) DeepCopy() *S3StoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3StoreSpec.
func (*S3StoreSpec) DeepCopyInto ¶ added in v0.3.0
func (in *S3StoreSpec) DeepCopyInto(out *S3StoreSpec)
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 TokenStoreHash ¶ added in v0.4.0
type TokenStoreHash struct { // Name is the name of the store. Name string `json:"name"` // Sha256 is the hash of the store configuration. Sha256 string `json:"hash"` }
func (*TokenStoreHash) DeepCopy ¶ added in v0.4.0
func (in *TokenStoreHash) DeepCopy() *TokenStoreHash
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenStoreHash.
func (*TokenStoreHash) DeepCopyInto ¶ added in v0.4.0
func (in *TokenStoreHash) DeepCopyInto(out *TokenStoreHash)
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`, `s3`, and `log` stores are supported. // The stores can be further configured in the corresponding storeSpec. // +kubebuilder:validation:Required // +kubebuilder:validation:Enum=secret;log;s3 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"` // S3Spec configures the S3 store. // The S3 store saves the tokens in an S3 bucket. S3Spec S3StoreSpec `json:"s3Store,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.