v1alpha1

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: May 10, 2021 License: Apache-2.0 Imports: 3 Imported by: 2

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the Pinniped concierge configuration API.

Index

Constants

View Source
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")
)
View Source
const GroupName = "config.concierge.pinniped.dev"

Variables

View Source
var (
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
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

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

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

func (*CredentialIssuerKubeConfigInfo) DeepCopyInto

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

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

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

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

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 StrategyStatus

type StrategyStatus string

+kubebuilder:validation:Enum=Success;Error

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

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

func (*TokenCredentialRequestAPIInfo) DeepCopyInto

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL