diff --git a/apis/management.cattle.io/v3/cluster_types.go b/apis/management.cattle.io/v3/cluster_types.go index 86412a2b..044b6c33 100644 --- a/apis/management.cattle.io/v3/cluster_types.go +++ b/apis/management.cattle.io/v3/cluster_types.go @@ -122,25 +122,26 @@ 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"` - AgentImage string `json:"agentImage"` - AuthImage string `json:"authImage"` - ComponentStatuses []ClusterComponentStatus `json:"componentStatuses,omitempty"` - APIEndpoint string `json:"apiEndpoint,omitempty"` - ServiceAccountToken string `json:"serviceAccountToken,omitempty"` - CACert string `json:"caCert,omitempty"` - Capacity v1.ResourceList `json:"capacity,omitempty"` - Allocatable v1.ResourceList `json:"allocatable,omitempty"` - AppliedSpec ClusterSpec `json:"appliedSpec,omitempty"` - FailedSpec *ClusterSpec `json:"failedSpec,omitempty"` - Requested v1.ResourceList `json:"requested,omitempty"` - Limits v1.ResourceList `json:"limits,omitempty"` - Version *version.Info `json:"version,omitempty"` - AppliedPodSecurityPolicyTemplateName string `json:"appliedPodSecurityPolicyTemplateId"` - AppliedEnableNetworkPolicy bool `json:"appliedEnableNetworkPolicy" norman:"nocreate,noupdate,default=false"` - Capabilities Capabilities `json:"capabilities,omitempty"` - MonitoringStatus *MonitoringStatus `json:"monitoringStatus,omitempty" norman:"nocreate,noupdate"` - IstioEnabled bool `json:"istioEnabled,omitempty" norman:"nocreate,noupdate,default=false"` + Driver string `json:"driver"` + AgentImage string `json:"agentImage"` + AuthImage string `json:"authImage"` + ComponentStatuses []ClusterComponentStatus `json:"componentStatuses,omitempty"` + APIEndpoint string `json:"apiEndpoint,omitempty"` + ServiceAccountToken string `json:"serviceAccountToken,omitempty"` + CACert string `json:"caCert,omitempty"` + Capacity v1.ResourceList `json:"capacity,omitempty"` + Allocatable v1.ResourceList `json:"allocatable,omitempty"` + AppliedSpec ClusterSpec `json:"appliedSpec,omitempty"` + FailedSpec *ClusterSpec `json:"failedSpec,omitempty"` + Requested v1.ResourceList `json:"requested,omitempty"` + Limits v1.ResourceList `json:"limits,omitempty"` + Version *version.Info `json:"version,omitempty"` + AppliedPodSecurityPolicyTemplateName string `json:"appliedPodSecurityPolicyTemplateId"` + AppliedEnableNetworkPolicy bool `json:"appliedEnableNetworkPolicy" norman:"nocreate,noupdate,default=false"` + Capabilities Capabilities `json:"capabilities,omitempty"` + MonitoringStatus *MonitoringStatus `json:"monitoringStatus,omitempty" norman:"nocreate,noupdate"` + IstioEnabled bool `json:"istioEnabled,omitempty" norman:"nocreate,noupdate,default=false"` + CertificatesExpiration map[string]CertExpiration `json:"certificatesExpiration,omitempty"` } type ClusterComponentStatus struct { @@ -277,3 +278,8 @@ type LocalClusterAuthEndpoint struct { FQDN string `json:"fqdn,omitempty"` CACerts string `json:"caCerts,omitempty"` } + +type CertExpiration struct { + DaysRemaining int `json:"daysRemaining,omitempty"` + ExpirationDate string `json:"expirationDate,omitempty"` +}