Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the extensions v1alpha1 API group +kubebuilder:object:generate=true +groupName=dashboard.gardener.cloud
Index ¶
- Constants
- Variables
- func EqualServiceAccountRefs(ref1, ref2 *corev1.ObjectReference) bool
- func EqualShootRefs(ref1, ref2 *ShootRef) bool
- type APIServer
- type Authorization
- type BindingKind
- type ClusterCredentials
- type Container
- type ControllerManagerConfiguration
- type ControllerManagerControllerConfiguration
- type ControllerManagerWebhookConfiguration
- type Duration
- type ErrorCode
- type HostCluster
- type LastError
- type LastOperation
- type LastOperationState
- type LastOperationType
- type Pod
- type ProjectMembership
- type RoleBinding
- type Server
- type ServerConfiguration
- type ServiceAccountControllerConfiguration
- type ShootRef
- type TargetCluster
- type Terminal
- type TerminalControllerConfiguration
- type TerminalHeartbeatControllerConfiguration
- type TerminalList
- type TerminalSpec
- type TerminalStatus
- type TerminalValidatingWebhookConfiguration
Constants ¶
const ( // TerminalName is the value in a Terminal resource's `.metadata.finalizers[]` array on which the Terminal controller will react // when performing a delete request on a resource. TerminalName = "terminal" // ExternalTerminalName is the value in a Kubernetes core resources `.metadata.finalizers[]` array on which the // Terminal will react when performing a delete request on a resource. ExternalTerminalName = "gardener.cloud/terminal" // Component is the label key for the component Component = "component" // TerminalComponent is the component name of the terminal controller manager. All resources created by the terminal controller will have this label TerminalComponent = "terminal-controller-manager" // GardenCreatedBy is the key for an annotation of a terminal resource whose value contains the username // of the user that created the resource. GardenCreatedBy = "gardener.cloud/created-by" // TerminalLastHeartbeat is the key for an annotation of a terminal resource whose value contains the username // of the user that created the resource. TerminalLastHeartbeat = "dashboard.gardener.cloud/last-heartbeat-at" // TerminalOperation is a constant for an annotation on a Terminal indicating that an operation shall be performed. TerminalOperation = "dashboard.gardener.cloud/operation" // TerminalReference is a label used to identify service accounts which are referred by a target or host .credential.serviceAccountRef of a Terminal (necessarily in the same namespace). // and for which cleanupProjectMembership is set to true TerminalReference = "reference.dashboard.gardener.cloud/terminal" // Description is the key for an annotation whose value contains the description for this resource // of the user that created the resource. Description = "dashboard.gardener.cloud/description" // TerminalOperationKeepalive is a constant for an annotation on a Terminal indicating that the Terminal should be kept alive for a certain period of time. TerminalOperationKeepalive = "keepalive" // EventReconciling indicates that a Reconcile operation started. EventReconciling = "Reconciling" // EventReconciled indicates that a Reconcile operation was successful. EventReconciled = "Reconciled" // EventReconcileError indicates that a Reconcile operation failed. EventReconcileError = "ReconcileError" // EventDeleting indicates that a Delete operation started. EventDeleting = "Deleting" // EventDeleted indicates that a Delete operation was successful. EventDeleted = "Deleted" // EventDeleteError indicates that a Delete operation failed. EventDeleteError = "DeleteError" // BindingKindClusterRoleBinding will result in a ClusterRoleBinding BindingKindClusterRoleBinding BindingKind = "ClusterRoleBinding" // BindingKindRoleBinding will result in a RoleBinding BindingKindRoleBinding BindingKind = "RoleBinding" // KubeconfigSecretResourceNamePrefix is a name prefix for the kubeconfig secret used within the terminal pod. KubeconfigSecretResourceNamePrefix = "term-kubeconfig-" // #nosec G101 -- No credential. // TokenSecretResourceNamePrefix is a name prefix for the token secret that is mounted to the terminal pod. TokenSecretResourceNamePrefix = "term-token-" // TerminalAttachResourceNamePrefix is a name prefix for resources related to attach to the terminal pod. TerminalAttachResourceNamePrefix = "term-attach-" // TerminalAccessResourceNamePrefix is a name prefix for resources related to accessing the target cluster. TerminalAccessResourceNamePrefix = "term-access-" // TerminalPodResourceNamePrefix is a name prefix for the terminal pod TerminalPodResourceNamePrefix = "term-" // TerminalAttachRoleResourceNamePrefix is a name prefix for the role allowing to attach to the terminal pod TerminalAttachRoleResourceNamePrefix = "dashboard.gardener.cloud:term-attach-" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "dashboard.gardener.cloud", 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 EqualServiceAccountRefs ¶ added in v0.34.0
func EqualServiceAccountRefs(ref1, ref2 *corev1.ObjectReference) bool
EqualServiceAccountRefs checks if two ServiceAccountRef objects are equal
func EqualShootRefs ¶ added in v0.34.0
EqualShootRefs checks if two ShootRef objects are equal
Types ¶
type APIServer ¶ added in v0.14.0
type APIServer struct { // ServiceRef is a reference to the kube-apiserver service on the host cluster that points to the kube-apiserver of the target cluster. If no namespace is set on the object reference, it is defaulted to Spec.Host.Namespace. // +optional ServiceRef *corev1.ObjectReference `json:"serviceRef,omitempty"` // Server is the address of the target kubernetes cluster (https://hostname:port). The address should be accessible from the terminal pod within the host cluster. // +optional Server string `json:"server,omitempty"` // CAData holds PEM-encoded bytes (typically read from a root certificates bundle). // +optional // +nullable CAData []byte `json:"caData"` }
APIServer references the kube-apiserver.
func (*APIServer) DeepCopy ¶ added in v0.14.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServer.
func (*APIServer) DeepCopyInto ¶ added in v0.14.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Authorization ¶ added in v0.14.0
type Authorization struct { // RoleBindings defines the desired (temporary) rbac role bindings the "access" service account should be assigned to // +optional RoleBindings []RoleBinding `json:"roleBindings,omitempty"` // ProjectMemberships defines the (temporary) project memberships of the "access" service account. Each project is updated by using the target.credential, hence the target has the be the (virtual) garden cluster. // +optional ProjectMemberships []ProjectMembership `json:"projectMemberships,omitempty"` }
Authorization the desired (temporary) privileges the "access" service account should receive. Either rbac role bindings can be defined, or the service account can be added as member to a gardener project with specific roles. In the latter case, gardener manages the rbac.
func (*Authorization) DeepCopy ¶ added in v0.14.0
func (in *Authorization) DeepCopy() *Authorization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Authorization.
func (*Authorization) DeepCopyInto ¶ added in v0.14.0
func (in *Authorization) DeepCopyInto(out *Authorization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BindingKind ¶
type BindingKind string
BindingKind describes the desired role binding +kubebuilder:validation:Enum=ClusterRoleBinding;RoleBinding;""
func (BindingKind) String ¶ added in v0.14.0
func (c BindingKind) String() string
type ClusterCredentials ¶
type ClusterCredentials struct { // ServiceAccountRef is a reference to a service account that should be used, usually to manage resources on the same cluster as the service account is residing in // Either ShootRef or ServiceAccountRef must be set, but not both. // +optional ServiceAccountRef *corev1.ObjectReference `json:"serviceAccountRef,omitempty"` // ShootRef references the shoot cluster. The admin kubeconfig retrieved from the shoots/adminkubeconfig endpoint is used // Either ShootRef or ServiceAccountRef must be set, but not both. // +optional ShootRef *ShootRef `json:"shootRef,omitempty"` }
ClusterCredentials define the credentials for a kubernetes cluster
func (*ClusterCredentials) DeepCopy ¶
func (in *ClusterCredentials) DeepCopy() *ClusterCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterCredentials.
func (*ClusterCredentials) DeepCopyInto ¶
func (in *ClusterCredentials) DeepCopyInto(out *ClusterCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Container ¶
type Container struct { // Image defines the image used for the container. // As this image is also used for the "setup" init container, the `/bin/cp` binary has to be part of the image Image string `json:"image"` // Entrypoint array. Not executed within a shell. // The docker image's ENTRYPOINT is used if this is not provided. // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable // cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax // can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, // regardless of whether the variable exists or not. // Cannot be updated. // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // +optional Command []string `json:"command,omitempty"` // Arguments to the entrypoint. // The docker image's CMD is used if this is not provided. // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable // cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax // can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, // regardless of whether the variable exists or not. // Cannot be updated. // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell // +optional Args []string `json:"args,omitempty"` // Compute Resources required by this container. // Cannot be updated. // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ // +optional Resources corev1.ResourceRequirements `json:"resources,omitempty"` // Run container in privileged mode. // Processes in privileged containers are essentially equivalent to root on the host. // Defaults to false. // +optional Privileged bool `json:"privileged,omitempty"` }
A single application container that you want to run within a pod.
func (*Container) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container.
func (*Container) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerManagerConfiguration ¶
type ControllerManagerConfiguration struct { // +optional Kind string `json:"kind"` // +optional APIVersion string `json:"apiVersion"` // Server defines the configuration of the HTTP server. Server ServerConfiguration `json:"server"` // Controllers defines the configuration of the controllers. Controllers ControllerManagerControllerConfiguration `json:"controllers"` // Webhooks defines the configuration of the admission webhooks. Webhooks ControllerManagerWebhookConfiguration `json:"webhooks"` // HonourServiceAccountRefHostCluster defines if `host.credentials.serviceAccountRef` property should be honoured. // It is recommended to be set to false for multi-cluster setups, in case pods are refused on the (virtual) garden cluster where the terminal resources are stored. // Defaults to true. // +optional HonourServiceAccountRefHostCluster *bool `json:"honourServiceAccountRefHostCluster,omitempty"` // HonourServiceAccountRefTargetCluster defines if `target.credentials.serviceAccountRef` property should be honoured. // Defaults to true. // +optional HonourServiceAccountRefTargetCluster *bool `json:"honourServiceAccountRefTargetCluster,omitempty"` // HonourProjectMemberships defines if `target.authorization.projectMemberships` property should be honoured. // It is recommended to be set to false in case no gardener API server extension is registered for the (virtual) garden cluster where the terminal resources are stored. // Defaults to true. // +optional HonourProjectMemberships *bool `json:"honourProjectMemberships,omitempty"` // HonourCleanupProjectMembership defines if `target.credential.serviceAccountRef.cleanupProjectMembership` property should be honoured. // It is recommended to be set to false in case no gardener API server extension is registered for the (virtual) garden cluster where the terminal resources are stored. // Defaults to false. // +optional HonourCleanupProjectMembership *bool `json:"honourCleanupProjectMembership,omitempty"` // LeaderElection defines the configuration of leader election client. // +optional LeaderElection *componentbaseconfigv1alpha1.LeaderElectionConfiguration `json:"leaderElection,omitempty"` }
ControllerManagerConfiguration defines the configuration for the Gardener controller manager.
func (*ControllerManagerConfiguration) DeepCopy ¶
func (in *ControllerManagerConfiguration) DeepCopy() *ControllerManagerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerManagerConfiguration.
func (*ControllerManagerConfiguration) DeepCopyInto ¶
func (in *ControllerManagerConfiguration) DeepCopyInto(out *ControllerManagerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerManagerControllerConfiguration ¶
type ControllerManagerControllerConfiguration struct { // Terminal defines the configuration of the Terminal controller. Terminal TerminalControllerConfiguration `json:"terminal"` // TerminalHeartbeat defines the configuration of the TerminalHeartbeat controller. TerminalHeartbeat TerminalHeartbeatControllerConfiguration `json:"terminalHeartbeat"` // ServiceAccount defines the configuration of the ServiceAccount controller. ServiceAccount ServiceAccountControllerConfiguration `json:"serviceAccount"` }
ControllerManagerControllerConfiguration defines the configuration of the controllers.
func (*ControllerManagerControllerConfiguration) DeepCopy ¶
func (in *ControllerManagerControllerConfiguration) DeepCopy() *ControllerManagerControllerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerManagerControllerConfiguration.
func (*ControllerManagerControllerConfiguration) DeepCopyInto ¶
func (in *ControllerManagerControllerConfiguration) DeepCopyInto(out *ControllerManagerControllerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerManagerWebhookConfiguration ¶
type ControllerManagerWebhookConfiguration struct { // TerminalValidation defines the configuration of the validating webhook. TerminalValidation TerminalValidatingWebhookConfiguration `json:"terminalValidation"` }
ControllerManagerWebhookConfiguration defines the configuration of the admission webhooks.
func (*ControllerManagerWebhookConfiguration) DeepCopy ¶
func (in *ControllerManagerWebhookConfiguration) DeepCopy() *ControllerManagerWebhookConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerManagerWebhookConfiguration.
func (*ControllerManagerWebhookConfiguration) DeepCopyInto ¶
func (in *ControllerManagerWebhookConfiguration) DeepCopyInto(out *ControllerManagerWebhookConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Duration ¶
Duration is a wrapper around time.Duration which supports correct marshaling to YAML. In particular, it marshals into strings, which can be used as map keys in json.
func (*Duration) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Duration.
func (*Duration) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Duration) UnmarshalJSON ¶ added in v0.32.0
UnmarshalJSON implements the json.Unmarshaler interface.
func (*Duration) UnmarshalYAML ¶
UnmarshalYAML implements the yaml.Unmarshaller interface.
type HostCluster ¶
type HostCluster struct { // ClusterCredentials define the credentials to the host cluster Credentials ClusterCredentials `json:"credentials"` // Namespace is the namespace where the pod resides in // This field should not be set if TemporaryNamespace is set to true but must be set in case TemporaryNamespace is set to false. // +optional Namespace *string `json:"namespace,omitempty"` // TemporaryNamespace is a flag to indicate if the namespace should be ephemeral. If true, the namespace will be created and when the terminal is deleted, the namespace is also deleted. // If true, the mutating webhook makes sure that a temporary namespace is set; in this case you cannot choose the namespace // This field should be false if Namespace is set. You cannot define the name of the temporary namespace. // +optional TemporaryNamespace *bool `json:"temporaryNamespace,omitempty"` Pod Pod `json:"pod"` }
HostCluster defines the desired state of the resources related to the host cluster
func (*HostCluster) DeepCopy ¶
func (in *HostCluster) DeepCopy() *HostCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostCluster.
func (*HostCluster) DeepCopyInto ¶
func (in *HostCluster) DeepCopyInto(out *HostCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LastError ¶
type LastError struct { // Description is a human-readable message indicating details about the last error. Description string `json:"description"` // Last time the error was reported // +optional LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` }
LastError indicates the last occurred error for an operation on a resource.
func (*LastError) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LastError.
func (*LastError) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LastOperation ¶ added in v0.32.0
type LastOperation struct { // A human-readable message indicating details about the last operation. Description string `json:"description"` // Last time the operation state transitioned from one to another. LastUpdateTime metav1.Time `json:"lastUpdateTime"` // Status of the last operation, one of Processing, Succeeded, Error. State LastOperationState `json:"state"` // Type of the last operation, one of Reconcile, Delete. Type LastOperationType `json:"type"` }
LastOperation indicates the type and the state of the last operation, along with a description message.
func (*LastOperation) DeepCopy ¶ added in v0.32.0
func (in *LastOperation) DeepCopy() *LastOperation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LastOperation.
func (*LastOperation) DeepCopyInto ¶ added in v0.32.0
func (in *LastOperation) DeepCopyInto(out *LastOperation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LastOperationState ¶ added in v0.32.0
type LastOperationState string
const ( // LastOperationStateProcessing indicates that an operation is ongoing. LastOperationStateProcessing LastOperationState = "Processing" // LastOperationStateSucceeded indicates that an operation has completed successfully. LastOperationStateSucceeded LastOperationState = "Succeeded" // LastOperationStateError indicates that an operation is completed with errors and will be retried. LastOperationStateError LastOperationState = "Error" )
LastOperationState is a string alias.
type LastOperationType ¶ added in v0.32.0
type LastOperationType string
LastOperationType is a string alias.
const ( // LastOperationTypeReconcile indicates a 'reconcile' operation. LastOperationTypeReconcile LastOperationType = "Reconcile" // LastOperationTypeDelete indicates a 'delete' operation. LastOperationTypeDelete LastOperationType = "Delete" )
type Pod ¶
type Pod struct { // Map of string keys and values that can be used to organize and categorize // (scope and select) objects. Will be set as labels of the pod // +optional Labels map[string]string `json:"labels,omitempty"` // Container belonging to the pod. // Cannot be updated. // +optional if ContainerImage is set Container *Container `json:"container,omitempty"` // ContainerImage defines the image used for the container. // ContainerImage is ignored if Container is set. // +optional // Deprecated: Use `Container.Image` instead. ContainerImage string `json:"containerImage,omitempty"` // Run container in privileged mode. // Privileged is ignored if Container is set. // Processes in privileged containers are essentially equivalent to root on the host. // Defaults to false. // +optional // Deprecated: Use `Container.Privileged` instead. Privileged bool `json:"privileged,omitempty"` // Host networking requested for this pod. Use the host's network namespace. // Default to false. // +optional HostNetwork bool `json:"hostNetwork,omitempty"` // Use the host's pid namespace. // Default to false. // +optional HostPID bool `json:"hostPID,omitempty"` // 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. // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` }
Pod defines the desired state of the pod
func (*Pod) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pod.
func (*Pod) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProjectMembership ¶ added in v0.14.0
type ProjectMembership struct { // ProjectName is the name of the project, the "access" service account should be member of ProjectName string `json:"projectName"` // Roles defines the gardener roles the "access" service account should receive, e.g. admin, viewer, uam. Roles []string `json:"roles"` }
ProjectMembership defines the (temporary) project membership of the "access" service account. The project is updated by using the target.credential, hence the target has the be the (virtual) garden cluster.
func (*ProjectMembership) DeepCopy ¶ added in v0.14.0
func (in *ProjectMembership) DeepCopy() *ProjectMembership
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMembership.
func (*ProjectMembership) DeepCopyInto ¶ added in v0.14.0
func (in *ProjectMembership) DeepCopyInto(out *ProjectMembership)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleBinding ¶ added in v0.14.0
type RoleBinding struct { // NameSuffix is the name suffix of the temporary (Cluster)RoleBinding that will be created. NameSuffix should be unique NameSuffix string `json:"nameSuffix"` // RoleRef can reference a Role in the current namespace or a ClusterRole in the global namespace. RoleRef rbacv1.RoleRef `json:"roleRef"` // BindingKind defines the desired role binding. ClusterRoleBinding will result in a ClusterRoleBinding. RoleBinding will result in a RoleBinding. BindingKind BindingKind `json:"bindingKind"` }
func (*RoleBinding) DeepCopy ¶ added in v0.14.0
func (in *RoleBinding) DeepCopy() *RoleBinding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleBinding.
func (*RoleBinding) DeepCopyInto ¶ added in v0.14.0
func (in *RoleBinding) DeepCopyInto(out *RoleBinding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Server ¶ added in v0.31.0
type Server struct { // BindAddress is the IP address on which to listen for the specified port. BindAddress string `json:"bindAddress"` // Port is the port on which to serve requests. Port int `json:"port"` }
Server contains information for HTTP(S) server configuration.
func (*Server) DeepCopy ¶ added in v0.31.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Server.
func (*Server) DeepCopyInto ¶ added in v0.31.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerConfiguration ¶ added in v0.31.0
type ServerConfiguration struct { // HealthProbes is the configuration for serving the healthz and readyz endpoints. HealthProbes *Server `json:"healthProbes"` // Metrics is the configuration for serving the metrics endpoint. Metrics *Server `json:"metrics"` }
ServerConfiguration contains details for the HTTP(S) servers.
func (*ServerConfiguration) DeepCopy ¶ added in v0.31.0
func (in *ServerConfiguration) DeepCopy() *ServerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerConfiguration.
func (*ServerConfiguration) DeepCopyInto ¶ added in v0.31.0
func (in *ServerConfiguration) DeepCopyInto(out *ServerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceAccountControllerConfiguration ¶ added in v0.31.0
type ServiceAccountControllerConfiguration struct { // MaxConcurrentReconciles is the maximum number of concurrent Reconciles which can be run. Defaults to 1. MaxConcurrentReconciles int `json:"maxConcurrentReconciles"` // AllowedServiceAccountNames is a list of service account names that are allowed to be cleaned up as project members. // If the list is empty all names are considered as allowed AllowedServiceAccountNames []string `json:"allowedServiceAccountNames"` }
ServiceAccountControllerConfiguration defines the configuration of the ServiceAccount controller.
func (*ServiceAccountControllerConfiguration) DeepCopy ¶ added in v0.31.0
func (in *ServiceAccountControllerConfiguration) DeepCopy() *ServiceAccountControllerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountControllerConfiguration.
func (*ServiceAccountControllerConfiguration) DeepCopyInto ¶ added in v0.31.0
func (in *ServiceAccountControllerConfiguration) DeepCopyInto(out *ServiceAccountControllerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ShootRef ¶ added in v0.31.0
type ShootRef struct { // Namespace is the namespace of the shoot cluster Namespace string `json:"namespace"` // Name is the name of the shoot cluster Name string `json:"name"` }
ShootRef references the shoot cluster by namespace and name
func (*ShootRef) DeepCopy ¶ added in v0.31.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootRef.
func (*ShootRef) DeepCopyInto ¶ added in v0.31.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetCluster ¶
type TargetCluster struct { // ClusterCredentials define the credentials to the target cluster Credentials ClusterCredentials `json:"credentials"` // CleanupProjectMembership indicates if the service account referenced by credentials.serviceAccountRef should be removed as project member if not referenced anymore by a Terminal resource. // If true, the credentials.serviceAccountRef.namespace must be the same as the Terminal resource. // +optional CleanupProjectMembership *bool `json:"cleanupProjectMembership,omitempty"` // Namespace is a reference to the namespace within the target cluster in which the resources should be placed. // This field should not be set if TemporaryNamespace is set to true // +optional Namespace *string `json:"namespace,omitempty"` // TemporaryNamespace is a flag to indicate if the namespace should be ephemeral. If true, the namespace will be created and when the terminal is deleted, the namespace is also deleted. // If true, the mutating webhook makes sure that a temporary namespace is set; in this case you cannot choose the namespace // This field should be false if Namespace is set. You cannot define the name of the temporary namespace. // +optional TemporaryNamespace *bool `json:"temporaryNamespace,omitempty"` // KubeconfigContextNamespace is a reference to the namespace within the host cluster that should be used as default in the kubeconfig context KubeconfigContextNamespace string `json:"kubeconfigContextNamespace"` // APIServerServiceRef is a reference to the kube-apiserver service on the host cluster that points to the kube-apiserver of the target cluster. If no namespace is set on the object reference, it is defaulted to Spec.Host.Namespace. // +optional // Deprecated: use APIServer.ServiceRef instead APIServerServiceRef *corev1.ObjectReference `json:"apiServerServiceRef,omitempty"` // APIServer references the kube-apiserver of the target cluster. // +optional APIServer *APIServer `json:"apiServer,omitempty"` // RoleName is the name of the ClusterRole the "access" service account is bound to. // +optional // Deprecated: use Authorization.RoleBindings[].RoleRef.NameSuffix instead RoleName string `json:"roleName,omitempty"` // BindingKind defines the desired role binding. ClusterRoleBinding will result in a ClusterRoleBinding. RoleBinding will result in a RoleBinding. // +optional // Deprecated: use Authorization.RoleBindings[].BindingKind instead BindingKind BindingKind `json:"bindingKind,omitempty"` Authorization *Authorization `json:"authorization,omitempty"` }
TargetCluster defines the desired state of the resources related to the target cluster
func (*TargetCluster) DeepCopy ¶
func (in *TargetCluster) DeepCopy() *TargetCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetCluster.
func (*TargetCluster) DeepCopyInto ¶
func (in *TargetCluster) DeepCopyInto(out *TargetCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Terminal ¶
type Terminal struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TerminalSpec `json:"spec,omitempty"` Status TerminalStatus `json:"status,omitempty"` }
Terminal is the Schema for the terminals API
func (*Terminal) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Terminal.
func (*Terminal) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Terminal) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TerminalControllerConfiguration ¶
type TerminalControllerConfiguration struct { // MaxConcurrentReconciles is the maximum number of concurrent Reconciles which can be run. Defaults to 15. MaxConcurrentReconciles int `json:"maxConcurrentReconciles"` // MaxConcurrentReconciles is the maximum number of concurrent Reconciles which can be run per Namespace (independent of the user who created the Terminal resource). Defaults to 3. MaxConcurrentReconcilesPerNamespace int `json:"maxConcurrentReconcilesPerNamespace"` // TokenRequestExpirationSeconds is the requested duration of validity of the access token request. // The token issuer may return a token with a different validity duration. TokenRequestExpirationSeconds *int64 `json:"tokenRequestExpirationSeconds"` }
TerminalControllerConfiguration defines the configuration of the Terminal controller.
func (*TerminalControllerConfiguration) DeepCopy ¶
func (in *TerminalControllerConfiguration) DeepCopy() *TerminalControllerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminalControllerConfiguration.
func (*TerminalControllerConfiguration) DeepCopyInto ¶
func (in *TerminalControllerConfiguration) DeepCopyInto(out *TerminalControllerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerminalHeartbeatControllerConfiguration ¶
type TerminalHeartbeatControllerConfiguration struct { // MaxConcurrentReconciles is the maximum number of concurrent Reconciles which can be run. Defaults to 1. MaxConcurrentReconciles int `json:"maxConcurrentReconciles"` // TimeToLive is the duration a Terminal resource can live without receiving a heartbeat with the "dashboard.gardener.cloud/operation=keepalive" annotation. Defaults to 5m. TimeToLive Duration `json:"timeToLive"` }
TerminalHeartbeatControllerConfiguration defines the configuration of the TerminalHeartbeat controller.
func (*TerminalHeartbeatControllerConfiguration) DeepCopy ¶
func (in *TerminalHeartbeatControllerConfiguration) DeepCopy() *TerminalHeartbeatControllerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminalHeartbeatControllerConfiguration.
func (*TerminalHeartbeatControllerConfiguration) DeepCopyInto ¶
func (in *TerminalHeartbeatControllerConfiguration) DeepCopyInto(out *TerminalHeartbeatControllerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerminalList ¶
type TerminalList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Terminal `json:"items"` }
TerminalList contains a list of Terminal
func (*TerminalList) DeepCopy ¶
func (in *TerminalList) DeepCopy() *TerminalList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminalList.
func (*TerminalList) DeepCopyInto ¶
func (in *TerminalList) DeepCopyInto(out *TerminalList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TerminalList) DeepCopyObject ¶
func (in *TerminalList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TerminalSpec ¶
type TerminalSpec struct { Identifier string `json:"identifier"` Host HostCluster `json:"host"` Target TargetCluster `json:"target"` }
TerminalSpec defines the desired state of Terminal
func (*TerminalSpec) DeepCopy ¶
func (in *TerminalSpec) DeepCopy() *TerminalSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminalSpec.
func (*TerminalSpec) DeepCopyInto ¶
func (in *TerminalSpec) DeepCopyInto(out *TerminalSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerminalStatus ¶
type TerminalStatus struct { // AttachServiceAccountName is the name of service account on the host cluster // +optional AttachServiceAccountName *string `json:"attachServiceAccountName,omitempty"` // PodName is the name of the pod on the host cluster // +optional PodName *string `json:"podName,omitempty"` // LastOperation indicates the type and the state of the last operation, along with a description message. // +optional LastOperation *LastOperation `json:"lastOperation,omitempty"` // LastError contains details about the last error that occurred. // +optional LastError *LastError `json:"lastError,omitempty"` }
TerminalStatus defines the observed state of Terminal
func (*TerminalStatus) DeepCopy ¶
func (in *TerminalStatus) DeepCopy() *TerminalStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminalStatus.
func (*TerminalStatus) DeepCopyInto ¶
func (in *TerminalStatus) DeepCopyInto(out *TerminalStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TerminalValidatingWebhookConfiguration ¶
type TerminalValidatingWebhookConfiguration struct { // MaxObjectSize is the maximum size of a terminal resource in bytes. Defaults to 10240. MaxObjectSize int `json:"maxObjectSize"` }
TerminalValidatingWebhookConfiguration defines the configuration of the validating webhook.
func (*TerminalValidatingWebhookConfiguration) DeepCopy ¶
func (in *TerminalValidatingWebhookConfiguration) DeepCopy() *TerminalValidatingWebhookConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminalValidatingWebhookConfiguration.
func (*TerminalValidatingWebhookConfiguration) DeepCopyInto ¶
func (in *TerminalValidatingWebhookConfiguration) DeepCopyInto(out *TerminalValidatingWebhookConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.