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 ¶
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
func (in *VaultCertificateList) DeepCopy() *VaultCertificateList
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
func (in *VaultCertificateSpec) DeepCopy() *VaultCertificateSpec
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
func (in *VaultCertificateStatus) DeepCopy() *VaultCertificateStatus
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.