-
Notifications
You must be signed in to change notification settings - Fork 2.9k
/
cluster.go
62 lines (51 loc) · 3.23 KB
/
cluster.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package v1
import (
rkev1 "github.com/rancher/rancher/pkg/apis/rke.cattle.io/v1"
"github.com/rancher/wrangler/v2/pkg/genericcondition"
v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
// +genclient
// +kubebuilder:skipversion
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type Cluster struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterSpec `json:"spec"`
Status ClusterStatus `json:"status,omitempty"`
}
type ClusterSpec struct {
CloudCredentialSecretName string `json:"cloudCredentialSecretName,omitempty"`
KubernetesVersion string `json:"kubernetesVersion,omitempty"`
ClusterAPIConfig *ClusterAPIConfig `json:"clusterAPIConfig,omitempty"`
RKEConfig *RKEConfig `json:"rkeConfig,omitempty"`
LocalClusterAuthEndpoint rkev1.LocalClusterAuthEndpoint `json:"localClusterAuthEndpoint,omitempty"`
AgentEnvVars []rkev1.EnvVar `json:"agentEnvVars,omitempty"`
ClusterAgentDeploymentCustomization *AgentDeploymentCustomization `json:"clusterAgentDeploymentCustomization,omitempty"`
DefaultPodSecurityAdmissionConfigurationTemplateName string `json:"defaultPodSecurityAdmissionConfigurationTemplateName,omitempty"`
DefaultPodSecurityPolicyTemplateName string `json:"defaultPodSecurityPolicyTemplateName,omitempty" norman:"type=reference[podSecurityPolicyTemplate]"`
DefaultClusterRoleForProjectMembers string `json:"defaultClusterRoleForProjectMembers,omitempty" norman:"type=reference[roleTemplate]"`
EnableNetworkPolicy *bool `json:"enableNetworkPolicy,omitempty" norman:"default=false"`
FleetAgentDeploymentCustomization *AgentDeploymentCustomization `json:"fleetAgentDeploymentCustomization,omitempty"`
RedeploySystemAgentGeneration int64 `json:"redeploySystemAgentGeneration,omitempty"`
}
type AgentDeploymentCustomization struct {
AppendTolerations []v1.Toleration `json:"appendTolerations,omitempty"`
OverrideAffinity *v1.Affinity `json:"overrideAffinity,omitempty"`
OverrideResourceRequirements *v1.ResourceRequirements `json:"overrideResourceRequirements,omitempty"`
}
type ClusterStatus struct {
Ready bool `json:"ready,omitempty"`
ClusterName string `json:"clusterName,omitempty"`
FleetWorkspaceName string `json:"fleetWorkspaceName,omitempty"`
ClientSecretName string `json:"clientSecretName,omitempty"`
AgentDeployed bool `json:"agentDeployed,omitempty"`
ObservedGeneration int64 `json:"observedGeneration"`
Conditions []genericcondition.GenericCondition `json:"conditions,omitempty"`
}
type ImportedConfig struct {
KubeConfigSecretName string `json:"kubeConfigSecretName,omitempty"`
}
type ClusterAPIConfig struct {
ClusterName string `json:"clusterName,omitempty"`
}