Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the Pinniped concierge configuration API.
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type CredentialIssuer
- type CredentialIssuerFrontend
- type CredentialIssuerKubeConfigInfo
- type CredentialIssuerList
- type CredentialIssuerStatus
- type CredentialIssuerStrategy
- type FrontendType
- type ImpersonationProxyInfo
- type StrategyReason
- type StrategyStatus
- type StrategyType
- type TokenCredentialRequestAPIInfo
Constants ¶
const ( KubeClusterSigningCertificateStrategyType = StrategyType("KubeClusterSigningCertificate") ImpersonationProxyStrategyType = StrategyType("ImpersonationProxy") TokenCredentialRequestAPIFrontendType = FrontendType("TokenCredentialRequestAPI") ImpersonationProxyFrontendType = FrontendType("ImpersonationProxy") SuccessStrategyStatus = StrategyStatus("Success") ErrorStrategyStatus = StrategyStatus("Error") ListeningStrategyReason = StrategyReason("Listening") PendingStrategyReason = StrategyReason("Pending") DisabledStrategyReason = StrategyReason("Disabled") ErrorDuringSetupStrategyReason = StrategyReason("ErrorDuringSetup") CouldNotFetchKeyStrategyReason = StrategyReason("CouldNotFetchKey") CouldNotGetClusterInfoStrategyReason = StrategyReason("CouldNotGetClusterInfo") FetchedKeyStrategyReason = StrategyReason("FetchedKey") )
const GroupName = "config.concierge.pinniped.dev"
Variables ¶
var ( SchemeBuilder runtime.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource.
Types ¶
type CredentialIssuer ¶
type CredentialIssuer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Status of the credential issuer. // +optional Status CredentialIssuerStatus `json:"status"` }
Describes the configuration status of a Pinniped credential issuer. +genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:categories=pinniped,scope=Cluster +kubebuilder:subresource:status
func (*CredentialIssuer) DeepCopy ¶
func (in *CredentialIssuer) DeepCopy() *CredentialIssuer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialIssuer.
func (*CredentialIssuer) DeepCopyInto ¶
func (in *CredentialIssuer) DeepCopyInto(out *CredentialIssuer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CredentialIssuer) DeepCopyObject ¶
func (in *CredentialIssuer) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CredentialIssuerFrontend ¶
type CredentialIssuerFrontend struct { // Type describes which frontend mechanism clients can use with a strategy. Type FrontendType `json:"type"` // TokenCredentialRequestAPIInfo describes the parameters for the TokenCredentialRequest API on this Concierge. // This field is only set when Type is "TokenCredentialRequestAPI". TokenCredentialRequestAPIInfo *TokenCredentialRequestAPIInfo `json:"tokenCredentialRequestInfo,omitempty"` // ImpersonationProxyInfo describes the parameters for the impersonation proxy on this Concierge. // This field is only set when Type is "ImpersonationProxy". ImpersonationProxyInfo *ImpersonationProxyInfo `json:"impersonationProxyInfo,omitempty"` }
func (*CredentialIssuerFrontend) DeepCopy ¶
func (in *CredentialIssuerFrontend) DeepCopy() *CredentialIssuerFrontend
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialIssuerFrontend.
func (*CredentialIssuerFrontend) DeepCopyInto ¶
func (in *CredentialIssuerFrontend) DeepCopyInto(out *CredentialIssuerFrontend)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CredentialIssuerKubeConfigInfo ¶
type CredentialIssuerKubeConfigInfo struct { // The K8s API server URL. // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:Pattern=`^https://|^http://` Server string `json:"server"` // The K8s API server CA bundle. // +kubebuilder:validation:MinLength=1 CertificateAuthorityData string `json:"certificateAuthorityData"` }
Information needed to form a valid Pinniped-based kubeconfig using this credential issuer.
func (*CredentialIssuerKubeConfigInfo) DeepCopy ¶
func (in *CredentialIssuerKubeConfigInfo) DeepCopy() *CredentialIssuerKubeConfigInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialIssuerKubeConfigInfo.
func (*CredentialIssuerKubeConfigInfo) DeepCopyInto ¶
func (in *CredentialIssuerKubeConfigInfo) DeepCopyInto(out *CredentialIssuerKubeConfigInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CredentialIssuerList ¶
type CredentialIssuerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CredentialIssuer `json:"items"` }
List of CredentialIssuer objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*CredentialIssuerList) DeepCopy ¶
func (in *CredentialIssuerList) DeepCopy() *CredentialIssuerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialIssuerList.
func (*CredentialIssuerList) DeepCopyInto ¶
func (in *CredentialIssuerList) DeepCopyInto(out *CredentialIssuerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CredentialIssuerList) DeepCopyObject ¶
func (in *CredentialIssuerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CredentialIssuerStatus ¶
type CredentialIssuerStatus struct { // List of integration strategies that were attempted by Pinniped. Strategies []CredentialIssuerStrategy `json:"strategies"` // Information needed to form a valid Pinniped-based kubeconfig using this credential issuer. // This field is deprecated and will be removed in a future version. // +optional KubeConfigInfo *CredentialIssuerKubeConfigInfo `json:"kubeConfigInfo,omitempty"` }
Status of a credential issuer.
func (*CredentialIssuerStatus) DeepCopy ¶
func (in *CredentialIssuerStatus) DeepCopy() *CredentialIssuerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialIssuerStatus.
func (*CredentialIssuerStatus) DeepCopyInto ¶
func (in *CredentialIssuerStatus) DeepCopyInto(out *CredentialIssuerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CredentialIssuerStrategy ¶
type CredentialIssuerStrategy struct { // Type of integration attempted. Type StrategyType `json:"type"` // Status of the attempted integration strategy. Status StrategyStatus `json:"status"` // Reason for the current status. Reason StrategyReason `json:"reason"` // Human-readable description of the current status. // +kubebuilder:validation:MinLength=1 Message string `json:"message"` // When the status was last checked. LastUpdateTime metav1.Time `json:"lastUpdateTime"` // Frontend describes how clients can connect using this strategy. Frontend *CredentialIssuerFrontend `json:"frontend,omitempty"` }
Status of an integration strategy that was attempted by Pinniped.
func (*CredentialIssuerStrategy) DeepCopy ¶
func (in *CredentialIssuerStrategy) DeepCopy() *CredentialIssuerStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CredentialIssuerStrategy.
func (*CredentialIssuerStrategy) DeepCopyInto ¶
func (in *CredentialIssuerStrategy) DeepCopyInto(out *CredentialIssuerStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FrontendType ¶
type FrontendType string
+kubebuilder:validation:Enum=TokenCredentialRequestAPI;ImpersonationProxy
type ImpersonationProxyInfo ¶
type ImpersonationProxyInfo struct { // Endpoint is the HTTPS endpoint of the impersonation proxy. // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:Pattern=`^https://` Endpoint string `json:"endpoint"` // CertificateAuthorityData is the base64-encoded PEM CA bundle of the impersonation proxy. // +kubebuilder:validation:MinLength=1 CertificateAuthorityData string `json:"certificateAuthorityData"` }
ImpersonationProxyInfo describes the parameters for the impersonation proxy on this Concierge.
func (*ImpersonationProxyInfo) DeepCopy ¶
func (in *ImpersonationProxyInfo) DeepCopy() *ImpersonationProxyInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImpersonationProxyInfo.
func (*ImpersonationProxyInfo) DeepCopyInto ¶
func (in *ImpersonationProxyInfo) DeepCopyInto(out *ImpersonationProxyInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StrategyReason ¶
type StrategyReason string
+kubebuilder:validation:Enum=Listening;Pending;Disabled;ErrorDuringSetup;CouldNotFetchKey;CouldNotGetClusterInfo;FetchedKey
type StrategyType ¶
type StrategyType string
+kubebuilder:validation:Enum=KubeClusterSigningCertificate;ImpersonationProxy
type TokenCredentialRequestAPIInfo ¶
type TokenCredentialRequestAPIInfo struct { // Server is the Kubernetes API server URL. // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:Pattern=`^https://|^http://` Server string `json:"server"` // CertificateAuthorityData is the base64-encoded Kubernetes API server CA bundle. // +kubebuilder:validation:MinLength=1 CertificateAuthorityData string `json:"certificateAuthorityData"` }
TokenCredentialRequestAPIInfo describes the parameters for the TokenCredentialRequest API on this Concierge.
func (*TokenCredentialRequestAPIInfo) DeepCopy ¶
func (in *TokenCredentialRequestAPIInfo) DeepCopy() *TokenCredentialRequestAPIInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TokenCredentialRequestAPIInfo.
func (*TokenCredentialRequestAPIInfo) DeepCopyInto ¶
func (in *TokenCredentialRequestAPIInfo) DeepCopyInto(out *TokenCredentialRequestAPIInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.