Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the vault v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=vault.banzaicloud.com
Package v1alpha1 contains API Schema definitions for the vault v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=vault.banzaicloud.com
Index ¶
- Variables
- func Kind(kind string) schema.GroupKind
- func RegisterDefaults(scheme *runtime.Scheme) error
- func Resource(resource string) schema.GroupResource
- type AWSUnsealConfig
- type AlibabaUnsealConfig
- type AzureUnsealConfig
- type CredentialsConfig
- type EmbeddedObjectMetadata
- type EmbeddedPersistentVolumeClaim
- type EmbeddedPodSpec
- type GoogleUnsealConfig
- type HSMUnsealConfig
- type Ingress
- type KubernetesUnsealConfig
- type Resources
- type UnsealConfig
- type UnsealOptions
- type Vault
- func (vault *Vault) AsOwnerReference() metav1.OwnerReference
- func (v *Vault) ConfigJSON() ([]byte, error)
- func (in *Vault) DeepCopy() *Vault
- func (in *Vault) DeepCopyInto(out *Vault)
- func (in *Vault) DeepCopyObject() runtime.Object
- func (vault *Vault) GetIngress() *Ingress
- func (vault *Vault) LabelsForVault() map[string]string
- func (vault *Vault) LabelsForVaultConfigurer() map[string]string
- type VaultList
- type VaultSpec
- func (in *VaultSpec) DeepCopy() *VaultSpec
- func (in *VaultSpec) DeepCopyInto(out *VaultSpec)
- func (spec *VaultSpec) ExternalConfigJSON() []byte
- func (spec *VaultSpec) GetAPIPortName() string
- func (spec *VaultSpec) GetAPIScheme() string
- func (spec *VaultSpec) GetAnnotations() map[string]string
- func (spec *VaultSpec) GetBankVaultsImage() string
- func (spec *VaultSpec) GetFluentDConfMountPath() string
- func (spec *VaultSpec) GetFluentDImage() string
- func (spec *VaultSpec) GetHAStorage() map[string]interface{}
- func (spec *VaultSpec) GetHAStorageType() string
- func (spec *VaultSpec) GetServiceAccount() string
- func (spec *VaultSpec) GetStatsDImage() string
- func (spec *VaultSpec) GetStorage() map[string]interface{}
- func (spec *VaultSpec) GetStorageType() string
- func (spec *VaultSpec) GetTLSExpiryThreshold() time.Duration
- func (spec *VaultSpec) GetVaultAnnotations() map[string]string
- func (spec *VaultSpec) GetVaultConfig() map[string]interface{}
- func (spec *VaultSpec) GetVaultConfigurerAnnotations() map[string]string
- func (spec *VaultSpec) GetVaultConfigurerLabels() map[string]string
- func (spec *VaultSpec) GetVaultImage() string
- func (spec *VaultSpec) GetVaultLabels() map[string]string
- func (spec *VaultSpec) GetVeleroFsfreezeImage() string
- func (spec *VaultSpec) GetVersion() (*semver.Version, error)
- func (spec *VaultSpec) GetVolumeClaimTemplates() []v1.PersistentVolumeClaim
- func (spec *VaultSpec) GetWatchedSecretsAnnotations() []map[string]string
- func (spec *VaultSpec) GetWatchedSecretsLabels() []map[string]string
- func (spec *VaultSpec) HasHAStorage() bool
- func (spec *VaultSpec) HasStorageHAEnabled() bool
- func (spec *VaultSpec) IsAutoUnseal() bool
- func (spec *VaultSpec) IsFluentDEnabled() bool
- func (spec *VaultSpec) IsRaftBootstrapFollower() bool
- func (spec *VaultSpec) IsRaftHAStorage() bool
- func (spec *VaultSpec) IsRaftStorage() bool
- func (spec *VaultSpec) IsStatsDDisabled() bool
- func (spec *VaultSpec) IsTLSDisabled() bool
- func (spec *VaultSpec) IsTelemetryUnauthenticated() bool
- type VaultStatus
- type VaultUnsealConfig
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "vault.banzaicloud.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme helper AddToScheme = SchemeBuilder.AddToScheme )
var HAStorageTypes = map[string]bool{ "consul": true, "dynamodb": true, "etcd": true, "gcs": true, "mysql": true, "postgresql": true, "raft": true, "spanner": true, "zookeeper": true, }
HAStorageTypes is the set of storage backends supporting High Availability
Functions ¶
func RegisterDefaults ¶
RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AWSUnsealConfig ¶
type AWSUnsealConfig struct {
KMSKeyID string `json:"kmsKeyId"`
KMSRegion string `json:"kmsRegion,omitempty"`
S3Bucket string `json:"s3Bucket"`
S3Prefix string `json:"s3Prefix"`
S3Region string `json:"s3Region,omitempty"`
S3SSE string `json:"s3SSE,omitempty"`
}
AWSUnsealConfig holds the parameters for AWS KMS based unsealing
func (*AWSUnsealConfig) DeepCopy ¶
func (in *AWSUnsealConfig) DeepCopy() *AWSUnsealConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSUnsealConfig.
func (*AWSUnsealConfig) DeepCopyInto ¶
func (in *AWSUnsealConfig) DeepCopyInto(out *AWSUnsealConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AlibabaUnsealConfig ¶
type AlibabaUnsealConfig struct {
KMSRegion string `json:"kmsRegion"`
KMSKeyID string `json:"kmsKeyId"`
OSSEndpoint string `json:"ossEndpoint"`
OSSBucket string `json:"ossBucket"`
OSSPrefix string `json:"ossPrefix"`
}
AlibabaUnsealConfig holds the parameters for Alibaba Cloud KMS based unsealing
--alibaba-kms-region eu-central-1 --alibaba-kms-key-id 9d8063eb-f9dc-421b-be80-15d195c9f148 --alibaba-oss-endpoint oss-eu-central-1.aliyuncs.com --alibaba-oss-bucket bank-vaults
func (*AlibabaUnsealConfig) DeepCopy ¶
func (in *AlibabaUnsealConfig) DeepCopy() *AlibabaUnsealConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlibabaUnsealConfig.
func (*AlibabaUnsealConfig) DeepCopyInto ¶
func (in *AlibabaUnsealConfig) DeepCopyInto(out *AlibabaUnsealConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureUnsealConfig ¶
type AzureUnsealConfig struct {
KeyVaultName string `json:"keyVaultName"`
}
AzureUnsealConfig holds the parameters for Azure Key Vault based unsealing
func (*AzureUnsealConfig) DeepCopy ¶
func (in *AzureUnsealConfig) DeepCopy() *AzureUnsealConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureUnsealConfig.
func (*AzureUnsealConfig) DeepCopyInto ¶
func (in *AzureUnsealConfig) DeepCopyInto(out *AzureUnsealConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CredentialsConfig ¶
type CredentialsConfig struct {
Env string `json:"env"`
Path string `json:"path"`
SecretName string `json:"secretName"`
}
CredentialsConfig configuration for a credentials file provided as a secret
func (*CredentialsConfig) DeepCopy ¶
func (in *CredentialsConfig) DeepCopy() *CredentialsConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialsConfig.
func (*CredentialsConfig) DeepCopyInto ¶
func (in *CredentialsConfig) DeepCopyInto(out *CredentialsConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EmbeddedObjectMetadata ¶ added in v1.13.1
type EmbeddedObjectMetadata struct {
// Name must be unique within a namespace. Is required when creating resources, although
// some resources may allow a client to request the generation of an appropriate name
// automatically. Name is primarily intended for creation idempotence and configuration
// definition.
// Cannot be updated.
// More info: http://kubernetes.io/docs/user-guide/identifiers#names
// +optional
Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"`
// Map of string keys and values that can be used to organize and categorize
// (scope and select) objects. May match selectors of replication controllers
// and services.
// More info: http://kubernetes.io/docs/user-guide/labels
// +optional
Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,11,rep,name=labels"`
// Annotations is an unstructured key value map stored with a resource that may be
// set by external tools to store and retrieve arbitrary metadata. They are not
// queryable and should be preserved when modifying objects.
// More info: http://kubernetes.io/docs/user-guide/annotations
// +optional
Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,12,rep,name=annotations"`
}
EmbeddedObjectMetadata contains a subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta Only fields which are relevant to embedded resources are included. controller-gen discards embedded ObjectMetadata type fields, so we have to overcome this.
func (*EmbeddedObjectMetadata) DeepCopy ¶ added in v1.13.1
func (in *EmbeddedObjectMetadata) DeepCopy() *EmbeddedObjectMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddedObjectMetadata.
func (*EmbeddedObjectMetadata) DeepCopyInto ¶ added in v1.13.1
func (in *EmbeddedObjectMetadata) DeepCopyInto(out *EmbeddedObjectMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EmbeddedPersistentVolumeClaim ¶ added in v1.13.1
type EmbeddedPersistentVolumeClaim struct {
metav1.TypeMeta `json:",inline"`
// EmbeddedMetadata contains metadata relevant to an EmbeddedResource.
EmbeddedObjectMetadata `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Spec defines the desired characteristics of a volume requested by a pod author.
// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
// +optional
Spec v1.PersistentVolumeClaimSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}
EmbeddedPersistentVolumeClaim is an embeddable and controller-gen friendly version of k8s.io/api/core/v1.PersistentVolumeClaim. It contains TypeMeta and a reduced ObjectMeta.
func (*EmbeddedPersistentVolumeClaim) DeepCopy ¶ added in v1.13.1
func (in *EmbeddedPersistentVolumeClaim) DeepCopy() *EmbeddedPersistentVolumeClaim
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddedPersistentVolumeClaim.
func (*EmbeddedPersistentVolumeClaim) DeepCopyInto ¶ added in v1.13.1
func (in *EmbeddedPersistentVolumeClaim) DeepCopyInto(out *EmbeddedPersistentVolumeClaim)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EmbeddedPodSpec ¶ added in v1.13.1
type EmbeddedPodSpec struct {
// List of volumes that can be mounted by containers belonging to the pod.
// More info: https://kubernetes.io/docs/concepts/storage/volumes
// +optional
// +patchMergeKey=name
// +patchStrategy=merge,retainKeys
Volumes []v1.Volume `json:"volumes,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name" protobuf:"bytes,1,rep,name=volumes"`
// List of initialization containers belonging to the pod.
// Init containers are executed in order prior to containers being started. If any
// init container fails, the pod is considered to have failed and is handled according
// to its restartPolicy. The name for an init container or normal container must be
// unique among all containers.
// Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes.
// The resourceRequirements of an init container are taken into account during scheduling
// by finding the highest request/limit for each resource type, and then using the max of
// of that value or the sum of the normal containers. Limits are applied to init containers
// in a similar fashion.
// Init containers cannot currently be added or removed.
// Cannot be updated.
// More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
// +patchMergeKey=name
// +patchStrategy=merge
InitContainers []v1.Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,20,rep,name=initContainers"`
// List of containers belonging to the pod.
// Containers cannot currently be added or removed.
// There must be at least one container in a Pod.
// Cannot be updated.
// +patchMergeKey=name
// +patchStrategy=merge
Containers []v1.Container `json:"containers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=containers"`
// List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing
// pod to perform user-initiated actions such as debugging. This list cannot be specified when
// creating a pod, and it cannot be modified by updating the pod spec. In order to add an
// ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource.
// This field is alpha-level and is only honored by servers that enable the EphemeralContainers feature.
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
EphemeralContainers []v1.EphemeralContainer `` /* 128-byte string literal not displayed */
// Restart policy for all containers within the pod.
// One of Always, OnFailure, Never.
// Default to Always.
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy
// +optional
RestartPolicy v1.RestartPolicy `json:"restartPolicy,omitempty" protobuf:"bytes,3,opt,name=restartPolicy,casttype=RestartPolicy"`
// Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
// Value must be non-negative integer. The value zero indicates delete immediately.
// If this value is nil, the default grace period will be used instead.
// The grace period is the duration in seconds after the processes running in the pod are sent
// a termination signal and the time when the processes are forcibly halted with a kill signal.
// Set this value longer than the expected cleanup time for your process.
// Defaults to 30 seconds.
// +optional
TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty" protobuf:"varint,4,opt,name=terminationGracePeriodSeconds"`
// Optional duration in seconds the pod may be active on the node relative to
// StartTime before the system will actively try to mark it failed and kill associated containers.
// Value must be a positive integer.
// +optional
ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty" protobuf:"varint,5,opt,name=activeDeadlineSeconds"`
// Set DNS policy for the pod.
// Defaults to "ClusterFirst".
// Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'.
// DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy.
// To have DNS options set along with hostNetwork, you have to specify DNS policy
// explicitly to 'ClusterFirstWithHostNet'.
// +optional
DNSPolicy v1.DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,6,opt,name=dnsPolicy,casttype=DNSPolicy"`
// NodeSelector is a selector which must be true for the pod to fit on a node.
// Selector which must match a node's labels for the pod to be scheduled on that node.
// More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
// +optional
NodeSelector map[string]string `json:"nodeSelector,omitempty" protobuf:"bytes,7,rep,name=nodeSelector"`
// ServiceAccountName is the name of the ServiceAccount to use to run this pod.
// More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty" protobuf:"bytes,8,opt,name=serviceAccountName"`
// DeprecatedServiceAccount is a depreciated alias for ServiceAccountName.
// Deprecated: Use serviceAccountName instead.
// +k8s:conversion-gen=false
// +optional
DeprecatedServiceAccount string `json:"serviceAccount,omitempty" protobuf:"bytes,9,opt,name=serviceAccount"`
// AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.
// +optional
AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty" protobuf:"varint,21,opt,name=automountServiceAccountToken"`
// NodeName is a request to schedule this pod onto a specific node. If it is non-empty,
// the scheduler simply schedules this pod onto that node, assuming that it fits resource
// requirements.
// +optional
NodeName string `json:"nodeName,omitempty" protobuf:"bytes,10,opt,name=nodeName"`
// Host networking requested for this pod. Use the host's network namespace.
// If this option is set, the ports that will be used must be specified.
// Default to false.
// +k8s:conversion-gen=false
// +optional
HostNetwork bool `json:"hostNetwork,omitempty" protobuf:"varint,11,opt,name=hostNetwork"`
// Use the host's pid namespace.
// Optional: Default to false.
// +k8s:conversion-gen=false
// +optional
HostPID bool `json:"hostPID,omitempty" protobuf:"varint,12,opt,name=hostPID"`
// Use the host's ipc namespace.
// Optional: Default to false.
// +k8s:conversion-gen=false
// +optional
HostIPC bool `json:"hostIPC,omitempty" protobuf:"varint,13,opt,name=hostIPC"`
// When this is set containers will be able to view and signal processes from other containers
// in the same pod, and the first process in each container will not be assigned PID 1.
// HostPID and ShareProcessNamespace cannot both be set.
// Optional: Default to false.
// +k8s:conversion-gen=false
// +optional
ShareProcessNamespace *bool `json:"shareProcessNamespace,omitempty" protobuf:"varint,27,opt,name=shareProcessNamespace"`
// SecurityContext holds pod-level security attributes and common container settings.
// Optional: Defaults to empty. See type description for default values of each field.
// +optional
SecurityContext *v1.PodSecurityContext `json:"securityContext,omitempty" protobuf:"bytes,14,opt,name=securityContext"`
// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
// If specified, these secrets will be passed to individual puller implementations for them to use. For example,
// in the case of docker, only DockerConfig type secrets are honored.
// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
// +optional
// +patchMergeKey=name
// +patchStrategy=merge
ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,15,rep,name=imagePullSecrets"`
// Specifies the hostname of the Pod
// If not specified, the pod's hostname will be set to a system-defined value.
// +optional
Hostname string `json:"hostname,omitempty" protobuf:"bytes,16,opt,name=hostname"`
// If specified, the fully qualified Pod hostname will be "...svc.".
// If not specified, the pod will not have a domainname at all.
// +optional
Subdomain string `json:"subdomain,omitempty" protobuf:"bytes,17,opt,name=subdomain"`
// If specified, the pod's scheduling constraints
// +optional
Affinity *v1.Affinity `json:"affinity,omitempty" protobuf:"bytes,18,opt,name=affinity"`
// If specified, the pod will be dispatched by specified scheduler.
// If not specified, the pod will be dispatched by default scheduler.
// +optional
SchedulerName string `json:"schedulerName,omitempty" protobuf:"bytes,19,opt,name=schedulerName"`
// If specified, the pod's tolerations.
// +optional
Tolerations []v1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,22,opt,name=tolerations"`
// HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts
// file if specified. This is only valid for non-hostNetwork pods.
// +optional
// +patchMergeKey=ip
// +patchStrategy=merge
HostAliases []v1.HostAlias `json:"hostAliases,omitempty" patchStrategy:"merge" patchMergeKey:"ip" protobuf:"bytes,23,rep,name=hostAliases"`
// If specified, indicates the pod's priority. "system-node-critical" and
// "system-cluster-critical" are two special keywords which indicate the
// highest priorities with the former being the highest priority. Any other
// name must be defined by creating a PriorityClass object with that name.
// If not specified, the pod priority will be default or zero if there is no
// default.
// +optional
PriorityClassName string `json:"priorityClassName,omitempty" protobuf:"bytes,24,opt,name=priorityClassName"`
// The priority value. Various system components use this field to find the
// priority of the pod. When Priority Admission Controller is enabled, it
// prevents users from setting this field. The admission controller populates
// this field from PriorityClassName.
// The higher the value, the higher the priority.
// +optional
Priority *int32 `json:"priority,omitempty" protobuf:"bytes,25,opt,name=priority"`
// Specifies the DNS parameters of a pod.
// Parameters specified here will be merged to the generated DNS
// configuration based on DNSPolicy.
// +optional
DNSConfig *v1.PodDNSConfig `json:"dnsConfig,omitempty" protobuf:"bytes,26,opt,name=dnsConfig"`
// If specified, all readiness gates will be evaluated for pod readiness.
// A pod is ready when all its containers are ready AND
// all conditions specified in the readiness gates have status equal to "True"
// More info: https://git.k8s.io/enhancements/keps/sig-network/0007-pod-ready%2B%2B.md
// +optional
ReadinessGates []v1.PodReadinessGate `json:"readinessGates,omitempty" protobuf:"bytes,28,opt,name=readinessGates"`
// RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used
// to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run.
// If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an
// empty definition that uses the default runtime handler.
// More info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md
// This is a beta feature as of Kubernetes v1.14.
// +optional
RuntimeClassName *string `json:"runtimeClassName,omitempty" protobuf:"bytes,29,opt,name=runtimeClassName"`
// EnableServiceLinks indicates whether information about services should be injected into pod's
// environment variables, matching the syntax of Docker links.
// Optional: Defaults to true.
// +optional
EnableServiceLinks *bool `json:"enableServiceLinks,omitempty" protobuf:"varint,30,opt,name=enableServiceLinks"`
// PreemptionPolicy is the Policy for preempting pods with lower priority.
// One of Never, PreemptLowerPriority.
// Defaults to PreemptLowerPriority if unset.
// This field is beta-level, gated by the NonPreemptingPriority feature-gate.
// +optional
PreemptionPolicy *v1.PreemptionPolicy `json:"preemptionPolicy,omitempty" protobuf:"bytes,31,opt,name=preemptionPolicy"`
// Overhead represents the resource overhead associated with running a pod for a given RuntimeClass.
// This field will be autopopulated at admission time by the RuntimeClass admission controller. If
// the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests.
// The RuntimeClass admission controller will reject Pod create requests which have the overhead already
// set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value
// defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero.
// More info: https://git.k8s.io/enhancements/keps/sig-node/20190226-pod-overhead.md
// This field is alpha-level as of Kubernetes v1.16, and is only honored by servers that enable the PodOverhead feature.
// +optional
Overhead v1.ResourceList `json:"overhead,omitempty" protobuf:"bytes,32,opt,name=overhead"`
// TopologySpreadConstraints describes how a group of pods ought to spread across topology
// domains. Scheduler will schedule pods in a way which abides by the constraints.
// All topologySpreadConstraints are ANDed.
// +optional
// +patchMergeKey=topologyKey
// +patchStrategy=merge
// +listType=map
// +listMapKey=topologyKey
// +listMapKey=whenUnsatisfiable
TopologySpreadConstraints []v1.TopologySpreadConstraint `` /* 147-byte string literal not displayed */
// If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default).
// In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname).
// In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN.
// If a pod does not have FQDN, this has no effect.
// Default to false.
// +optional
SetHostnameAsFQDN *bool `json:"setHostnameAsFQDN,omitempty" protobuf:"varint,35,opt,name=setHostnameAsFQDN"`
}
EmbeddedPodSpec is a description of a pod, which allows containers to be missing, almost as k8s.io/api/core/v1.PodSpec.
func (*EmbeddedPodSpec) DeepCopy ¶ added in v1.13.1
func (in *EmbeddedPodSpec) DeepCopy() *EmbeddedPodSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbeddedPodSpec.
func (*EmbeddedPodSpec) DeepCopyInto ¶ added in v1.13.1
func (in *EmbeddedPodSpec) DeepCopyInto(out *EmbeddedPodSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GoogleUnsealConfig ¶
type GoogleUnsealConfig struct {
KMSKeyRing string `json:"kmsKeyRing"`
KMSCryptoKey string `json:"kmsCryptoKey"`
KMSLocation string `json:"kmsLocation"`
KMSProject string `json:"kmsProject"`
StorageBucket string `json:"storageBucket"`
}
GoogleUnsealConfig holds the parameters for Google KMS based unsealing
func (*GoogleUnsealConfig) DeepCopy ¶
func (in *GoogleUnsealConfig) DeepCopy() *GoogleUnsealConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GoogleUnsealConfig.
func (*GoogleUnsealConfig) DeepCopyInto ¶
func (in *GoogleUnsealConfig) DeepCopyInto(out *GoogleUnsealConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HSMUnsealConfig ¶
type HSMUnsealConfig struct {
Daemon bool `json:"daemon,omitempty"`
ModulePath string `json:"modulePath"`
SlotID uint `json:"slotId,omitempty"`
TokenLabel string `json:"tokenLabel,omitempty"`
Pin string `json:"pin"`
KeyLabel string `json:"keyLabel"`
}
HSMUnsealConfig holds the parameters for remote HSM based unsealing
func (*HSMUnsealConfig) DeepCopy ¶
func (in *HSMUnsealConfig) DeepCopy() *HSMUnsealConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HSMUnsealConfig.
func (*HSMUnsealConfig) DeepCopyInto ¶
func (in *HSMUnsealConfig) DeepCopyInto(out *HSMUnsealConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Ingress ¶
type Ingress struct {
Annotations map[string]string `json:"annotations,omitempty"`
Spec netv1.IngressSpec `json:"spec,omitempty"`
}
Ingress specification for the Vault cluster
func (*Ingress) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress.
func (*Ingress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesUnsealConfig ¶
type KubernetesUnsealConfig struct {
SecretNamespace string `json:"secretNamespace,omitempty"`
SecretName string `json:"secretName,omitempty"`
}
KubernetesUnsealConfig holds the parameters for Kubernetes based unsealing
func (*KubernetesUnsealConfig) DeepCopy ¶
func (in *KubernetesUnsealConfig) DeepCopy() *KubernetesUnsealConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesUnsealConfig.
func (*KubernetesUnsealConfig) DeepCopyInto ¶
func (in *KubernetesUnsealConfig) DeepCopyInto(out *KubernetesUnsealConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Resources ¶
type Resources struct {
Vault *v1.ResourceRequirements `json:"vault,omitempty"`
BankVaults *v1.ResourceRequirements `json:"bankVaults,omitempty"`
HSMDaemon *v1.ResourceRequirements `json:"hsmDaemon,omitempty"`
PrometheusExporter *v1.ResourceRequirements `json:"prometheusExporter,omitempty"`
FluentD *v1.ResourceRequirements `json:"fluentd,omitempty"`
}
Resources holds different container's ResourceRequirements
func (*Resources) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resources.
func (*Resources) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UnsealConfig ¶
type UnsealConfig struct {
Options UnsealOptions `json:"options,omitempty"`
Kubernetes KubernetesUnsealConfig `json:"kubernetes,omitempty"`
Google *GoogleUnsealConfig `json:"google,omitempty"`
Alibaba *AlibabaUnsealConfig `json:"alibaba,omitempty"`
Azure *AzureUnsealConfig `json:"azure,omitempty"`
AWS *AWSUnsealConfig `json:"aws,omitempty"`
Vault *VaultUnsealConfig `json:"vault,omitempty"`
HSM *HSMUnsealConfig `json:"hsm,omitempty"`
}
UnsealConfig represents the UnsealConfig field of a VaultSpec Kubernetes object
func (*UnsealConfig) DeepCopy ¶
func (in *UnsealConfig) DeepCopy() *UnsealConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnsealConfig.
func (*UnsealConfig) DeepCopyInto ¶
func (in *UnsealConfig) DeepCopyInto(out *UnsealConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UnsealConfig) HSMDaemonNeeded ¶
func (usc *UnsealConfig) HSMDaemonNeeded() bool
HSMDaemonNeeded returns if the unsealing mechanims needs a HSM Daemon present
func (*UnsealConfig) ToArgs ¶
func (usc *UnsealConfig) ToArgs(vault *Vault) []string
ToArgs returns the UnsealConfig as and argument array for bank-vaults
type UnsealOptions ¶
type UnsealOptions struct {
PreFlightChecks *bool `json:"preFlightChecks,omitempty"`
StoreRootToken *bool `json:"storeRootToken,omitempty"`
}
UnsealOptions represents the common options to all unsealing backends
func (*UnsealOptions) DeepCopy ¶
func (in *UnsealOptions) DeepCopy() *UnsealOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UnsealOptions.
func (*UnsealOptions) DeepCopyInto ¶
func (in *UnsealOptions) DeepCopyInto(out *UnsealOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (UnsealOptions) ToArgs ¶
func (uso UnsealOptions) ToArgs() []string
type Vault ¶
type Vault struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VaultSpec `json:"spec,omitempty"`
Status VaultStatus `json:"status,omitempty"`
}
+genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +k8s:openapi-gen=true
func (*Vault) AsOwnerReference ¶
func (vault *Vault) AsOwnerReference() metav1.OwnerReference
AsOwnerReference returns this Vault instance as an OwnerReference
func (*Vault) ConfigJSON ¶ added in v1.13.1
ConfigJSON returns the Config field as a JSON string
func (*Vault) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Vault.
func (*Vault) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Vault) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Vault) GetIngress ¶
GetIngress the Ingress configuration for Vault if any
func (*Vault) LabelsForVault ¶
LabelsForVault returns the labels for selecting the resources belonging to the given vault CR name.
func (*Vault) LabelsForVaultConfigurer ¶
LabelsForVaultConfigurer returns the labels for selecting the resources belonging to the given vault CR name.
type VaultList ¶
type VaultList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Vault `json:"items"`
}
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*VaultList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultList.
func (*VaultList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VaultList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VaultSpec ¶
type VaultSpec struct {
// Size defines the number of Vault instances in the cluster (>= 1 means HA)
// default: 1
Size int32 `json:"size,omitempty"`
// Image specifies the Vault image to use for the Vault instances
// default: library/vault:latest
Image string `json:"image,omitempty"`
// BankVaultsImage specifies the Bank Vaults image to use for Vault unsealing and configuration
// default: ghcr.io/banzaicloud/bank-vaults:latest
BankVaultsImage string `json:"bankVaultsImage,omitempty"`
// BankVaultsVolumeMounts define some extra Kubernetes Volume mounts for the Bank Vaults Sidecar container.
// default:
BankVaultsVolumeMounts []v1.VolumeMount `json:"bankVaultsVolumeMounts,omitempty"`
// StatsDDisabled specifies if StatsD based metrics should be disabled
// default: false
StatsDDisabled bool `json:"statsdDisabled,omitempty"`
// StatsDImage specifices the StatsD image to use for Vault metrics exportation
// default: prom/statsd-exporter:latest
StatsDImage string `json:"statsdImage,omitempty"`
// FluentDEnabled specifies if FluentD based log exportation should be enabled
// default: false
FluentDEnabled bool `json:"fluentdEnabled,omitempty"`
// FluentDImage specifices the FluentD image to use for Vault log exportation
// default: fluent/fluentd:edge
FluentDImage string `json:"fluentdImage,omitempty"`
// FleuntDConfLocation is the location of the fluent.conf file
// default: "/fluentd/etc"
FleuntDConfLocation string `json:"fleuntdConfLocation,omitempty"`
// FluentDConfFile specifices the FluentD configuration file name to use for Vault log exportation
// default:
FluentDConfFile string `json:"fluentdConfFile,omitempty"`
// FluentDConfig specifices the FluentD configuration to use for Vault log exportation
// default:
FluentDConfig string `json:"fluentdConfig,omitempty"`
// WatchedSecretsLabels specifices a set of Kubernetes label selectors which select Secrets to watch.
// If these Secrets change the Vault cluster gets restarted. For example a Secret that Cert-Manager is
// managing a public Certificate for Vault using let's Encrypt.
// default:
WatchedSecretsLabels []map[string]string `json:"watchedSecretsLabels,omitempty"`
// WatchedSecretsAnnotations specifices a set of Kubernetes annotations selectors which select Secrets to watch.
// If these Secrets change the Vault cluster gets restarted. For example a Secret that Cert-Manager is
// managing a public Certificate for Vault using let's Encrypt.
// default:
WatchedSecretsAnnotations []map[string]string `json:"watchedSecretsAnnotations,omitempty"`
// Annotations define a set of common Kubernetes annotations that will be added to all operator managed resources.
// default:
Annotations map[string]string `json:"annotations,omitempty"`
// VaultAnnotations define a set of Kubernetes annotations that will be added to all Vault Pods.
// default:
VaultAnnotations map[string]string `json:"vaultAnnotations,omitempty"`
// VaultLabels define a set of Kubernetes labels that will be added to all Vault Pods.
// default:
VaultLabels map[string]string `json:"vaultLabels,omitempty"`
// VaultPodSpec is a Kubernetes Pod specification snippet (`spec:` block) that will be merged into the operator generated
// Vault Pod specification.
// default:
VaultPodSpec *EmbeddedPodSpec `json:"vaultPodSpec,omitempty"`
// VaultContainerSpec is a Kubernetes Container specification snippet that will be merged into the operator generated
// Vault Container specification.
// default:
VaultContainerSpec v1.Container `json:"vaultContainerSpec,omitempty"`
// VaultConfigurerAnnotations define a set of Kubernetes annotations that will be added to the Vault Configurer Pod.
// default:
VaultConfigurerAnnotations map[string]string `json:"vaultConfigurerAnnotations,omitempty"`
// VaultConfigurerLabels define a set of Kubernetes labels that will be added to all Vault Configurer Pod.
// default:
VaultConfigurerLabels map[string]string `json:"vaultConfigurerLabels,omitempty"`
// VaultConfigurerPodSpec is a Kubernetes Pod specification snippet (`spec:` block) that will be merged into
// the operator generated Vault Configurer Pod specification.
// default:
VaultConfigurerPodSpec *EmbeddedPodSpec `json:"vaultConfigurerPodSpec,omitempty"`
// Config is the Vault Server configuration. See https://www.vaultproject.io/docs/configuration/ for more details.
// default:
Config extv1beta1.JSON `json:"config"`
// ExternalConfig is higher level configuration block which instructs the Bank Vaults Configurer to configure Vault
// through its API, thus allows setting up:
// - Secret Engines
// - Auth Methods
// - Audit Devices
// - Plugin Backends
// - Policies
// - Startup Secrets (Bank Vaults feature)
// A documented example: https://github.com/banzaicloud/bank-vaults/blob/main/vault-config.yml
// default:
ExternalConfig extv1beta1.JSON `json:"externalConfig,omitempty"`
// UnsealConfig defines where the Vault cluster's unseal keys and root token should be stored after initialization.
// See the type's documentation for more details. Only one method may be specified.
// default: Kubernetes Secret based unsealing
UnsealConfig UnsealConfig `json:"unsealConfig,omitempty"`
// CredentialsConfig defines a external Secret for Vault and how it should be mounted to the Vault Pod
// for example accessing Cloud resources.
// default:
CredentialsConfig CredentialsConfig `json:"credentialsConfig,omitempty"`
// EnvsConfig is a list of Kubernetes environment variable definitions that will be passed to all Bank-Vaults pods.
// default:
EnvsConfig []v1.EnvVar `json:"envsConfig,omitempty"`
// SecurityContext is a Kubernetes PodSecurityContext that will be applied to all Pods created by the operator.
// default:
SecurityContext v1.PodSecurityContext `json:"securityContext,omitempty"`
// ServiceType is a Kubernetes Service type of the Vault Service.
// default: ClusterIP
ServiceType string `json:"serviceType,omitempty"`
// LoadBalancerIP is an optional setting for allocating a specific address for the entry service object
// of type LoadBalancer
// default: ""
LoadBalancerIP string `json:"loadBalancerIP,omitempty"`
// serviceRegistrationEnabled enables the injection of the service_registration Vault stanza.
// This requires elaborated RBAC privileges for updating Pod labels for the Vault Pod.
// default: false
ServiceRegistrationEnabled bool `json:"serviceRegistrationEnabled,omitempty"`
// RaftLeaderAddress defines the leader address of the raft cluster in multi-cluster deployments.
// (In single cluster (namespace) deployments it is automatically detected).
// "self" is a special value which means that this instance should be the bootstrap leader instance.
// default: ""
RaftLeaderAddress string `json:"raftLeaderAddress,omitempty"`
// ServicePorts is an extra map of ports that should be exposed by the Vault Service.
// default:
ServicePorts map[string]int32 `json:"servicePorts,omitempty"`
// Affinity is a group of affinity scheduling rules applied to all Vault Pods.
// default:
Affinity *v1.Affinity `json:"affinity,omitempty"`
// PodAntiAffinity is the TopologyKey in the Vault Pod's PodAntiAffinity.
// No PodAntiAffinity is used if empty.
// Deprecated. Use Affinity.
// default:
PodAntiAffinity string `json:"podAntiAffinity,omitempty"`
// NodeAffinity is Kubernetees NodeAffinity definition that should be applied to all Vault Pods.
// Deprecated. Use Affinity.
// default:
NodeAffinity v1.NodeAffinity `json:"nodeAffinity,omitempty"`
// NodeSelector is Kubernetees NodeSelector definition that should be applied to all Vault Pods.
// default:
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// Tolerations is Kubernetes Tolerations definition that should be applied to all Vault Pods.
// default:
Tolerations []v1.Toleration `json:"tolerations,omitempty"`
// ServiceAccount is Kubernetes ServiceAccount in which the Vault Pods should be running in.
// default: default
ServiceAccount string `json:"serviceAccount,omitempty"`
// Volumes define some extra Kubernetes Volumes for the Vault Pods.
// default:
Volumes []v1.Volume `json:"volumes,omitempty"`
// VolumeMounts define some extra Kubernetes Volume mounts for the Vault Pods.
// default:
VolumeMounts []v1.VolumeMount `json:"volumeMounts,omitempty"`
// VolumeClaimTemplates define some extra Kubernetes PersistentVolumeClaim templates for the Vault Statefulset.
// default:
VolumeClaimTemplates []EmbeddedPersistentVolumeClaim `json:"volumeClaimTemplates,omitempty"`
// VaultEnvsConfig is a list of Kubernetes environment variable definitions that will be passed to the Vault container.
// default:
VaultEnvsConfig []v1.EnvVar `json:"vaultEnvsConfig,omitempty"`
// SidecarEnvsConfig is a list of Kubernetes environment variable definitions that will be passed to Vault sidecar containers.
// default:
SidecarEnvsConfig []v1.EnvVar `json:"sidecarEnvsConfig,omitempty"`
// Resources defines the resource limits for all the resources created by the operator.
// See the type for more details.
// default:
Resources *Resources `json:"resources,omitempty"`
// Ingress, if it is specified the operator will create an Ingress resource for the Vault Service and
// will annotate it with the correct Ingress annotations specific to the TLS settings in the configuration.
// See the type for more details.
// default:
Ingress *Ingress `json:"ingress,omitempty"`
// ServiceMonitorEnabled enables the creation of Prometheus Operator specific ServiceMonitor for Vault.
// default: false
ServiceMonitorEnabled bool `json:"serviceMonitorEnabled,omitempty"`
// ExistingTLSSecretName is name of the secret that contains a TLS server certificate and key and the corresponding CA certificate.
// Required secret format kubernetes.io/tls type secret keys + ca.crt key
// If it is set, generating certificate will be disabled
// default: ""
ExistingTLSSecretName string `json:"existingTlsSecretName,omitempty"`
// TLSExpiryThreshold is the Vault TLS certificate expiration threshold in Go's Duration format.
// default: 168h
TLSExpiryThreshold string `json:"tlsExpiryThreshold,omitempty"`
// TLSAdditionalHosts is a list of additional hostnames or IP addresses to add to the SAN on the automatically generated TLS certificate.
// default:
TLSAdditionalHosts []string `json:"tlsAdditionalHosts,omitempty"`
// CANamespaces define a list of namespaces where the generated CA certificate for Vault should be distributed,
// use ["*"] for all namespaces.
// default:
CANamespaces []string `json:"caNamespaces,omitempty"`
// IstioEnabled describes if the cluster has a Istio running and enabled.
// default: false
IstioEnabled bool `json:"istioEnabled,omitempty"`
// VeleroEnabled describes if the cluster has a Velero running and enabled.
// default: false
VeleroEnabled bool `json:"veleroEnabled,omitempty"`
// VeleroFsfreezeImage specifices the Velero Fsrfeeze image to use in Velero backup hooks
// default: velero/fsfreeze-pause:latest
VeleroFsfreezeImage string `json:"veleroFsfreezeImage,omitempty"`
// InitContainers add extra initContainers
VaultInitContainers []v1.Container `json:"vaultInitContainers,omitempty"`
}
VaultSpec defines the desired state of Vault Important: Run "make generate-code" to regenerate code after modifying this file
func (*VaultSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultSpec.
func (*VaultSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VaultSpec) ExternalConfigJSON ¶
ExternalConfigJSON returns the ExternalConfig field as a JSON string
func (*VaultSpec) GetAPIPortName ¶
GetAPIPortName returns the main Vault port name based on Istio and TLS settings
func (*VaultSpec) GetAPIScheme ¶
GetAPIScheme returns if Vault's API address should be called on http or https
func (*VaultSpec) GetAnnotations ¶
GetAnnotations returns the Common Annotations
func (*VaultSpec) GetBankVaultsImage ¶
GetBankVaultsImage returns the bank-vaults image to use
func (*VaultSpec) GetFluentDConfMountPath ¶ added in v1.13.1
GetFluentDConfMountPath returns the mount path for the fluent.conf
func (*VaultSpec) GetFluentDImage ¶
GetFluentDImage returns the FluentD image to use
func (*VaultSpec) GetHAStorage ¶
GetHAStorage returns Vault's ha_storage stanza
func (*VaultSpec) GetHAStorageType ¶
GetHAStorageType returns the type of Vault's ha_storage stanza
func (*VaultSpec) GetServiceAccount ¶
GetServiceAccount returns the Kubernetes Service Account to use for Vault
func (*VaultSpec) GetStatsDImage ¶
GetStatsDImage returns the StatsD image to use
func (*VaultSpec) GetStorage ¶
GetStorage returns Vault's storage stanza
func (*VaultSpec) GetStorageType ¶
GetStorageType returns the type of Vault's storage stanza
func (*VaultSpec) GetTLSExpiryThreshold ¶
GetTLSExpiryThreshold returns the Vault TLS certificate expiration threshold
func (*VaultSpec) GetVaultAnnotations ¶
GetVaultAnnotations returns the Vault Pod , Secret and ConfigMap Annotations
func (*VaultSpec) GetVaultConfig ¶ added in v1.13.1
func (*VaultSpec) GetVaultConfigurerAnnotations ¶
GetVaultConfigurerAnnotations returns the Vault Configurer Pod Annotations
func (*VaultSpec) GetVaultConfigurerLabels ¶
GetVaultConfigurerLabels returns the Vault Configurer Pod Labels
func (*VaultSpec) GetVaultImage ¶
GetVaultImage returns the Vault image to use
func (*VaultSpec) GetVaultLabels ¶
GetVaultLAbels returns the Vault Pod , Secret and ConfigMap Labels
func (*VaultSpec) GetVeleroFsfreezeImage ¶
GetVeleroFsfreezeImage returns the Velero Fsreeze image to use
func (*VaultSpec) GetVersion ¶
GetVersion returns the version of Vault
func (*VaultSpec) GetVolumeClaimTemplates ¶
func (spec *VaultSpec) GetVolumeClaimTemplates() []v1.PersistentVolumeClaim
GetVolumeClaimTemplates fixes the "status diff" in PVC templates
func (*VaultSpec) GetWatchedSecretsAnnotations ¶
GetWatchedSecretsAnnotations returns the set of annotations for secrets to watch in the vault namespace
func (*VaultSpec) GetWatchedSecretsLabels ¶
GetWatchedSecretsLabels returns the set of labels for secrets to watch in the vault namespace
func (*VaultSpec) HasHAStorage ¶
HasHAStorage detects if Vault is configured to use a storage backend which supports High Availability or if it has ha_storage stanza, then doesn't check for ha_enabled flag
func (*VaultSpec) HasStorageHAEnabled ¶
HasStorageHAEnabled detects if the ha_enabled field is set to true in Vault's storage stanza
func (*VaultSpec) IsAutoUnseal ¶
IsAutoUnseal checks if auto-unseal is configured
func (*VaultSpec) IsFluentDEnabled ¶
IsFluentDEnabled returns true if fluentd sidecar is to be deployed
func (*VaultSpec) IsRaftBootstrapFollower ¶
IsRaftBootstrapFollower checks if this cluster should be considered the bootstrap follower.
func (*VaultSpec) IsRaftHAStorage ¶ added in v1.13.1
IsRaftHAStorage checks if raft ha_storage is configured
func (*VaultSpec) IsRaftStorage ¶
IsRaftStorage checks if raft storage is configured
func (*VaultSpec) IsStatsDDisabled ¶
IsStatsDDisabled returns false if statsd sidecar is to be deployed
func (*VaultSpec) IsTLSDisabled ¶
IsTLSDisabled returns if Vault's TLS should be disabled
func (*VaultSpec) IsTelemetryUnauthenticated ¶ added in v1.13.1
IsTelemetryUnauthenticated returns if Vault's telemetry endpoint can be accessed publicly
type VaultStatus ¶
type VaultStatus struct {
// Important: Run "make generate-code" to regenerate code after modifying this file
Nodes []string `json:"nodes"`
Leader string `json:"leader"`
Conditions []v1.ComponentCondition `json:"conditions,omitempty"`
}
VaultStatus defines the observed state of Vault
func (*VaultStatus) DeepCopy ¶
func (in *VaultStatus) DeepCopy() *VaultStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultStatus.
func (*VaultStatus) DeepCopyInto ¶
func (in *VaultStatus) DeepCopyInto(out *VaultStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VaultUnsealConfig ¶
type VaultUnsealConfig struct {
Address string `json:"address"`
UnsealKeysPath string `json:"unsealKeysPath"`
Role string `json:"role,omitempty"`
AuthPath string `json:"authPath,omitempty"`
TokenPath string `json:"tokenPath,omitempty"`
Token string `json:"token,omitempty"`
}
VaultUnsealConfig holds the parameters for remote Vault based unsealing
func (*VaultUnsealConfig) DeepCopy ¶
func (in *VaultUnsealConfig) DeepCopy() *VaultUnsealConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VaultUnsealConfig.
func (*VaultUnsealConfig) DeepCopyInto ¶
func (in *VaultUnsealConfig) DeepCopyInto(out *VaultUnsealConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.