v1alpha1

package
v0.5.3 Latest Latest
Warning

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

Go to latest
Published: Nov 22, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the xo v1alpha1 API group +kubebuilder:object:generate=true +groupName=xo.90poe.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "xo.90poe.io", Version: "v1alpha1"}

	// 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 VaultCertificate added in v0.3.7

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

	Spec   VaultCertificateSpec   `json:"spec,omitempty"`
	Status VaultCertificateStatus `json:"status,omitempty"`
}

VaultCertificate is the Schema for the vaultcertificates API

func (*VaultCertificate) DeepCopy added in v0.3.7

func (in *VaultCertificate) DeepCopy() *VaultCertificate

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

func (*VaultCertificate) DeepCopyInto added in v0.3.7

func (in *VaultCertificate) DeepCopyInto(out *VaultCertificate)

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

func (*VaultCertificate) DeepCopyObject added in v0.3.7

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

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

type VaultCertificateList added in v0.3.7

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

VaultCertificateList contains a list of VaultCertificate

func (*VaultCertificateList) DeepCopy added in v0.3.7

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

func (*VaultCertificateList) DeepCopyInto added in v0.3.7

func (in *VaultCertificateList) DeepCopyInto(out *VaultCertificateList)

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

func (*VaultCertificateList) DeepCopyObject added in v0.3.7

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

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

type VaultCertificateSpec added in v0.3.7

type VaultCertificateSpec struct {

	// +kubebuilder:validation:MinLength=3
	// +kubebuilder:validation:MaxLength=255
	// +kubebuilder:validation:Pattern=`^[^-_+A-Z][^A-Z\\\/\*\?"\<\> ,|#]{1,254}$`
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// Path PKI in Vault.
	// +kubebuilder:validation:MaxLength=255
	// +kubebuilder:validation:Required
	VaultPKIPath string `json:"vault_pki_path"`
	// For future use of ec and ecdsa
	// +kubebuilder:default=rsa
	// +kubebuilder:validation:Pattern=`^(rsa|ec|ecdsa)$`
	KeyType string `json:"key_type,omitempty"`
	// Key length
	// +kubebuilder:default=4096
	KeyLength uint `json:"key_length,omitempty"`
	// Key ECDSA curve
	// +kubebuilder:validation:Pattern=`^(p224|p256|p384|p521)$`
	ECDSACurve string `json:"ecdsa_curve,omitempty"`
	// +kubebuilder:validation:Required
	CommonName string `json:"cn"`
	// Alternative names if you need more than one
	// CommonName will be added automatically
	AltNames []string `json:"alt_names,omitempty"`
	// What is TTL for certificate (in seconds).
	// Min 5 minutes, Max 1 year (in seconds). Default 24 hours
	//+kubebuilder:validation:Minimum=300
	//+kubebuilder:validation:Maximum=31536000
	//+kubebuilder:default=86400
	CertTTL int `json:"cert_ttl,omitempty"`
	// Type is the type of the Kubernetes secret, which will be created by the
	// Type of secret. Default kubernetes.io/tls
	//+kubebuilder:default=kubernetes.io/tls
	Type corev1.SecretType `json:"type,omitempty"`
	// ManualCreateSecret if true, then secret will not be created automatically
	// +kubebuilder:default=true
	// +kubebuilder:validation:Format=`^(true|false)$`
	ManualCreateSecret bool `json:"manual_create_secret,omitempty"`
}

VaultCertificateSpec defines the desired state of VaultCertificate

func (*VaultCertificateSpec) DeepCopy added in v0.3.7

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

func (*VaultCertificateSpec) DeepCopyInto added in v0.3.7

func (in *VaultCertificateSpec) DeepCopyInto(out *VaultCertificateSpec)

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

type VaultCertificateStatus added in v0.3.7

