mirror of
https://github.com/rancher/types.git
synced 2025-09-24 19:39:13 +00:00
Schema updates
This commit is contained in:
@@ -10,10 +10,13 @@ import (
|
||||
type ClusterConditionType string
|
||||
|
||||
const (
|
||||
// ClusterConditionReady Cluster ready to serve API (healthy when true, unehalthy when false)
|
||||
ClusterConditionReady condition.Cond = "Ready"
|
||||
// ClusterConditionReady Cluster ready to serve API (healthy when true, unhealthy when false)
|
||||
ClusterConditionReady condition.Cond = "Ready"
|
||||
ClusterConditionMachinesCreated condition.Cond = "MachinesCreated"
|
||||
// ClusterConditionProvisioned Cluster is provisioned
|
||||
ClusterConditionProvisioned condition.Cond = "Provisioned"
|
||||
ClusterConditionUpdated condition.Cond = "Updated"
|
||||
ClusterConditionRemoved condition.Cond = "Removed"
|
||||
// ClusterConditionNoDiskPressure true when all cluster nodes have sufficient disk
|
||||
ClusterConditionNoDiskPressure condition.Cond = "NoDiskPressure"
|
||||
// ClusterConditionNoMemoryPressure true when all cluster nodes have sufficient memory
|
||||
@@ -39,6 +42,7 @@ type Cluster struct {
|
||||
}
|
||||
|
||||
type ClusterSpec struct {
|
||||
Nodes []MachineConfig `json:"nodes"`
|
||||
Description string `json:"description"`
|
||||
Internal bool `json:"internal" norman:"nocreate,noupdate"`
|
||||
GoogleKubernetesEngineConfig *GoogleKubernetesEngineConfig `json:"googleKubernetesEngineConfig,omitempty"`
|
||||
@@ -54,6 +58,7 @@ type ClusterStatus struct {
|
||||
Conditions []ClusterCondition `json:"conditions,omitempty"`
|
||||
//Component statuses will represent cluster's components (etcd/controller/scheduler) health
|
||||
// https://kubernetes.io/docs/api-reference/v1.8/#componentstatus-v1-core
|
||||
Driver string `json:"driver"`
|
||||
ComponentStatuses []ClusterComponentStatus `json:"componentStatuses,omitempty"`
|
||||
APIEndpoint string `json:"apiEndpoint,omitempty"`
|
||||
ServiceAccountToken string `json:"serviceAccountToken,omitempty"`
|
||||
|
@@ -2,6 +2,7 @@ package v3
|
||||
|
||||
import (
|
||||
"github.com/rancher/norman/condition"
|
||||
"github.com/rancher/norman/types"
|
||||
"k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
@@ -44,6 +45,8 @@ type MachineTemplateSpec struct {
|
||||
}
|
||||
|
||||
type Machine struct {
|
||||
types.Namespaced
|
||||
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
// Standard object’s metadata. More info:
|
||||
// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
|
||||
@@ -60,7 +63,6 @@ type MachineStatus struct {
|
||||
Conditions []MachineCondition `json:"conditions,omitempty"`
|
||||
NodeStatus v1.NodeStatus `json:"nodeStatus,omitempty"`
|
||||
NodeName string `json:"nodeName,omitempty"`
|
||||
ClusterName string `json:"clusterName,omitempty" norman:"type=reference[cluster]"`
|
||||
Requested v1.ResourceList `json:"requested,omitempty"`
|
||||
Limits v1.ResourceList `json:"limits,omitempty"`
|
||||
MachineTemplateSpec *MachineTemplateSpec `json:"machineTemplateSpec,omitempty"`
|
||||
@@ -91,14 +93,20 @@ type MachineCondition struct {
|
||||
Message string `json:"message,omitempty"`
|
||||
}
|
||||
|
||||
type MachineConfig struct {
|
||||
MachineSpec
|
||||
Labels map[string]string `json:"labels"`
|
||||
Annotations map[string]string `json:"annotations"`
|
||||
}
|
||||
|
||||
type MachineSpec struct {
|
||||
NodeSpec v1.NodeSpec `json:"nodeSpec"`
|
||||
Description string `json:"description,omitempty"`
|
||||
DisplayName string `json:"displayName,omitempty"`
|
||||
RequestedHostname string `json:"requestedHostname,omitempty" norman:"noupdate"`
|
||||
RequestedClusterName string `json:"requestedClusterName,omitempty" norman:"type=reference[cluster],noupdate"`
|
||||
RequestedRoles []string `json:"requestedRoles,omitempty" norman:"noupdate"`
|
||||
MachineTemplateName string `json:"machineTemplateName,omitempty" norman:"type=reference[machineTemplate],noupdate"`
|
||||
NodeSpec v1.NodeSpec `json:"nodeSpec"`
|
||||
Description string `json:"description,omitempty"`
|
||||
DisplayName string `json:"displayName,omitempty"`
|
||||
RequestedHostname string `json:"requestedHostname,omitempty" norman:"noupdate"`
|
||||
ClusterName string `json:"clusterName,omitempty" norman:"type=reference[cluster],noupdate,required"`
|
||||
Role []string `json:"role,omitempty" norman:"noupdate"`
|
||||
MachineTemplateName string `json:"machineTemplateName,omitempty" norman:"type=reference[machineTemplate],noupdate"`
|
||||
}
|
||||
|
||||
type MachineCommonParams struct {
|
||||
|
@@ -156,11 +156,11 @@ func machineTypes(schemas *types.Schemas) *types.Schemas {
|
||||
return schemas.
|
||||
AddMapperForType(&Version, v3.MachineSpec{}, &m.Embed{Field: "nodeSpec"}).
|
||||
AddMapperForType(&Version, v3.MachineStatus{},
|
||||
&m.Drop{Field: "conditions"},
|
||||
&m.Drop{Field: "rkeNode"},
|
||||
&m.Drop{Field: "machineTemplateSpec"},
|
||||
&m.Drop{Field: "machineDriverConfig"},
|
||||
&m.Embed{Field: "nodeStatus"}).
|
||||
&m.Embed{Field: "nodeStatus"},
|
||||
&m.SliceMerge{From: []string{"conditions", "nodeConditions"}, To: "conditions"}).
|
||||
AddMapperForType(&Version, v3.Machine{},
|
||||
&m.Embed{Field: "status"},
|
||||
m.DisplayName{}).
|
||||
|
Reference in New Issue
Block a user