Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the spire v1alpha1 API group +kubebuilder:object:generate=true +groupName=spire.spiffe.io
Index ¶
- Variables
- func LoadOptionsFromFile(path string, scheme *runtime.Scheme, options *ctrl.Options, ...) error
- func ParseClusterFederatedTrustDomainSpec(spec *ClusterFederatedTrustDomainSpec) (*spireapi.FederationRelationship, error)
- type BundleEndpointProfile
- type BundleEndpointProfileType
- type ClusterFederatedTrustDomain
- func (in *ClusterFederatedTrustDomain) DeepCopy() *ClusterFederatedTrustDomain
- func (in *ClusterFederatedTrustDomain) DeepCopyInto(out *ClusterFederatedTrustDomain)
- func (in *ClusterFederatedTrustDomain) DeepCopyObject() runtime.Object
- func (r *ClusterFederatedTrustDomain) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *ClusterFederatedTrustDomain) ValidateCreate() (admission.Warnings, error)
- func (r *ClusterFederatedTrustDomain) ValidateDelete() (admission.Warnings, error)
- func (r *ClusterFederatedTrustDomain) ValidateUpdate(runtime.Object) (admission.Warnings, error)
- type ClusterFederatedTrustDomainList
- type ClusterFederatedTrustDomainSpec
- type ClusterFederatedTrustDomainStatus
- type ClusterSPIFFEID
- func (in *ClusterSPIFFEID) DeepCopy() *ClusterSPIFFEID
- func (in *ClusterSPIFFEID) DeepCopyInto(out *ClusterSPIFFEID)
- func (in *ClusterSPIFFEID) DeepCopyObject() runtime.Object
- func (r *ClusterSPIFFEID) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *ClusterSPIFFEID) ValidateCreate() (admission.Warnings, error)
- func (r *ClusterSPIFFEID) ValidateDelete() (admission.Warnings, error)
- func (r *ClusterSPIFFEID) ValidateUpdate(runtime.Object) (admission.Warnings, error)
- type ClusterSPIFFEIDList
- type ClusterSPIFFEIDSpec
- type ClusterSPIFFEIDStats
- type ClusterSPIFFEIDStatus
- type ClusterStaticEntry
- type ClusterStaticEntryList
- type ClusterStaticEntrySpec
- type ClusterStaticEntryStatus
- type ControllerConfigurationSpec
- type ControllerHealth
- type ControllerManagerConfig
- type ControllerManagerConfigurationSpec
- type ControllerMetrics
- type ControllerWebhook
- type NamespaceConfig
- type ParsedClusterSPIFFEIDSpec
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "spire.spiffe.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 ¶
func LoadOptionsFromFile ¶ added in v0.2.3
func ParseClusterFederatedTrustDomainSpec ¶
func ParseClusterFederatedTrustDomainSpec(spec *ClusterFederatedTrustDomainSpec) (*spireapi.FederationRelationship, error)
Types ¶
type BundleEndpointProfile ¶
type BundleEndpointProfile struct {
// Type is the type of the bundle endpoint profile.
Type BundleEndpointProfileType `json:"type"`
// EndpointSPIFFEID is the SPIFFE ID of the bundle endpoint. It is
// required for the "https_spiffe" profile.
// +kubebuilder:validation:Optional
EndpointSPIFFEID string `json:"endpointSPIFFEID,omitempty"`
}
BundleEndpointProfile is the profile for the federated trust domain
func (*BundleEndpointProfile) DeepCopy ¶
func (in *BundleEndpointProfile) DeepCopy() *BundleEndpointProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleEndpointProfile.
func (*BundleEndpointProfile) DeepCopyInto ¶
func (in *BundleEndpointProfile) DeepCopyInto(out *BundleEndpointProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BundleEndpointProfileType ¶
type BundleEndpointProfileType string
+kubebuilder:validation:Enum=https_spiffe;https_web
const ( // HTTPSSPIFFEProfileType indicates an "https_spiffe" SPIFFE federation profile HTTPSSPIFFEProfileType BundleEndpointProfileType = "https_spiffe" // HTTPSWebProfileType indicates an "https_web" SPIFFE federation profile HTTPSWebProfileType BundleEndpointProfileType = "https_web" )
type ClusterFederatedTrustDomain ¶
type ClusterFederatedTrustDomain struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterFederatedTrustDomainSpec `json:"spec,omitempty"`
Status ClusterFederatedTrustDomainStatus `json:"status,omitempty"`
}
+kubebuilder:printcolumn:name="Trust Domain",type=string,JSONPath=`.spec.trustDomain` +kubebuilder:printcolumn:name="Endpoint URL",type=string,JSONPath=`.spec.bundleEndpointURL` ClusterFederatedTrustDomain is the Schema for the clusterfederatedtrustdomains API
func (*ClusterFederatedTrustDomain) DeepCopy ¶
func (in *ClusterFederatedTrustDomain) DeepCopy() *ClusterFederatedTrustDomain
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterFederatedTrustDomain.
func (*ClusterFederatedTrustDomain) DeepCopyInto ¶
func (in *ClusterFederatedTrustDomain) DeepCopyInto(out *ClusterFederatedTrustDomain)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterFederatedTrustDomain) DeepCopyObject ¶
func (in *ClusterFederatedTrustDomain) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterFederatedTrustDomain) SetupWebhookWithManager ¶
func (r *ClusterFederatedTrustDomain) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*ClusterFederatedTrustDomain) ValidateCreate ¶
func (r *ClusterFederatedTrustDomain) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*ClusterFederatedTrustDomain) ValidateDelete ¶
func (r *ClusterFederatedTrustDomain) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*ClusterFederatedTrustDomain) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type ClusterFederatedTrustDomainList ¶
type ClusterFederatedTrustDomainList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterFederatedTrustDomain `json:"items"`
}
ClusterFederatedTrustDomainList contains a list of ClusterFederatedTrustDomain
func (*ClusterFederatedTrustDomainList) DeepCopy ¶
func (in *ClusterFederatedTrustDomainList) DeepCopy() *ClusterFederatedTrustDomainList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterFederatedTrustDomainList.
func (*ClusterFederatedTrustDomainList) DeepCopyInto ¶
func (in *ClusterFederatedTrustDomainList) DeepCopyInto(out *ClusterFederatedTrustDomainList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterFederatedTrustDomainList) DeepCopyObject ¶
func (in *ClusterFederatedTrustDomainList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterFederatedTrustDomainSpec ¶
type ClusterFederatedTrustDomainSpec struct {
// TrustDomain is the name of the trust domain to federate with (e.g. example.org)
// +kubebuilder:validation:Pattern="[a-z0-9._-]{1,255}"
TrustDomain string `json:"trustDomain"`
// BundleEndpointURL is the URL of the bundle endpoint. It must be an
// HTTPS URL and cannot contain userinfo (i.e. username/password).
BundleEndpointURL string `json:"bundleEndpointURL"`
// BundleEndpointProfile is the profile for the bundle endpoint.
BundleEndpointProfile BundleEndpointProfile `json:"bundleEndpointProfile"`
// TrustDomainBundle is the contents of the bundle for the referenced trust
// domain. This field is optional when the resource is created.
// +kubebuilder:validation:Optional
TrustDomainBundle string `json:"trustDomainBundle,omitempty"`
// Set which Controller Class will act on this object
// +kubebuilder:validation:Optional
ClassName string `json:"className,omitempty"`
}
ClusterFederatedTrustDomainSpec defines the desired state of ClusterFederatedTrustDomain
func (*ClusterFederatedTrustDomainSpec) DeepCopy ¶
func (in *ClusterFederatedTrustDomainSpec) DeepCopy() *ClusterFederatedTrustDomainSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterFederatedTrustDomainSpec.
func (*ClusterFederatedTrustDomainSpec) DeepCopyInto ¶
func (in *ClusterFederatedTrustDomainSpec) DeepCopyInto(out *ClusterFederatedTrustDomainSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterFederatedTrustDomainStatus ¶
type ClusterFederatedTrustDomainStatus struct {
}
ClusterFederatedTrustDomainStatus defines the observed state of ClusterFederatedTrustDomain
func (*ClusterFederatedTrustDomainStatus) DeepCopy ¶
func (in *ClusterFederatedTrustDomainStatus) DeepCopy() *ClusterFederatedTrustDomainStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterFederatedTrustDomainStatus.
func (*ClusterFederatedTrustDomainStatus) DeepCopyInto ¶
func (in *ClusterFederatedTrustDomainStatus) DeepCopyInto(out *ClusterFederatedTrustDomainStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSPIFFEID ¶
type ClusterSPIFFEID struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterSPIFFEIDSpec `json:"spec,omitempty"`
// +optional
Status ClusterSPIFFEIDStatus `json:"status,omitempty"`
}
ClusterSPIFFEID is the Schema for the clusterspiffeids API
func (*ClusterSPIFFEID) DeepCopy ¶
func (in *ClusterSPIFFEID) DeepCopy() *ClusterSPIFFEID
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSPIFFEID.
func (*ClusterSPIFFEID) DeepCopyInto ¶
func (in *ClusterSPIFFEID) DeepCopyInto(out *ClusterSPIFFEID)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterSPIFFEID) DeepCopyObject ¶
func (in *ClusterSPIFFEID) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClusterSPIFFEID) SetupWebhookWithManager ¶
func (r *ClusterSPIFFEID) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*ClusterSPIFFEID) ValidateCreate ¶
func (r *ClusterSPIFFEID) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*ClusterSPIFFEID) ValidateDelete ¶
func (r *ClusterSPIFFEID) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*ClusterSPIFFEID) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type ClusterSPIFFEIDList ¶
type ClusterSPIFFEIDList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterSPIFFEID `json:"items"`
}
ClusterSPIFFEIDList contains a list of ClusterSPIFFEID
func (*ClusterSPIFFEIDList) DeepCopy ¶
func (in *ClusterSPIFFEIDList) DeepCopy() *ClusterSPIFFEIDList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSPIFFEIDList.
func (*ClusterSPIFFEIDList) DeepCopyInto ¶
func (in *ClusterSPIFFEIDList) DeepCopyInto(out *ClusterSPIFFEIDList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterSPIFFEIDList) DeepCopyObject ¶
func (in *ClusterSPIFFEIDList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterSPIFFEIDSpec ¶
type ClusterSPIFFEIDSpec struct {
// SPIFFEID is the SPIFFE ID template. The node and pod spec are made
// available to the template under .NodeSpec, .PodSpec respectively.
SPIFFEIDTemplate string `json:"spiffeIDTemplate"`
// TTL indicates an upper-bound time-to-live for X509 SVIDs minted for this
// ClusterSPIFFEID. If unset, a default will be chosen.
TTL metav1.Duration `json:"ttl,omitempty"`
// JWTTTL indicates an upper-bound time-to-live for JWT SVIDs minted for this
// ClusterSPIFFEID.
JWTTTL metav1.Duration `json:"jwtTtl,omitempty"`
// DNSNameTemplate represents templates for extra DNS names that are
// applicable to SVIDs minted for this ClusterSPIFFEID.
// The node and pod spec are made available to the template under
// .NodeSpec, .PodSpec respectively.
DNSNameTemplates []string `json:"dnsNameTemplates,omitempty"`
// WorkloadSelectorTemplates are templates to produce arbitrary workload
// selectors that apply to a given workload before it will receive this
// SPIFFE ID. The rendered value is interpreted by SPIRE and are of the
// form type:value, where the value may, and often does, contain
// semicolons, .e.g., k8s:container-image:docker/hello-world
// The node and pod spec are made available to the template under
// .NodeSpec, .PodSpec respectively.
WorkloadSelectorTemplates []string `json:"workloadSelectorTemplates,omitempty"`
// FederatesWith is a list of trust domain names that workloads that
// obtain this SPIFFE ID will federate with.
FederatesWith []string `json:"federatesWith,omitempty"`
// NamespaceSelector selects the namespaces that are targeted by this
// CRD.
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
// PodSelector selects the pods that are targeted by this
// CRD.
PodSelector *metav1.LabelSelector `json:"podSelector,omitempty"`
// Admin indicates whether or not the SVID can be used to access the SPIRE
// administrative APIs. Extra care should be taken to only apply this
// SPIFFE ID to admin workloads.
Admin bool `json:"admin,omitempty"`
// Downstream indicates that the entry describes a downstream SPIRE server.
Downstream bool `json:"downstream,omitempty"`
// AutoPopulateDNSNames indicates whether or not to auto populate service DNS names.
AutoPopulateDNSNames bool `json:"autoPopulateDNSNames,omitempty"`
// Set which Controller Class will act on this object
// +kubebuilder:validation:Optional
ClassName string `json:"className,omitempty"`
}
ClusterSPIFFEIDSpec defines the desired state of ClusterSPIFFEID
func (*ClusterSPIFFEIDSpec) DeepCopy ¶
func (in *ClusterSPIFFEIDSpec) DeepCopy() *ClusterSPIFFEIDSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSPIFFEIDSpec.
func (*ClusterSPIFFEIDSpec) DeepCopyInto ¶
func (in *ClusterSPIFFEIDSpec) DeepCopyInto(out *ClusterSPIFFEIDSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSPIFFEIDStats ¶
type ClusterSPIFFEIDStats struct {
// How many namespaces were selected.
// +kubebuilder:validation:Optional
NamespacesSelected int `json:"namespacesSelected"`
// How many (selected) namespaces were ignored (based on configuration).
// +kubebuilder:validation:Optional
NamespacesIgnored int `json:"namespacesIgnored"`
// How many pods were selected out of the namespaces.
// +kubebuilder:validation:Optional
PodsSelected int `json:"podsSelected"`
// How many failures were encountered rendering an entry selected pods.
// This could be due to either a bad template in the ClusterSPIFFEID or
// Pod metadata that when applied to the template did not produce valid
// entry values.
// +kubebuilder:validation:Optional
PodEntryRenderFailures int `json:"podEntryRenderFailures"`
// How many entries were masked by entries for other ClusterSPIFFEIDs.
// This happens when one or more ClusterSPIFFEIDs produce an entry for
// the same pod with the same set of workload selectors.
// +kubebuilder:validation:Optional
EntriesMasked int `json:"entriesMasked"`
// How many entries are to be set for this ClusterSPIFFEID. In nominal
// conditions, this should reflect the number of pods selected, but not
// always if there were problems encountered rendering an entry for the pod
// (RenderFailures) or entries are masked (EntriesMasked).
// +kubebuilder:validation:Optional
EntriesToSet int `json:"entriesToSet"`
// How many entries were unable to be set due to failures to create or
// update the entries via the SPIRE Server API.
// +kubebuilder:validation:Optional
EntryFailures int `json:"entryFailures"`
}
ClusterSPIFFEIDStats contain entry reconciliation statistics.
func (*ClusterSPIFFEIDStats) DeepCopy ¶
func (in *ClusterSPIFFEIDStats) DeepCopy() *ClusterSPIFFEIDStats
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSPIFFEIDStats.
func (*ClusterSPIFFEIDStats) DeepCopyInto ¶
func (in *ClusterSPIFFEIDStats) DeepCopyInto(out *ClusterSPIFFEIDStats)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSPIFFEIDStatus ¶
type ClusterSPIFFEIDStatus struct {
// Stats produced by the last entry reconciliation run
// +kubebuilder:validation:Optional
Stats ClusterSPIFFEIDStats `json:"stats"`
}
ClusterSPIFFEIDStatus defines the observed state of ClusterSPIFFEID
func (*ClusterSPIFFEIDStatus) DeepCopy ¶
func (in *ClusterSPIFFEIDStatus) DeepCopy() *ClusterSPIFFEIDStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSPIFFEIDStatus.
func (*ClusterSPIFFEIDStatus) DeepCopyInto ¶
func (in *ClusterSPIFFEIDStatus) DeepCopyInto(out *ClusterSPIFFEIDStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStaticEntry ¶ added in v0.3.0
type ClusterStaticEntry struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterStaticEntrySpec `json:"spec,omitempty"`
Status ClusterStaticEntryStatus `json:"status,omitempty"`
}
ClusterStaticEntry is the Schema for the clusterstaticentries API
func (*ClusterStaticEntry) DeepCopy ¶ added in v0.3.0
func (in *ClusterStaticEntry) DeepCopy() *ClusterStaticEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStaticEntry.
func (*ClusterStaticEntry) DeepCopyInto ¶ added in v0.3.0
func (in *ClusterStaticEntry) DeepCopyInto(out *ClusterStaticEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterStaticEntry) DeepCopyObject ¶ added in v0.3.0
func (in *ClusterStaticEntry) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterStaticEntryList ¶ added in v0.3.0
type ClusterStaticEntryList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterStaticEntry `json:"items"`
}
ClusterStaticEntryList contains a list of ClusterStaticEntry
func (*ClusterStaticEntryList) DeepCopy ¶ added in v0.3.0
func (in *ClusterStaticEntryList) DeepCopy() *ClusterStaticEntryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStaticEntryList.
func (*ClusterStaticEntryList) DeepCopyInto ¶ added in v0.3.0
func (in *ClusterStaticEntryList) DeepCopyInto(out *ClusterStaticEntryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterStaticEntryList) DeepCopyObject ¶ added in v0.3.0
func (in *ClusterStaticEntryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterStaticEntrySpec ¶ added in v0.3.0
type ClusterStaticEntrySpec struct {
SPIFFEID string `json:"spiffeID"`
ParentID string `json:"parentID"`
Selectors []string `json:"selectors"`
FederatesWith []string `json:"federatesWith,omitempty"`
X509SVIDTTL metav1.Duration `json:"x509SVIDTTL,omitempty"`
JWTSVIDTTL metav1.Duration `json:"jwtSVIDTTL,omitempty"`
DNSNames []string `json:"dnsNames,omitempty"`
Hint string `json:"hint,omitempty"`
Admin bool `json:"admin,omitempty"`
Downstream bool `json:"downstream,omitempty"`
// Set which Controller Class will act on this object
// +kubebuilder:validation:Optional
ClassName string `json:"className,omitempty"`
}
ClusterStaticEntrySpec defines the desired state of ClusterStaticEntry
func (*ClusterStaticEntrySpec) DeepCopy ¶ added in v0.3.0
func (in *ClusterStaticEntrySpec) DeepCopy() *ClusterStaticEntrySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStaticEntrySpec.
func (*ClusterStaticEntrySpec) DeepCopyInto ¶ added in v0.3.0
func (in *ClusterStaticEntrySpec) DeepCopyInto(out *ClusterStaticEntrySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStaticEntryStatus ¶ added in v0.3.0
type ClusterStaticEntryStatus struct {
// If the static entry rendered properly.
Rendered bool `json:"rendered"`
// If the static entry was masked by another entry.
Masked bool `json:"masked"`
// If the static entry was successfully created/updated.
Set bool `json:"set"`
}
ClusterStaticEntryStatus defines the observed state of ClusterStaticEntry
func (*ClusterStaticEntryStatus) DeepCopy ¶ added in v0.3.0
func (in *ClusterStaticEntryStatus) DeepCopy() *ClusterStaticEntryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStaticEntryStatus.
func (*ClusterStaticEntryStatus) DeepCopyInto ¶ added in v0.3.0
func (in *ClusterStaticEntryStatus) DeepCopyInto(out *ClusterStaticEntryStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerConfigurationSpec ¶ added in v0.2.3
type ControllerConfigurationSpec struct {
// GroupKindConcurrency is a map from a Kind to the number of concurrent reconciliation
// allowed for that controller.
//
// When a controller is registered within this manager using the builder utilities,
// users have to specify the type the controller reconciles in the For(...) call.
// If the object's kind passed matches one of the keys in this map, the concurrency
// for that controller is set to the number specified.
//
// The key is expected to be consistent in form with GroupKind.String(),
// e.g. ReplicaSet in apps group (regardless of version) would be `ReplicaSet.apps`.
//
// +optional
GroupKindConcurrency map[string]int `json:"groupKindConcurrency,omitempty"`
// CacheSyncTimeout refers to the time limit set to wait for syncing caches.
// Defaults to 2 minutes if not set.
// +optional
CacheSyncTimeout *time.Duration `json:"cacheSyncTimeout,omitempty"`
// RecoverPanic indicates if panics should be recovered.
// +optional
RecoverPanic *bool `json:"recoverPanic,omitempty"`
}
ControllerConfigurationSpec defines the global configuration for controllers registered with the manager.
func (*ControllerConfigurationSpec) DeepCopy ¶ added in v0.2.3
func (in *ControllerConfigurationSpec) DeepCopy() *ControllerConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfigurationSpec.
func (*ControllerConfigurationSpec) DeepCopyInto ¶ added in v0.2.3
func (in *ControllerConfigurationSpec) DeepCopyInto(out *ControllerConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerHealth ¶ added in v0.2.3
type ControllerHealth struct {
// HealthProbeBindAddress is the TCP address that the controller should bind to
// for serving health probes
// It can be set to "0" or "" to disable serving the health probe.
// +optional
HealthProbeBindAddress string `json:"healthProbeBindAddress,omitempty"`
// ReadinessEndpointName, defaults to "readyz"
// +optional
ReadinessEndpointName string `json:"readinessEndpointName,omitempty"`
// LivenessEndpointName, defaults to "healthz"
// +optional
LivenessEndpointName string `json:"livenessEndpointName,omitempty"`
}
ControllerHealth defines the health configs.
func (*ControllerHealth) DeepCopy ¶ added in v0.2.3
func (in *ControllerHealth) DeepCopy() *ControllerHealth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerHealth.
func (*ControllerHealth) DeepCopyInto ¶ added in v0.2.3
func (in *ControllerHealth) DeepCopyInto(out *ControllerHealth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerManagerConfig ¶
type ControllerManagerConfig struct {
metav1.TypeMeta `json:",inline"`
// ControllerManagerConfigurationSpec returns the contfigurations for controllers
ControllerManagerConfigurationSpec `json:",inline"`
// ClusterName is the cluster name
ClusterName string `json:"clusterName"`
// ClusterDomain is the cluster domain, ie cluster.local
ClusterDomain string `json:"clusterDomain"`
// TrustDomain is the name of the SPIFFE trust domain
TrustDomain string `json:"trustDomain"`
// IgnoreNamespaces are the namespaces to ignore
IgnoreNamespaces []string `json:"ignoreNamespaces"`
// ValidatingWebhookConfigurationName selects the webhook configuration to manage.
// Defaults to spire-controller-manager-webhook.
ValidatingWebhookConfigurationName string `json:"validatingWebhookConfigurationName"`
// GCInterval is how often SPIRE state is reconciled when the controller
// is otherwise idle. This impacts how quickly SPIRE state will converge
// after CRDs are removed or SPIRE state is mutated out from underneath
// the controller.
GCInterval time.Duration `json:"gcInterval"`
// SPIREServerSocketPath is the path to the SPIRE Server API socket
SPIREServerSocketPath string `json:"spireServerSocketPath"`
}
ControllerManagerConfig is the Schema for the controller manager configuration
func (*ControllerManagerConfig) DeepCopy ¶
func (in *ControllerManagerConfig) DeepCopy() *ControllerManagerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerManagerConfig.
func (*ControllerManagerConfig) DeepCopyInto ¶
func (in *ControllerManagerConfig) DeepCopyInto(out *ControllerManagerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ControllerManagerConfig) DeepCopyObject ¶
func (in *ControllerManagerConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ControllerManagerConfigurationSpec ¶ added in v0.2.3
type ControllerManagerConfigurationSpec struct {
// SyncPeriod determines the minimum frequency at which watched resources are
// reconciled. A lower period will correct entropy more quickly, but reduce
// responsiveness to change if there are many watched resources. Change this
// value only if you know what you are doing. Defaults to 10 hours if unset.
// there will a 10 percent jitter between the SyncPeriod of all controllers
// so that all controllers will not send list requests simultaneously.
// +optional
SyncPeriod *metav1.Duration `json:"syncPeriod,omitempty"`
// LeaderElection is the LeaderElection config to be used when configuring
// the manager.Manager leader election.
// +optional
LeaderElection *configv1alpha1.LeaderElectionConfiguration `json:"leaderElection,omitempty"`
// CacheNamespace if specified restricts the manager's cache to watch objects in
// the desired namespace. Defaults to all namespaces.
// Deprecated: use cacheNamespaces instead
//
// Note: If a namespace is specified, controllers can still Watch for a
// cluster-scoped resource (e.g Node). For namespaced resources the cache
// will only hold objects from the desired namespace.
// +optional
CacheNamespace string `json:"cacheNamespace,omitempty"`
// CacheNamespaces if specified restricts the manager's cache to watch objects in
// the desired namespaces. Defaults to all namespaces.
// +optional
CacheNamespaces map[string]*NamespaceConfig `json:"cacheNamespaces,omitempty"`
// GracefulShutdownTimeout is the duration given to runnable to stop before the manager actually returns on stop.
// To disable graceful shutdown, set to time.Duration(0)
// To use graceful shutdown without timeout, set to a negative duration, e.G. time.Duration(-1)
// The graceful shutdown is skipped for safety reasons in case the leader election lease is lost.
GracefulShutdownTimeout *metav1.Duration `json:"gracefulShutDown,omitempty"`
// Controller contains global configuration options for controllers
// registered within this manager.
// +optional
Controller *ControllerConfigurationSpec `json:"controller,omitempty"`
// Metrics contains the controller metrics configuration
// +optional
Metrics ControllerMetrics `json:"metrics,omitempty"`
// Health contains the controller health configuration
// +optional
Health ControllerHealth `json:"health,omitempty"`
// Webhook contains the controllers webhook configuration
// +optional
Webhook ControllerWebhook `json:"webhook,omitempty"`
// ClassName contains the name of a class to watch CRs for. Others will be ignored.
// If unset all will be watched.
// +optional
ClassName string `json:"className,omitempty"`
// If WatchClassless is set and ClassName is set, any CR without a ClassName
// specified will also be handled by this controller.
// +optional
WatchClassless bool `json:"watchClassless,omitempty"`
}
ControllerManagerConfigurationSpec defines the desired state of GenericControllerManagerConfiguration.
func (*ControllerManagerConfigurationSpec) DeepCopy ¶ added in v0.2.3
func (in *ControllerManagerConfigurationSpec) DeepCopy() *ControllerManagerConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerManagerConfigurationSpec.
func (*ControllerManagerConfigurationSpec) DeepCopyInto ¶ added in v0.2.3
func (in *ControllerManagerConfigurationSpec) DeepCopyInto(out *ControllerManagerConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerMetrics ¶ added in v0.2.3
type ControllerMetrics struct {
// BindAddress is the TCP address that the controller should bind to
// for serving prometheus metrics.
// It can be set to "0" to disable the metrics serving.
// +optional
BindAddress string `json:"bindAddress,omitempty"`
}
ControllerMetrics defines the metrics configs.
func (*ControllerMetrics) DeepCopy ¶ added in v0.2.3
func (in *ControllerMetrics) DeepCopy() *ControllerMetrics
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerMetrics.
func (*ControllerMetrics) DeepCopyInto ¶ added in v0.2.3
func (in *ControllerMetrics) DeepCopyInto(out *ControllerMetrics)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerWebhook ¶ added in v0.2.3
type ControllerWebhook struct {
// Port is the port that the webhook server serves at.
// It is used to set webhook.Server.Port.
// +optional
Port *int `json:"port,omitempty"`
// Host is the hostname that the webhook server binds to.
// It is used to set webhook.Server.Host.
// +optional
Host string `json:"host,omitempty"`
// CertDir is the directory that contains the server key and certificate.
// if not set, webhook server would look up the server key and certificate in
// {TempDir}/k8s-webhook-server/serving-certs. The server key and certificate
// must be named tls.key and tls.crt, respectively.
// +optional
CertDir string `json:"certDir,omitempty"`
}
ControllerWebhook defines the webhook server for the controller.
func (*ControllerWebhook) DeepCopy ¶ added in v0.2.3
func (in *ControllerWebhook) DeepCopy() *ControllerWebhook
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerWebhook.
func (*ControllerWebhook) DeepCopyInto ¶ added in v0.2.3
func (in *ControllerWebhook) DeepCopyInto(out *ControllerWebhook)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespaceConfig ¶ added in v0.4.1
type NamespaceConfig struct {
// LabelSelectors map of Labels selectors
// +optional
LabelSelectors map[string]string `json:"labelSelectors,omitempty"`
// FieldSelectors map of Fields selectors
// +optional
FieldSelectors map[string]string `json:"fieldSelectors,omitempty"`
}
NamespaceConfig configuration used to filter cached namespaces
func (*NamespaceConfig) DeepCopy ¶ added in v0.4.1
func (in *NamespaceConfig) DeepCopy() *NamespaceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceConfig.
func (*NamespaceConfig) DeepCopyInto ¶ added in v0.4.1
func (in *NamespaceConfig) DeepCopyInto(out *NamespaceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ParsedClusterSPIFFEIDSpec ¶
type ParsedClusterSPIFFEIDSpec struct {
SPIFFEIDTemplate *template.Template
NamespaceSelector labels.Selector
PodSelector labels.Selector
TTL time.Duration
JWTTTL time.Duration
FederatesWith []spiffeid.TrustDomain
DNSNameTemplates []*template.Template
WorkloadSelectorTemplates []*template.Template
Admin bool
Downstream bool
AutoPopulateDNSNames bool
}
+kubebuilder:object:generate=false ParsedClusterSPIFFEIDSpec is a parsed and validated ClusterSPIFFEIDSpec
func ParseClusterSPIFFEIDSpec ¶
func ParseClusterSPIFFEIDSpec(spec *ClusterSPIFFEIDSpec) (*ParsedClusterSPIFFEIDSpec, error)
ParseClusterSPIFFEIDSpec parses and validates the fields in the ClusterSPIFFEIDSpec