Documentation ¶
Overview ¶
+groupName=greenhouse.sap
Package v1alpha1 contains API Schema definitions for the greenhouse.sap v1alpha1 API group +kubebuilder:object:generate=true +groupName=greenhouse.sap
Index ¶
- Constants
- Variables
- type Authentication
- type Cluster
- type ClusterAccessMode
- type ClusterConditionType
- type ClusterKubeconfig
- type ClusterKubeconfigAuthInfo
- type ClusterKubeconfigAuthInfoItem
- type ClusterKubeconfigCluster
- type ClusterKubeconfigClusterItem
- type ClusterKubeconfigContext
- type ClusterKubeconfigContextItem
- type ClusterKubeconfigData
- type ClusterKubeconfigList
- type ClusterKubeconfigPreferences
- type ClusterKubeconfigSpec
- type ClusterList
- type ClusterSpec
- type ClusterStatus
- type Condition
- func FalseCondition(t ConditionType, reason ConditionReason, message string) Condition
- func NewCondition(condition ConditionType, status metav1.ConditionStatus, reason ConditionReason, ...) Condition
- func TrueCondition(t ConditionType, reason ConditionReason, message string) Condition
- func UnknownCondition(t ConditionType, reason ConditionReason, message string) Condition
- type ConditionReason
- type ConditionType
- type HeadScaleMachineStatus
- type HelmChartReference
- type HelmReleaseStatus
- type NodeStatus
- type OIDCConfig
- type Organization
- type OrganizationList
- type OrganizationSpec
- type OrganizationStatus
- type Plugin
- type PluginDefinition
- type PluginDefinitionList
- type PluginDefinitionSpec
- type PluginDefinitionStatus
- type PluginList
- type PluginOption
- type PluginOptionType
- type PluginOptionValue
- type PluginPreset
- type PluginPresetList
- type PluginPresetSpec
- type PluginPresetStatus
- type PluginSpec
- type PluginStatus
- type PreAuthKey
- type PropagationStatus
- type SecretKeyReference
- type Service
- type StatusConditions
- func (in *StatusConditions) DeepCopy() *StatusConditions
- func (in *StatusConditions) DeepCopyInto(out *StatusConditions)
- func (sc *StatusConditions) GetConditionByType(conditionType ConditionType) *Condition
- func (sc *StatusConditions) IsReadyTrue() bool
- func (sc *StatusConditions) SetConditions(conditionsToSet ...Condition)
- type Team
- type TeamList
- type TeamMembership
- type TeamMembershipList
- type TeamMembershipSpec
- type TeamMembershipStatus
- type TeamRole
- type TeamRoleBinding
- type TeamRoleBindingList
- type TeamRoleBindingSpec
- type TeamRoleBindingStatus
- type TeamRoleList
- type TeamRoleSpec
- type TeamRoleStatus
- type TeamSpec
- type TeamStatus
- type UIApplicationReference
- type User
- type ValueFromSource
Constants ¶
const ( // ClusterAccessModeDirect configures direct access to the cluster. ClusterAccessModeDirect ClusterAccessMode = "direct" // ClusterAccessModeHeadscale configures headscale-based access to the cluster. ClusterAccessModeHeadscale ClusterAccessMode = "headscale" // AllNodesReady reflects the readiness status of all nodes of a cluster. AllNodesReady ConditionType = "AllNodesReady" // KubeConfigValid reflects the validity of the kubeconfig of a cluster. KubeConfigValid ConditionType = "KubeConfigValid" )
const ( // Success is used if the resource was successfully reconciled SuccessEvent = "Success" // FailedEvent is used if the resource reconciliation failed FailedEvent = "Failed" // SuccessfulDeletedEvent is used if the resource was deleted successfully SuccessfulDeletedEvent = "SuccessfulDeleted" // FailedDeleteFailedReason is used if the delete failed FailedDeleteEvent = "FailedDelete" )
const ( // ClusterAccessReadyCondition reflects if we can access the cluster a Plugin is to be deployed to. ClusterAccessReadyCondition ConditionType = "ClusterAccessReady" // HelmReconcileFailedCondition reflects the failed reconciliation of the corresponding helm release. HelmReconcileFailedCondition ConditionType = "HelmReconcileFailed" // HelmDriftDetectedCondition reflects the last time a drift between Release and Deployed Resources was detected. HelmDriftDetectedCondition ConditionType = "HelmDriftDetected" // WorkloadReadyCondition reflects the readiness of the workload resources belonging to the Plugin. WorkloadReadyCondition ConditionType = "WorkloadReady" // StatusUpToDateCondition reflects the failed reconciliation of the Plugin. StatusUpToDateCondition ConditionType = "StatusUpToDate" // PluginDefinitionNotFoundReason is set when the pluginDefinition is not found. PluginDefinitionNotFoundReason ConditionReason = "PluginDefinitionNotFound" // HelmUninstallFailedReason is set when the helm release could not be uninstalled. HelmUninstallFailedReason ConditionReason = "HelmUninstallFailed" )
const ( // RBACReady is the condition type for the TeamRoleBinding when the rbacv1 resources are ready RBACReady ConditionType = "RBACReady" // RBACReconciled is the condition reason for the TeamRoleBinding when the rbacv1 resources are successfully reconciled RBACReconciled ConditionReason = "RBACReconciled" // RBACReconcileFailed is the condition reason for the TeamRoleBinding when not all of the rbacv1 resources have been successfully reconciled RBACReconcileFailed ConditionReason = "RBACReconcileFailed" // EmptyClusterList is the condition reason for a resource when the clusterSelector and clusterName do not provide any existing cluster EmptyClusterList ConditionReason = "EmptyClusterList" // TeamNotFound is the condition reason when the resources refers to a non-existing Team TeamNotFound ConditionReason = "TeamNotFound" // ClusterConnectionFailed is the condition reason for the TeamRoleBinding when the connection to the cluster failed ClusterConnectionFailed ConditionReason = "ClusterConnectionFailed" // ClusterRoleFailed is the condition reason for the TeamRoleBinding when the ClusterRole could not be created ClusterRoleFailed ConditionReason = "ClusterRoleFailed" // RoleBindingFailed is the condition reason for the TeamRoleBinding when the RoleBinding could not be created RoleBindingFailed ConditionReason = "RoleBindingFailed" )
const (
// PluginPresetKind is the kind of the PluginPreset resource
PluginPresetKind = "PluginPreset"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: apis.GroupName, Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &apis.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type Authentication ¶
type Authentication struct { // OIDConfig configures the OIDC provider. OIDCConfig *OIDCConfig `json:"oidc,omitempty"` }
func (*Authentication) DeepCopy ¶
func (in *Authentication) DeepCopy() *Authentication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Authentication.
func (*Authentication) DeepCopyInto ¶
func (in *Authentication) DeepCopyInto(out *Authentication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cluster ¶
type Cluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterSpec `json:"spec,omitempty"` Status ClusterStatus `json:"status,omitempty"` }
Cluster is the Schema for the clusters API
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Cluster) GetSecretName ¶
GetSecretName returns the Kubernetes secret containing sensitive data for this cluster. The secret is for internal usage only and its content must not be exposed to the user.
type ClusterAccessMode ¶
type ClusterAccessMode string
ClusterAccessMode configures the access mode to the customer cluster. +kubebuilder:validation:Enum=direct;headscale
type ClusterConditionType ¶
type ClusterConditionType string
ClusterConditionType is a valid condition of a cluster.
type ClusterKubeconfig ¶
type ClusterKubeconfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClusterKubeconfigSpec `json:"spec,omitempty"` }
ClusterKubeconfig is the Schema for the clusterkubeconfigs API ObjectMeta.OwnerReferences is used to link the ClusterKubeconfig to the Cluster ObjectMeta.Generation is used to detect changes in the ClusterKubeconfig and sync local kubeconfig files ObjectMeta.Name is designed to be the same with the Cluster name
func (*ClusterKubeconfig) DeepCopy ¶
func (in *ClusterKubeconfig) DeepCopy() *ClusterKubeconfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKubeconfig.
func (*ClusterKubeconfig) DeepCopyInto ¶
func (in *ClusterKubeconfig) DeepCopyInto(out *ClusterKubeconfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterKubeconfig) DeepCopyObject ¶
func (in *ClusterKubeconfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterKubeconfigAuthInfo ¶
type ClusterKubeconfigAuthInfo struct { AuthProvider clientcmdapi.AuthProviderConfig `json:"auth-provider,omitempty"` ClientCertificateData []byte `json:"client-certificate-data,omitempty"` ClientKeyData []byte `json:"client-key-data,omitempty"` }
func (*ClusterKubeconfigAuthInfo) DeepCopy ¶
func (in *ClusterKubeconfigAuthInfo) DeepCopy() *ClusterKubeconfigAuthInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKubeconfigAuthInfo.
func (*ClusterKubeconfigAuthInfo) DeepCopyInto ¶
func (in *ClusterKubeconfigAuthInfo) DeepCopyInto(out *ClusterKubeconfigAuthInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterKubeconfigAuthInfoItem ¶
type ClusterKubeconfigAuthInfoItem struct { Name string `json:"name"` AuthInfo ClusterKubeconfigAuthInfo `json:"user,omitempty"` }
func (*ClusterKubeconfigAuthInfoItem) DeepCopy ¶
func (in *ClusterKubeconfigAuthInfoItem) DeepCopy() *ClusterKubeconfigAuthInfoItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKubeconfigAuthInfoItem.
func (*ClusterKubeconfigAuthInfoItem) DeepCopyInto ¶
func (in *ClusterKubeconfigAuthInfoItem) DeepCopyInto(out *ClusterKubeconfigAuthInfoItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterKubeconfigCluster ¶
type ClusterKubeconfigCluster struct { Server string `json:"server,omitempty"` CertificateAuthorityData []byte `json:"certificate-authority-data,omitempty"` }
func (*ClusterKubeconfigCluster) DeepCopy ¶
func (in *ClusterKubeconfigCluster) DeepCopy() *ClusterKubeconfigCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKubeconfigCluster.
func (*ClusterKubeconfigCluster) DeepCopyInto ¶
func (in *ClusterKubeconfigCluster) DeepCopyInto(out *ClusterKubeconfigCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterKubeconfigClusterItem ¶
type ClusterKubeconfigClusterItem struct { Name string `json:"name"` Cluster ClusterKubeconfigCluster `json:"cluster"` }
func (*ClusterKubeconfigClusterItem) DeepCopy ¶
func (in *ClusterKubeconfigClusterItem) DeepCopy() *ClusterKubeconfigClusterItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKubeconfigClusterItem.
func (*ClusterKubeconfigClusterItem) DeepCopyInto ¶
func (in *ClusterKubeconfigClusterItem) DeepCopyInto(out *ClusterKubeconfigClusterItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterKubeconfigContext ¶
type ClusterKubeconfigContext struct { Cluster string `json:"cluster"` AuthInfo string `json:"user"` Namespace string `json:"namespace,omitempty"` }
func (*ClusterKubeconfigContext) DeepCopy ¶
func (in *ClusterKubeconfigContext) DeepCopy() *ClusterKubeconfigContext
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKubeconfigContext.
func (*ClusterKubeconfigContext) DeepCopyInto ¶
func (in *ClusterKubeconfigContext) DeepCopyInto(out *ClusterKubeconfigContext)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterKubeconfigContextItem ¶
type ClusterKubeconfigContextItem struct { Name string `json:"name"` Context ClusterKubeconfigContext `json:"context,omitempty"` }
func (*ClusterKubeconfigContextItem) DeepCopy ¶
func (in *ClusterKubeconfigContextItem) DeepCopy() *ClusterKubeconfigContextItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKubeconfigContextItem.
func (*ClusterKubeconfigContextItem) DeepCopyInto ¶
func (in *ClusterKubeconfigContextItem) DeepCopyInto(out *ClusterKubeconfigContextItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterKubeconfigData ¶
type ClusterKubeconfigData struct { Kind string `json:"kind,omitempty"` APIVersion string `json:"apiVersion,omitempty"` Clusters []ClusterKubeconfigClusterItem `json:"clusters,omitempty"` AuthInfo []ClusterKubeconfigAuthInfoItem `json:"users"` Contexts []ClusterKubeconfigContextItem `json:"contexts"` CurrentContext string `json:"current-context,omitempty"` Preferences ClusterKubeconfigPreferences `json:"preferences,omitempty"` }
ClusterKubeconfigData stores the kubeconfig data ready to use kubectl or other local tooling It is a simplified version of clientcmdapi.Config: https://pkg.go.dev/k8s.io/client-go/tools/clientcmd/api#Config
func (*ClusterKubeconfigData) DeepCopy ¶
func (in *ClusterKubeconfigData) DeepCopy() *ClusterKubeconfigData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKubeconfigData.
func (*ClusterKubeconfigData) DeepCopyInto ¶
func (in *ClusterKubeconfigData) DeepCopyInto(out *ClusterKubeconfigData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterKubeconfigList ¶
type ClusterKubeconfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClusterKubeconfig `json:"items"` }
ClusterKubeconfigList contains a list of ClusterKubeconfig
func (*ClusterKubeconfigList) DeepCopy ¶
func (in *ClusterKubeconfigList) DeepCopy() *ClusterKubeconfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKubeconfigList.
func (*ClusterKubeconfigList) DeepCopyInto ¶
func (in *ClusterKubeconfigList) DeepCopyInto(out *ClusterKubeconfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterKubeconfigList) DeepCopyObject ¶
func (in *ClusterKubeconfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterKubeconfigPreferences ¶
type ClusterKubeconfigPreferences struct { }
func (*ClusterKubeconfigPreferences) DeepCopy ¶
func (in *ClusterKubeconfigPreferences) DeepCopy() *ClusterKubeconfigPreferences
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKubeconfigPreferences.
func (*ClusterKubeconfigPreferences) DeepCopyInto ¶
func (in *ClusterKubeconfigPreferences) DeepCopyInto(out *ClusterKubeconfigPreferences)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterKubeconfigSpec ¶
type ClusterKubeconfigSpec struct {
Kubeconfig ClusterKubeconfigData `json:"kubeconfig,omitempty"`
}
ClusterKubeconfigSpec stores the kubeconfig data for the cluster The idea is to use kubeconfig data locally with minimum effort (with local tools or plain kubectl): kubectl get cluster-kubeconfig $NAME -o yaml | yq -y .spec.kubeconfig
func (*ClusterKubeconfigSpec) DeepCopy ¶
func (in *ClusterKubeconfigSpec) DeepCopy() *ClusterKubeconfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterKubeconfigSpec.
func (*ClusterKubeconfigSpec) DeepCopyInto ¶
func (in *ClusterKubeconfigSpec) DeepCopyInto(out *ClusterKubeconfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterList ¶
type ClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Cluster `json:"items"` }
ClusterList contains a list of Cluster
func (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterSpec ¶
type ClusterSpec struct { // AccessMode configures how the cluster is accessed from the Greenhouse operator. AccessMode ClusterAccessMode `json:"accessMode"` }
ClusterSpec defines the desired state of the Cluster.
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterStatus ¶
type ClusterStatus struct { // KubernetesVersion reflects the detected Kubernetes version of the cluster. KubernetesVersion string `json:"kubernetesVersion,omitempty"` // BearerTokenExpirationTimestamp reflects the expiration timestamp of the bearer token used to access the cluster. BearerTokenExpirationTimestamp metav1.Time `json:"bearerTokenExpirationTimestamp,omitempty"` // HeadScaleStatus contains the current status of the headscale client. HeadScaleStatus *HeadScaleMachineStatus `json:"headScaleStatus,omitempty"` // StatusConditions contain the different conditions that constitute the status of the Cluster. StatusConditions `json:"statusConditions,omitempty"` // Nodes provides a map of cluster node names to node statuses Nodes map[string]NodeStatus `json:"nodes,omitempty"` }
ClusterStatus defines the observed state of Cluster
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Condition ¶
type Condition struct { // Type of the condition. Type ConditionType `json:"type"` // Status of the condition. Status metav1.ConditionStatus `json:"status"` // Reason is a one-word, CamelCase reason for the condition's last transition. Reason ConditionReason `json:"reason,omitempty"` // LastTransitionTime is the last time the condition transitioned from one status to another. LastTransitionTime metav1.Time `json:"lastTransitionTime"` // Message is an optional human readable message indicating details about the last transition. Message string `json:"message,omitempty"` }
Condition contains additional information on the state of a resource.
func FalseCondition ¶
func FalseCondition(t ConditionType, reason ConditionReason, message string) Condition
NewTrue returns a Condition with ConditionFalse and the given type, reason and message. LastTransitionTime is set to now.
func NewCondition ¶
func NewCondition(condition ConditionType, status metav1.ConditionStatus, reason ConditionReason, message string) Condition
NewCondition returns a Condition with the given type, status, reason and message. LastTransitionTime is set to now.
func TrueCondition ¶
func TrueCondition(t ConditionType, reason ConditionReason, message string) Condition
TrueCondition returns a Condition with ConditionTrue and the given type, reason and message. LastTransitionTime is set to now.
func UnknownCondition ¶
func UnknownCondition(t ConditionType, reason ConditionReason, message string) Condition
UnknownCondition returns a Condition with ConditionUnknown and the given type, reason and message. LastTransitionTime is set to now.
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Condition) Equal ¶
Equal returns true if the condition is identical to the supplied condition, ignoring the LastTransitionTime.
type ConditionReason ¶
type ConditionReason string
ConditionReason is a valid reason for a condition of a resource.
type ConditionType ¶
type ConditionType string
ConditionType is a valid condition of a resource.
const ( // ReadyCondition reflects the overall readiness status of a resource. ReadyCondition ConditionType = "Ready" // ClusterListEmpty is set when the resources ClusterSelector results in an empty ClusterList. ClusterListEmpty ConditionType = "ClusterListEmpty" // Mirroring corev1.NodeConditionType values // NodeMemoryPressure means the kubelet is under pressure due to insufficient available memory. NodeMemoryPressure ConditionType = "MemoryPressure" // NodeDiskPressure means the kubelet is under pressure due to insufficient available disk. NodeDiskPressure ConditionType = "DiskPressure" // NodePIDPressure means the kubelet is under pressure due to insufficient available PID. NodePIDPressure ConditionType = "PIDPressure" NodeNetworkUnavailable ConditionType = "NetworkUnavailable" )
const ( // PluginSkippedCondition is set when the pluginPreset encounters a non-managed plugin. PluginSkippedCondition ConditionType = "PluginSkipped" // PluginFailedCondition is set when the pluginPreset encounters a failure during the reconciliation of a plugin. PluginFailedCondition ConditionType = "PluginFailed" )
const ( // HeadscaleReady reflects the readiness status of the headscale access of a cluster. HeadscaleReady ConditionType = "HeadscaleReady" )
type HeadScaleMachineStatus ¶
type HeadScaleMachineStatus struct { ID uint64 `json:"id,omitempty"` IPAddresses []string `json:"ipAddresses,omitempty"` Name string `json:"name,omitempty"` Expiry metav1.Time `json:"expiry,omitempty"` CreatedAt metav1.Time `json:"createdAt,omitempty"` ForcedTags []string `json:"forcedTags,omitempty"` PreAuthKey *PreAuthKey `json:"preAuthKey,omitempty"` Online bool `json:"online,omitempty"` }
HeadScaleMachineStatus is the status of a Headscale machine.
func (*HeadScaleMachineStatus) DeepCopy ¶
func (in *HeadScaleMachineStatus) DeepCopy() *HeadScaleMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeadScaleMachineStatus.
func (*HeadScaleMachineStatus) DeepCopyInto ¶
func (in *HeadScaleMachineStatus) DeepCopyInto(out *HeadScaleMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmChartReference ¶
type HelmChartReference struct { // Name of the HelmChart chart. Name string `json:"name"` // Repository of the HelmChart chart. Repository string `json:"repository"` // Version of the HelmChart chart. Version string `json:"version"` }
HelmChartReference references a Helm Chart in a chart repository.
func (*HelmChartReference) DeepCopy ¶
func (in *HelmChartReference) DeepCopy() *HelmChartReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmChartReference.
func (*HelmChartReference) DeepCopyInto ¶
func (in *HelmChartReference) DeepCopyInto(out *HelmChartReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HelmChartReference) String ¶
func (h *HelmChartReference) String() string
String returns the printable HelmChartReference.
type HelmReleaseStatus ¶
type HelmReleaseStatus struct { // Status is the status of a HelmChart release. Status string `json:"status"` // FirstDeployed is the timestamp of the first deployment of the release. FirstDeployed metav1.Time `json:"firstDeployed,omitempty"` // LastDeployed is the timestamp of the last deployment of the release. LastDeployed metav1.Time `json:"lastDeployed,omitempty"` }
HelmReleaseStatus reflects the status of a Helm release.
func (*HelmReleaseStatus) DeepCopy ¶
func (in *HelmReleaseStatus) DeepCopy() *HelmReleaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmReleaseStatus.
func (*HelmReleaseStatus) DeepCopyInto ¶
func (in *HelmReleaseStatus) DeepCopyInto(out *HelmReleaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeStatus ¶
type NodeStatus struct { // We mirror the node conditions here for faster reference StatusConditions `json:"statusConditions,omitempty"` // Fast track to the node ready condition. Ready bool `json:"ready,omitempty"` }
func (*NodeStatus) DeepCopy ¶
func (in *NodeStatus) DeepCopy() *NodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatus.
func (*NodeStatus) DeepCopyInto ¶
func (in *NodeStatus) DeepCopyInto(out *NodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OIDCConfig ¶
type OIDCConfig struct { // Issuer is the URL of the identity service. Issuer string `json:"issuer"` // RedirectURI is the redirect URI. // If none is specified, the Greenhouse ID proxy will be used. RedirectURI string `json:"redirectURI,omitempty"` // ClientIDReference references the Kubernetes secret containing the client id. ClientIDReference SecretKeyReference `json:"clientIDReference"` // ClientSecretReference references the Kubernetes secret containing the client secret. ClientSecretReference SecretKeyReference `json:"clientSecretReference"` }
func (*OIDCConfig) DeepCopy ¶
func (in *OIDCConfig) DeepCopy() *OIDCConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OIDCConfig.
func (*OIDCConfig) DeepCopyInto ¶
func (in *OIDCConfig) DeepCopyInto(out *OIDCConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Organization ¶
type Organization struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec OrganizationSpec `json:"spec,omitempty"` Status OrganizationStatus `json:"status,omitempty"` }
Organization is the Schema for the organizations API
func (*Organization) DeepCopy ¶
func (in *Organization) DeepCopy() *Organization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Organization.
func (*Organization) DeepCopyInto ¶
func (in *Organization) DeepCopyInto(out *Organization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Organization) DeepCopyObject ¶
func (in *Organization) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OrganizationList ¶
type OrganizationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Organization `json:"items"` }
OrganizationList contains a list of Organization
func (*OrganizationList) DeepCopy ¶
func (in *OrganizationList) DeepCopy() *OrganizationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationList.
func (*OrganizationList) DeepCopyInto ¶
func (in *OrganizationList) DeepCopyInto(out *OrganizationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OrganizationList) DeepCopyObject ¶
func (in *OrganizationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OrganizationSpec ¶
type OrganizationSpec struct { // DisplayName is an optional name for the organization to be displayed in the Greenhouse UI. // Defaults to a normalized version of metadata.name. DisplayName string `json:"displayName,omitempty"` // Authentication configures the organizations authentication mechanism. Authentication *Authentication `json:"authentication,omitempty"` // Description provides additional details of the organization. Description string `json:"description,omitempty"` // MappedOrgAdminIDPGroup is the IDP group ID identifying org admins MappedOrgAdminIDPGroup string `json:"mappedOrgAdminIdPGroup,omitempty"` }
OrganizationSpec defines the desired state of Organization
func (*OrganizationSpec) DeepCopy ¶
func (in *OrganizationSpec) DeepCopy() *OrganizationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationSpec.
func (*OrganizationSpec) DeepCopyInto ¶
func (in *OrganizationSpec) DeepCopyInto(out *OrganizationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OrganizationStatus ¶
type OrganizationStatus struct{}
OrganizationStatus defines the observed state of an Organization
func (*OrganizationStatus) DeepCopy ¶
func (in *OrganizationStatus) DeepCopy() *OrganizationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrganizationStatus.
func (*OrganizationStatus) DeepCopyInto ¶
func (in *OrganizationStatus) DeepCopyInto(out *OrganizationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Plugin ¶
type Plugin struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PluginSpec `json:"spec,omitempty"` Status PluginStatus `json:"status,omitempty"` }
Plugin is the Schema for the plugins API
func (*Plugin) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plugin.
func (*Plugin) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Plugin) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Plugin) GetReleaseNamespace ¶
GetReleaseNamespace returns the release namespace of the Plugin.
type PluginDefinition ¶
type PluginDefinition struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PluginDefinitionSpec `json:"spec,omitempty"` Status PluginDefinitionStatus `json:"status,omitempty"` }
PluginDefinition is the Schema for the PluginDefinitions API
func (*PluginDefinition) DeepCopy ¶
func (in *PluginDefinition) DeepCopy() *PluginDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginDefinition.
func (*PluginDefinition) DeepCopyInto ¶
func (in *PluginDefinition) DeepCopyInto(out *PluginDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PluginDefinition) DeepCopyObject ¶
func (in *PluginDefinition) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PluginDefinitionList ¶
type PluginDefinitionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PluginDefinition `json:"items"` }
PluginDefinitionList contains a list of PluginDefinition
func (*PluginDefinitionList) DeepCopy ¶
func (in *PluginDefinitionList) DeepCopy() *PluginDefinitionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginDefinitionList.
func (*PluginDefinitionList) DeepCopyInto ¶
func (in *PluginDefinitionList) DeepCopyInto(out *PluginDefinitionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PluginDefinitionList) DeepCopyObject ¶
func (in *PluginDefinitionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PluginDefinitionSpec ¶
type PluginDefinitionSpec struct { // DisplayName provides a human-readable label for the pluginDefinition. DisplayName string `json:"displayName,omitempty"` // Description provides additional details of the pluginDefinition. Description string `json:"description,omitempty"` // HelmChart specifies where the Helm Chart for this pluginDefinition can be found. HelmChart *HelmChartReference `json:"helmChart,omitempty"` // UIApplication specifies a reference to a UI application UIApplication *UIApplicationReference `json:"uiApplication,omitempty"` // RequiredValues is a list of values required to create an instance of this PluginDefinition. Options []PluginOption `json:"options,omitempty"` // Version of this pluginDefinition Version string `json:"version"` // Weight configures the order in which Plugins are shown in the Greenhouse UI. // Defaults to alphabetical sorting if not provided or on conflict. Weight *int32 `json:"weight,omitempty"` // Icon specifies the icon to be used for this plugin in the Greenhouse UI. // Icons can be either: // - A string representing a juno icon in camel case from this list: https://github.com/sapcc/juno/blob/main/libs/juno-ui-components/src/components/Icon/Icon.component.js#L6-L52 // - A publicly accessible image reference to a .png file. Will be displayed 100x100px Icon string `json:"icon,omitempty"` // DocMarkDownUrl specifies the URL to the markdown documentation file for this plugin. // Source needs to allow all CORS origins. DocMarkDownUrl string `json:"docMarkDownUrl,omitempty"` //nolint:stylecheck }
PluginDefinitionSpec defines the desired state of PluginDefinitionSpec
func (*PluginDefinitionSpec) DeepCopy ¶
func (in *PluginDefinitionSpec) DeepCopy() *PluginDefinitionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginDefinitionSpec.
func (*PluginDefinitionSpec) DeepCopyInto ¶
func (in *PluginDefinitionSpec) DeepCopyInto(out *PluginDefinitionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginDefinitionStatus ¶
type PluginDefinitionStatus struct{}
PluginDefinitionStatus defines the observed state of PluginDefinition
func (*PluginDefinitionStatus) DeepCopy ¶
func (in *PluginDefinitionStatus) DeepCopy() *PluginDefinitionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginDefinitionStatus.
func (*PluginDefinitionStatus) DeepCopyInto ¶
func (in *PluginDefinitionStatus) DeepCopyInto(out *PluginDefinitionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginList ¶
type PluginList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Plugin `json:"items"` }
PluginList contains a list of Plugin
func (*PluginList) DeepCopy ¶
func (in *PluginList) DeepCopy() *PluginList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginList.
func (*PluginList) DeepCopyInto ¶
func (in *PluginList) DeepCopyInto(out *PluginList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PluginList) DeepCopyObject ¶
func (in *PluginList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PluginOption ¶
type PluginOption struct { // Name/Key of the config option. Name string `json:"name"` // Default provides a default value for the option // +optional Default *apiextensionsv1.JSON `json:"default,omitempty"` // Description provides a human-readable text for the value as shown in the UI. Description string `json:"description,omitempty"` // DisplayName provides a human-readable label for the configuration option DisplayName string `json:"displayName,omitempty"` // Required indicates that this config option is required Required bool `json:"required"` // Type of this configuration option. Type PluginOptionType `json:"type"` // Regex specifies a match rule for validating configuration options. Regex string `json:"regex,omitempty"` }
func (*PluginOption) DeepCopy ¶
func (in *PluginOption) DeepCopy() *PluginOption
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginOption.
func (*PluginOption) DeepCopyInto ¶
func (in *PluginOption) DeepCopyInto(out *PluginOption)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PluginOption) DefaultValue ¶
func (p *PluginOption) DefaultValue() (any, error)
GetDefault returns the default value for this option.
func (*PluginOption) IsValid ¶
func (p *PluginOption) IsValid() error
IsValid returns nil if the PluginOption default is valid. An error is returned for unknown types or if type of the option and value of the default do not match.
func (*PluginOption) IsValidValue ¶
func (p *PluginOption) IsValidValue(val *apiextensionsv1.JSON) error
IsValidValue returns nil if the given value is valid for this PluginOption. An error is returned if val does not match the type of the PluginOption.
type PluginOptionType ¶
type PluginOptionType string
PluginOptionType specifies the type of PluginOption. +kubebuilder:validation:Enum=string;secret;bool;int;list;map
const ( // PluginOptionTypeString is a valid value for PluginOptionType. PluginOptionTypeString PluginOptionType = "string" // PluginOptionTypeSecret is a valid value for PluginOptionType. PluginOptionTypeSecret PluginOptionType = "secret" // PluginOptionTypeBool is a valid value for PluginOptionType. PluginOptionTypeBool PluginOptionType = "bool" // PluginOptionTypeInt is a valid value for PluginOptionType. PluginOptionTypeInt PluginOptionType = "int" // PluginOptionTypeList is a valid value for PluginOptionType. PluginOptionTypeList PluginOptionType = "list" // PluginOptionTypeMap is a valid value for PluginOptionType. PluginOptionTypeMap PluginOptionType = "map" )
type PluginOptionValue ¶
type PluginOptionValue struct { // Name of the values. Name string `json:"name"` // Value is the actual value in plain text. Value *apiextensionsv1.JSON `json:"value,omitempty"` // ValueFrom references a potentially confidential value in another source. ValueFrom *ValueFromSource `json:"valueFrom,omitempty"` }
PluginOptionValue is the value for a PluginOption.
func (*PluginOptionValue) DeepCopy ¶
func (in *PluginOptionValue) DeepCopy() *PluginOptionValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginOptionValue.
func (*PluginOptionValue) DeepCopyInto ¶
func (in *PluginOptionValue) DeepCopyInto(out *PluginOptionValue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PluginOptionValue) ValueJSON ¶
func (v *PluginOptionValue) ValueJSON() (string, error)
ValueJSON returns the value as JSON.
type PluginPreset ¶
type PluginPreset struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PluginPresetSpec `json:"spec,omitempty"` Status PluginPresetStatus `json:"status,omitempty"` }
PluginPreset is the Schema for the PluginPresets API
func (*PluginPreset) DeepCopy ¶
func (in *PluginPreset) DeepCopy() *PluginPreset
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginPreset.
func (*PluginPreset) DeepCopyInto ¶
func (in *PluginPreset) DeepCopyInto(out *PluginPreset)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PluginPreset) DeepCopyObject ¶
func (in *PluginPreset) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PluginPresetList ¶
type PluginPresetList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PluginPreset `json:"items"` }
PluginPresetList contains a list of PluginPresets
func (*PluginPresetList) DeepCopy ¶
func (in *PluginPresetList) DeepCopy() *PluginPresetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginPresetList.
func (*PluginPresetList) DeepCopyInto ¶
func (in *PluginPresetList) DeepCopyInto(out *PluginPresetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PluginPresetList) DeepCopyObject ¶
func (in *PluginPresetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PluginPresetSpec ¶
type PluginPresetSpec struct { // PluginSpec is the spec of the plugin to be deployed by the PluginPreset. Plugin PluginSpec `json:"plugin"` // ClusterSelector is a label selector to select the clusters the plugin bundle should be deployed to. ClusterSelector metav1.LabelSelector `json:"clusterSelector"` }
PluginPresetSpec defines the desired state of PluginPreset
func (*PluginPresetSpec) DeepCopy ¶
func (in *PluginPresetSpec) DeepCopy() *PluginPresetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginPresetSpec.
func (*PluginPresetSpec) DeepCopyInto ¶
func (in *PluginPresetSpec) DeepCopyInto(out *PluginPresetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginPresetStatus ¶
type PluginPresetStatus struct { // StatusConditions contain the different conditions that constitute the status of the PluginPreset. StatusConditions `json:"statusConditions,omitempty"` }
PluginPresetStatus defines the observed state of PluginPreset
func (*PluginPresetStatus) DeepCopy ¶
func (in *PluginPresetStatus) DeepCopy() *PluginPresetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginPresetStatus.
func (*PluginPresetStatus) DeepCopyInto ¶
func (in *PluginPresetStatus) DeepCopyInto(out *PluginPresetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginSpec ¶
type PluginSpec struct { // PluginDefinition is the name of the PluginDefinition this instance is for. PluginDefinition string `json:"pluginDefinition"` // DisplayName is an optional name for the Plugin to be displayed in the Greenhouse UI. // This is especially helpful to distinguish multiple instances of a PluginDefinition in the same context. // Defaults to a normalized version of metadata.name. DisplayName string `json:"displayName,omitempty"` // Disabled indicates that the plugin is administratively disabled. Disabled bool `json:"disabled"` // Values are the values for a PluginDefinition instance. OptionValues []PluginOptionValue `json:"optionValues,omitempty"` // ClusterName is the name of the cluster the plugin is deployed to. If not set, the plugin is deployed to the greenhouse cluster. ClusterName string `json:"clusterName,omitempty"` // ReleaseNamespace is the namespace in the remote cluster to which the backend is deployed. // Defaults to the Greenhouse managed namespace if not set. ReleaseNamespace string `json:"releaseNamespace,omitempty"` }
PluginSpec defines the desired state of Plugin
func (*PluginSpec) DeepCopy ¶
func (in *PluginSpec) DeepCopy() *PluginSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginSpec.
func (*PluginSpec) DeepCopyInto ¶
func (in *PluginSpec) DeepCopyInto(out *PluginSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginStatus ¶
type PluginStatus struct { // HelmReleaseStatus reflects the status of the latest HelmChart release. // This is only configured if the pluginDefinition is backed by HelmChart. HelmReleaseStatus *HelmReleaseStatus `json:"helmReleaseStatus,omitempty"` // Version contains the latest pluginDefinition version the config was last applied with successfully. Version string `json:"version,omitempty"` // HelmChart contains a reference the helm chart used for the deployed pluginDefinition version. HelmChart *HelmChartReference `json:"helmChart,omitempty"` // UIApplication contains a reference to the frontend that is used for the deployed pluginDefinition version. UIApplication *UIApplicationReference `json:"uiApplication,omitempty"` // Weight configures the order in which Plugins are shown in the Greenhouse UI. Weight *int32 `json:"weight,omitempty"` // Description provides additional details of the plugin. Description string `json:"description,omitempty"` // ExposedServices provides an overview of the Plugins services that are centrally exposed. // It maps the exposed URL to the service found in the manifest. ExposedServices map[string]Service `json:"exposedServices,omitempty"` // StatusConditions contain the different conditions that constitute the status of the Plugin. StatusConditions `json:"statusConditions,omitempty"` }
PluginStatus defines the observed state of Plugin
func (*PluginStatus) DeepCopy ¶
func (in *PluginStatus) DeepCopy() *PluginStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginStatus.
func (*PluginStatus) DeepCopyInto ¶
func (in *PluginStatus) DeepCopyInto(out *PluginStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PreAuthKey ¶
type PreAuthKey struct { ID string `json:"id,omitempty"` User string `json:"user,omitempty"` Reusable bool `json:"reusable,omitempty"` Ephemeral bool `json:"ephemeral,omitempty"` Used bool `json:"used,omitempty"` CreatedAt metav1.Time `json:"createdAt,omitempty"` Expiration metav1.Time `json:"expiration,omitempty"` }
PreAuthKey reflects the status of the pre-authentication key used by the Headscale machine.
func (*PreAuthKey) DeepCopy ¶
func (in *PreAuthKey) DeepCopy() *PreAuthKey
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreAuthKey.
func (*PreAuthKey) DeepCopyInto ¶
func (in *PreAuthKey) DeepCopyInto(out *PreAuthKey)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PropagationStatus ¶
type PropagationStatus struct { // ClusterName is the name of the cluster the rbacv1 resources are created on. ClusterName string `json:"clusterName"` // Condition is the overall Status of the rbacv1 resources created on the cluster Condition `json:"condition,omitempty"` }
PropagationStatus defines the observed state of the TeamRoleBinding's associated rbacv1 resources on a Cluster
func (*PropagationStatus) DeepCopy ¶
func (in *PropagationStatus) DeepCopy() *PropagationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PropagationStatus.
func (*PropagationStatus) DeepCopyInto ¶
func (in *PropagationStatus) DeepCopyInto(out *PropagationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretKeyReference ¶
type SecretKeyReference struct { // Name of the secret in the same namespace. Name string `json:"name"` // Key in the secret to select the value from. Key string `json:"key"` }
SecretKeyReference specifies the secret and key containing the value.
func (*SecretKeyReference) DeepCopy ¶
func (in *SecretKeyReference) DeepCopy() *SecretKeyReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretKeyReference.
func (*SecretKeyReference) DeepCopyInto ¶
func (in *SecretKeyReference) DeepCopyInto(out *SecretKeyReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Service ¶
type Service struct { // Namespace is the namespace of the service in the target cluster. Namespace string `json:"namespace"` // Name is the name of the service in the target cluster. Name string `json:"name"` // Port is the port of the service. Port int32 `json:"port"` // Protocol is the protocol of the service. Protocol *string `json:"protocol,omitempty"` }
Service references a Kubernetes service of a Plugin.
func (*Service) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Service.
func (*Service) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusConditions ¶
type StatusConditions struct { // +listType="map" // +listMapKey=type Conditions []Condition `json:"conditions,omitempty"` }
A StatusConditions contains a list of conditions. Only one condition of a given type may exist in the list.
func (*StatusConditions) DeepCopy ¶
func (in *StatusConditions) DeepCopy() *StatusConditions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusConditions.
func (*StatusConditions) DeepCopyInto ¶
func (in *StatusConditions) DeepCopyInto(out *StatusConditions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StatusConditions) GetConditionByType ¶
func (sc *StatusConditions) GetConditionByType(conditionType ConditionType) *Condition
GetConditionByType returns the condition of the given type, if it exists.
func (*StatusConditions) IsReadyTrue ¶
func (sc *StatusConditions) IsReadyTrue() bool
IsReadyTrue returns true if the Ready condition is true.
func (*StatusConditions) SetConditions ¶
func (sc *StatusConditions) SetConditions(conditionsToSet ...Condition)
SetConditions sets the corresponding Conditions in StatusConditions to newConditions. If the LastTransitionTime of a new Condition is not set, it is set to the current time. If a Condition of the same ConditionType exists, it is updated. The LastTransitionTime is only updated if the Status changes. If a condition of the same ConditionType does not exist, it is appended.
type Team ¶
type Team struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TeamSpec `json:"spec,omitempty"` Status TeamStatus `json:"status,omitempty"` }
Team is the Schema for the teams API
func (*Team) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Team.
func (*Team) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Team) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TeamList ¶
type TeamList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Team `json:"items"` }
TeamList contains a list of Team
func (*TeamList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamList.
func (*TeamList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TeamList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TeamMembership ¶
type TeamMembership struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TeamMembershipSpec `json:"spec,omitempty"` Status TeamMembershipStatus `json:"status,omitempty"` }
TeamMembership is the Schema for the teammemberships API
func (*TeamMembership) DeepCopy ¶
func (in *TeamMembership) DeepCopy() *TeamMembership
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamMembership.
func (*TeamMembership) DeepCopyInto ¶
func (in *TeamMembership) DeepCopyInto(out *TeamMembership)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TeamMembership) DeepCopyObject ¶
func (in *TeamMembership) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TeamMembershipList ¶
type TeamMembershipList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TeamMembership `json:"items"` }
TeamMembershipList contains a list of TeamMembership
func (*TeamMembershipList) DeepCopy ¶
func (in *TeamMembershipList) DeepCopy() *TeamMembershipList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamMembershipList.
func (*TeamMembershipList) DeepCopyInto ¶
func (in *TeamMembershipList) DeepCopyInto(out *TeamMembershipList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TeamMembershipList) DeepCopyObject ¶
func (in *TeamMembershipList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TeamMembershipSpec ¶
type TeamMembershipSpec struct { // Members list users that are part of a team. // +optional Members []User `json:"members,omitempty"` }
TeamMembershipSpec defines the desired state of TeamMembership
func (*TeamMembershipSpec) DeepCopy ¶
func (in *TeamMembershipSpec) DeepCopy() *TeamMembershipSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamMembershipSpec.
func (*TeamMembershipSpec) DeepCopyInto ¶
func (in *TeamMembershipSpec) DeepCopyInto(out *TeamMembershipSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TeamMembershipStatus ¶
type TeamMembershipStatus struct { // LastSyncedTime is the information when was the last time the membership was synced // +optional LastSyncedTime *metav1.Time `json:"lastSyncedTime,omitempty"` // LastChangedTime is the information when was the last time the membership was actually changed // +optional LastChangedTime *metav1.Time `json:"lastUpdateTime,omitempty"` }
TeamMembershipStatus defines the observed state of TeamMembership
func (*TeamMembershipStatus) DeepCopy ¶
func (in *TeamMembershipStatus) DeepCopy() *TeamMembershipStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamMembershipStatus.
func (*TeamMembershipStatus) DeepCopyInto ¶
func (in *TeamMembershipStatus) DeepCopyInto(out *TeamMembershipStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TeamRole ¶
type TeamRole struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TeamRoleSpec `json:"spec,omitempty"` Status TeamRoleStatus `json:"status,omitempty"` }
TeamRole is the Schema for the TeamRoles API
func (*TeamRole) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamRole.
func (*TeamRole) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TeamRole) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TeamRole) GetRBACName ¶
GetRBACName returns the name of the rbacv1.ClusterRole that will be created on the remote cluster
type TeamRoleBinding ¶
type TeamRoleBinding struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TeamRoleBindingSpec `json:"spec,omitempty"` Status TeamRoleBindingStatus `json:"status,omitempty"` }
TeamRoleBinding is the Schema for the rolebindings API
func (*TeamRoleBinding) DeepCopy ¶
func (in *TeamRoleBinding) DeepCopy() *TeamRoleBinding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamRoleBinding.
func (*TeamRoleBinding) DeepCopyInto ¶
func (in *TeamRoleBinding) DeepCopyInto(out *TeamRoleBinding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TeamRoleBinding) DeepCopyObject ¶
func (in *TeamRoleBinding) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*TeamRoleBinding) GetRBACName ¶
func (trb *TeamRoleBinding) GetRBACName() string
GetRBACName returns the name of the rbacv1.RoleBinding or rbacv1.ClusterRoleBinding that will be created on the remote cluster
type TeamRoleBindingList ¶
type TeamRoleBindingList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TeamRoleBinding `json:"items"` }
TeamRoleBindingList contains a list of RoleBinding
func (*TeamRoleBindingList) DeepCopy ¶
func (in *TeamRoleBindingList) DeepCopy() *TeamRoleBindingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamRoleBindingList.
func (*TeamRoleBindingList) DeepCopyInto ¶
func (in *TeamRoleBindingList) DeepCopyInto(out *TeamRoleBindingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TeamRoleBindingList) DeepCopyObject ¶
func (in *TeamRoleBindingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TeamRoleBindingSpec ¶
type TeamRoleBindingSpec struct { // TeamRoleRef references a Greenhouse TeamRole by name TeamRoleRef string `json:"teamRoleRef,omitempty"` // TeamRef references a Greenhouse Team by name TeamRef string `json:"teamRef,omitempty"` // ClusterName is the name of the cluster the rbacv1 resources are created on. ClusterName string `json:"clusterName,omitempty"` // ClusterSelector is a label selector to select the Clusters the TeamRoleBinding should be deployed to. ClusterSelector metav1.LabelSelector `json:"clusterSelector,omitempty"` // Namespaces is the immutable list of namespaces in the Greenhouse Clusters to apply the RoleBinding to. // If empty, a ClusterRoleBinding will be created on the remote cluster, otherwise a RoleBinding per namespace. Namespaces []string `json:"namespaces,omitempty"` }
TeamRoleBindingSpec defines the desired state of a TeamRoleBinding
func (*TeamRoleBindingSpec) DeepCopy ¶
func (in *TeamRoleBindingSpec) DeepCopy() *TeamRoleBindingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamRoleBindingSpec.
func (*TeamRoleBindingSpec) DeepCopyInto ¶
func (in *TeamRoleBindingSpec) DeepCopyInto(out *TeamRoleBindingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TeamRoleBindingStatus ¶
type TeamRoleBindingStatus struct { // StatusConditions contain the different conditions that constitute the status of the TeamRoleBinding. StatusConditions `json:"statusConditions,omitempty"` // PropagationStatus is the list of clusters the TeamRoleBinding is applied to // +listType="map" // +listMapKey=clusterName PropagationStatus []PropagationStatus `json:"clusters,omitempty"` }
TeamRoleBindingStatus defines the observed state of the TeamRoleBinding
func (*TeamRoleBindingStatus) DeepCopy ¶
func (in *TeamRoleBindingStatus) DeepCopy() *TeamRoleBindingStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamRoleBindingStatus.
func (*TeamRoleBindingStatus) DeepCopyInto ¶
func (in *TeamRoleBindingStatus) DeepCopyInto(out *TeamRoleBindingStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TeamRoleList ¶
type TeamRoleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []TeamRole `json:"items"` }
TeamRoleList contains a list of Role
func (*TeamRoleList) DeepCopy ¶
func (in *TeamRoleList) DeepCopy() *TeamRoleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamRoleList.
func (*TeamRoleList) DeepCopyInto ¶
func (in *TeamRoleList) DeepCopyInto(out *TeamRoleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TeamRoleList) DeepCopyObject ¶
func (in *TeamRoleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TeamRoleSpec ¶
type TeamRoleSpec struct { // Rules is a list of rbacv1.PolicyRules used on a managed RBAC (Cluster)Role Rules []rbacv1.PolicyRule `json:"rules,omitempty"` // AggregationRule describes how to locate ClusterRoles to aggregate into the ClusterRole on the remote cluster AggregationRule *rbacv1.AggregationRule `json:"aggregationRule,omitempty"` // Labels are applied to the ClusterRole created on the remote cluster. // This allows using TeamRoles as part of AggregationRules by other TeamRoles Labels map[string]string `json:"labels,omitempty"` }
TeamRoleSpec defines the desired state of a TeamRole
func (*TeamRoleSpec) DeepCopy ¶
func (in *TeamRoleSpec) DeepCopy() *TeamRoleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamRoleSpec.
func (*TeamRoleSpec) DeepCopyInto ¶
func (in *TeamRoleSpec) DeepCopyInto(out *TeamRoleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TeamRoleStatus ¶
type TeamRoleStatus struct{}
TeamRoleStatus defines the observed state of a TeamRole
func (*TeamRoleStatus) DeepCopy ¶
func (in *TeamRoleStatus) DeepCopy() *TeamRoleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamRoleStatus.
func (*TeamRoleStatus) DeepCopyInto ¶
func (in *TeamRoleStatus) DeepCopyInto(out *TeamRoleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TeamSpec ¶
type TeamSpec struct { // Description provides additional details of the team. Description string `json:"description,omitempty"` // IdP group id matching team. MappedIDPGroup string `json:"mappedIdPGroup,omitempty"` }
TeamSpec defines the desired state of Team
func (*TeamSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamSpec.
func (*TeamSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TeamStatus ¶
type TeamStatus struct{}
TeamStatus defines the observed state of Team
func (*TeamStatus) DeepCopy ¶
func (in *TeamStatus) DeepCopy() *TeamStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TeamStatus.
func (*TeamStatus) DeepCopyInto ¶
func (in *TeamStatus) DeepCopyInto(out *TeamStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UIApplicationReference ¶
type UIApplicationReference struct { // URL specifies the url to a built javascript asset. // By default, assets are loaded from the Juno asset server using the provided name and version. URL string `json:"url,omitempty"` // Name of the UI application. Name string `json:"name"` // Version of the frontend application. Version string `json:"version"` }
UIApplicationReference references the UI pluginDefinition to use.
func (*UIApplicationReference) DeepCopy ¶
func (in *UIApplicationReference) DeepCopy() *UIApplicationReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UIApplicationReference.
func (*UIApplicationReference) DeepCopyInto ¶
func (in *UIApplicationReference) DeepCopyInto(out *UIApplicationReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type User ¶
type User struct { // ID is the unique identifier of the user. ID string `json:"id"` // FirstName of the user. FirstName string `json:"firstName"` // LastName of the user. LastName string `json:"lastName"` // Email of the user. Email string `json:"email"` }
User specifies a human person.
func (*User) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
func (*User) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValueFromSource ¶
type ValueFromSource struct { // Secret references the secret containing the value. Secret *SecretKeyReference `json:"secret,omitempty"` }
ValueFromSource is a valid source for a value.
func (*ValueFromSource) DeepCopy ¶
func (in *ValueFromSource) DeepCopy() *ValueFromSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValueFromSource.
func (*ValueFromSource) DeepCopyInto ¶
func (in *ValueFromSource) DeepCopyInto(out *ValueFromSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- cluster_types.go
- clusterkubeconfig_types.go
- conditions.go
- doc.go
- event_types.go
- groupversion_info.go
- organization_types.go
- plugin_types.go
- plugindefinition_types.go
- pluginpreset_types.go
- team_types.go
- teammembership_types.go
- teamrole_types.go
- teamrolebinding_types.go
- types.go
- zz_generated.deepcopy.go