type VaultCertificateStatus struct {

	// Condition store the status condition of the VaultCertificate instances
	// +operator-sdk:csv:customresourcedefinitions:type=status
	Condition metav1.Condition `json:"condition,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
	// Cert expire date
	CertValidUntil metav1.Time `json:"cert_valid_until,omitempty"`
}

VaultCertificateStatus defines the observed state of VaultCertificate

func (*VaultCertificateStatus) DeepCopy added in v0.3.7

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

func (*VaultCertificateStatus) DeepCopyInto added in v0.3.7

func (in *VaultCertificateStatus) DeepCopyInto(out *VaultCertificateStatus)

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

type VaultSecret

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

	Spec   VaultSecretSpec   `json:"spec,omitempty"`
	Status VaultSecretStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status VaultSecret is the Schema for the vaultsecrets API

func (*VaultSecret) DeepCopy

func (in *VaultSecret) DeepCopy() *VaultSecret

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

func (*VaultSecret) DeepCopyInto

func (in *VaultSecret) DeepCopyInto(out *VaultSecret)

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

func (*VaultSecret) DeepCopyObject

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

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

type VaultSecretList

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

+kubebuilder:object:root=true VaultSecretList contains a list of VaultSecret

func (*VaultSecretList) DeepCopy

func (in *VaultSecretList) DeepCopy() *VaultSecretList

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

func (*VaultSecretList) DeepCopyInto

func (in *VaultSecretList) DeepCopyInto(out *VaultSecretList)

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

func (*VaultSecretList) DeepCopyObject

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

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

type VaultSecretSpec

type VaultSecretSpec struct {

	//+kubebuilder:validation:MinLength=3
	//+kubebuilder:validation:MaxLength=255
	//+kubebuilder:validation:Pattern=`^[^-_+A-Z][^A-Z\\\/\*\?"\<\> ,|#]{1,254}$`
	Name string `json:"name"`
	// Path is map of secrets and their path in Vault. Keys would be ported to
	// secrets and values would be taken from Vault secrets values.
	// NOTE: 'value' keys in Vault would be base64 encoded for K8S secrets and
	//       'base64_values' keys in Vault would not be encoded for K8S secrets
	SecretsPaths map[string]string `json:"secrets_paths"`
	// ProvidedSecrets are secrets, which we don't need to look for in Vault,
	//  but take from this structure and push to final secret verbatim.
	//  Required for mixed secrets, where part is from Vault, part is provided in CRD.
	ProvidedSecrets map[string]string `json:"provided_secrets,omitempty"`
	// How offten to re-read secrets from Vault (in seconds).
	// Min 5 minutes, Max 1 year (in seconds). Default 24 hours
	//+kubebuilder:validation:Minimum=300
	//+kubebuilder:validation:Maximum=31536000
	//+kubebuilder:default=86400
	ReReadIntervals int64 `json:"reread_intervals,omitempty"`
	// Type is the type of the Kubernetes secret, which will be created by the
	// VaultSecrets Operator. Default Opaque
	//+kubebuilder:default=Opaque
	Type corev1.SecretType `json:"type,omitempty"`
}

VaultSecretSpec defines the desired state of VaultSecret

func (*VaultSecretSpec) DeepCopy

func (in *VaultSecretSpec) DeepCopy() *VaultSecretSpec

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

func (*VaultSecretSpec) DeepCopyInto

func (in *VaultSecretSpec) DeepCopyInto(out *VaultSecretSpec)

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

type VaultSecretStatus

type VaultSecretStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html
	// Unix timestamp when secret was read last time, required for re-reading schedule.
	//  If LastReadTime < now().Seconds() - ReReadIntervals, then operator would re-read values from Vault
	LastReadTime int64 `json:"last_read_time"`
	// LatestError would hold error, if last operation was un-successful, or it would be empty otherways
	// +optional
	LatestError string `json:"latest_error,omitempty"`
}

VaultSecretStatus defines the observed state of VaultSecret

func (*VaultSecretStatus) DeepCopy

func (in *VaultSecretStatus) DeepCopy() *VaultSecretStatus

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

func (*VaultSecretStatus) DeepCopyInto

func (in *VaultSecretStatus) DeepCopyInto(out *VaultSecretStatus)

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