diff --git a/openapi/generated_openapi/zz_generated.openapi.go b/openapi/generated_openapi/zz_generated.openapi.go index c99ce86ec43..ca75891bf04 100644 --- a/openapi/generated_openapi/zz_generated.openapi.go +++ b/openapi/generated_openapi/zz_generated.openapi.go @@ -1222,6 +1222,29 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "github.com/openshift/api/template/v1.TemplateInstanceSpec": schema_openshift_api_template_v1_TemplateInstanceSpec(ref), "github.com/openshift/api/template/v1.TemplateInstanceStatus": schema_openshift_api_template_v1_TemplateInstanceStatus(ref), "github.com/openshift/api/template/v1.TemplateList": schema_openshift_api_template_v1_TemplateList(ref), + "github.com/openshift/api/update/v1alpha1.ClusterOperatorStatusInsight": schema_openshift_api_update_v1alpha1_ClusterOperatorStatusInsight(ref), + "github.com/openshift/api/update/v1alpha1.ClusterVersionStatusInsight": schema_openshift_api_update_v1alpha1_ClusterVersionStatusInsight(ref), + "github.com/openshift/api/update/v1alpha1.ControlPlane": schema_openshift_api_update_v1alpha1_ControlPlane(ref), + "github.com/openshift/api/update/v1alpha1.ControlPlaneUpdateVersions": schema_openshift_api_update_v1alpha1_ControlPlaneUpdateVersions(ref), + "github.com/openshift/api/update/v1alpha1.HealthInsight": schema_openshift_api_update_v1alpha1_HealthInsight(ref), + "github.com/openshift/api/update/v1alpha1.Informer": schema_openshift_api_update_v1alpha1_Informer(ref), + "github.com/openshift/api/update/v1alpha1.Insight": schema_openshift_api_update_v1alpha1_Insight(ref), + "github.com/openshift/api/update/v1alpha1.InsightImpact": schema_openshift_api_update_v1alpha1_InsightImpact(ref), + "github.com/openshift/api/update/v1alpha1.InsightRemediation": schema_openshift_api_update_v1alpha1_InsightRemediation(ref), + "github.com/openshift/api/update/v1alpha1.InsightScope": schema_openshift_api_update_v1alpha1_InsightScope(ref), + "github.com/openshift/api/update/v1alpha1.InsightUnion": schema_openshift_api_update_v1alpha1_InsightUnion(ref), + "github.com/openshift/api/update/v1alpha1.MachineConfigPoolStatusInsight": schema_openshift_api_update_v1alpha1_MachineConfigPoolStatusInsight(ref), + "github.com/openshift/api/update/v1alpha1.NodeStatusInsight": schema_openshift_api_update_v1alpha1_NodeStatusInsight(ref), + "github.com/openshift/api/update/v1alpha1.NodeSummary": schema_openshift_api_update_v1alpha1_NodeSummary(ref), + "github.com/openshift/api/update/v1alpha1.Pool": schema_openshift_api_update_v1alpha1_Pool(ref), + "github.com/openshift/api/update/v1alpha1.PoolResourceRef": schema_openshift_api_update_v1alpha1_PoolResourceRef(ref), + "github.com/openshift/api/update/v1alpha1.ResourceRef": schema_openshift_api_update_v1alpha1_ResourceRef(ref), + "github.com/openshift/api/update/v1alpha1.UpdateStatus": schema_openshift_api_update_v1alpha1_UpdateStatus(ref), + "github.com/openshift/api/update/v1alpha1.UpdateStatusList": schema_openshift_api_update_v1alpha1_UpdateStatusList(ref), + "github.com/openshift/api/update/v1alpha1.UpdateStatusSpec": schema_openshift_api_update_v1alpha1_UpdateStatusSpec(ref), + "github.com/openshift/api/update/v1alpha1.UpdateStatusStatus": schema_openshift_api_update_v1alpha1_UpdateStatusStatus(ref), + "github.com/openshift/api/update/v1alpha1.Version": schema_openshift_api_update_v1alpha1_Version(ref), + "github.com/openshift/api/update/v1alpha1.VersionMetadata": schema_openshift_api_update_v1alpha1_VersionMetadata(ref), "github.com/openshift/api/user/v1.Group": schema_openshift_api_user_v1_Group(ref), "github.com/openshift/api/user/v1.GroupList": schema_openshift_api_user_v1_GroupList(ref), "github.com/openshift/api/user/v1.Identity": schema_openshift_api_user_v1_Identity(ref), @@ -62815,6 +62838,1196 @@ func schema_openshift_api_template_v1_TemplateList(ref common.ReferenceCallback) } } +func schema_openshift_api_update_v1alpha1_ClusterOperatorStatusInsight(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ClusterOperatorStatusInsight reports the state of a ClusterOperator resource (which represents a control plane component update in standalone clusters), during the update", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Description: "name is the name of the operator", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "resource": { + SchemaProps: spec.SchemaProps{ + Description: "resource is the ClusterOperator resource that represents the operator\n\nNote: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to resource name (because the rest is implied by status insight type). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.ResourceRef"), + }, + }, + "conditions": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "type", + }, + "x-kubernetes-list-type": "map", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "conditions provide details about the operator", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Condition"), + }, + }, + }, + }, + }, + }, + Required: []string{"name", "resource"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.ResourceRef", "k8s.io/apimachinery/pkg/apis/meta/v1.Condition"}, + } +} + +func schema_openshift_api_update_v1alpha1_ClusterVersionStatusInsight(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ClusterVersionStatusInsight reports the state of a ClusterVersion resource (which represents a control plane update in standalone clusters), during the update.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "resource": { + SchemaProps: spec.SchemaProps{ + Description: "resource is the ClusterVersion resource that represents the control plane\n\nNote: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to resource name (because the rest is implied by status insight type). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.ResourceRef"), + }, + }, + "assessment": { + SchemaProps: spec.SchemaProps{ + Description: "assessment is the assessment of the control plane update process", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "versions": { + SchemaProps: spec.SchemaProps{ + Description: "versions contains the original and target versions of the upgrade", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.ControlPlaneUpdateVersions"), + }, + }, + "completion": { + SchemaProps: spec.SchemaProps{ + Description: "completion is a percentage of the update completion (0-100)", + Default: 0, + Type: []string{"integer"}, + Format: "int32", + }, + }, + "startedAt": { + SchemaProps: spec.SchemaProps{ + Description: "startedAt is the time when the update started", + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + }, + }, + "completedAt": { + SchemaProps: spec.SchemaProps{ + Description: "completedAt is the time when the update completed", + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + }, + }, + "estimatedCompletedAt": { + SchemaProps: spec.SchemaProps{ + Description: "estimatedCompletedAt is the estimated time when the update will complete", + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + }, + }, + "conditions": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "type", + }, + "x-kubernetes-list-type": "map", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "conditions provides detailed observed conditions about ClusterVersion", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Condition"), + }, + }, + }, + }, + }, + }, + Required: []string{"resource", "assessment", "versions", "completion", "startedAt"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.ControlPlaneUpdateVersions", "github.com/openshift/api/update/v1alpha1.ResourceRef", "k8s.io/apimachinery/pkg/apis/meta/v1.Condition", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + } +} + +func schema_openshift_api_update_v1alpha1_ControlPlane(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ControlPlane contains a summary and insights related to the control plane update", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "resource": { + SchemaProps: spec.SchemaProps{ + Description: "resource is the resource that represents the control plane. It will typically be a ClusterVersion resource in standalone OpenShift and HostedCluster in Hosted Control Planes.\n\nNote: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows only the \"correct\" resource types to be referenced (here, ClusterVersion and HostedCluster). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.ResourceRef"), + }, + }, + "poolResource": { + SchemaProps: spec.SchemaProps{ + Description: "poolResource is the resource that represents control plane node pool, typically a MachineConfigPool. This field is optional because some form factors (like Hosted Control Planes) do not have dedicated control plane node pools.\n\nNote: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows only the \"correct\" resource types to be referenced (here, MachineConfigPool). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + Ref: ref("github.com/openshift/api/update/v1alpha1.PoolResourceRef"), + }, + }, + "informers": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "name", + }, + "x-kubernetes-list-type": "map", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "informers is a list of insight producers, each carries a list of insights relevant for control plane", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.Informer"), + }, + }, + }, + }, + }, + "conditions": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "type", + }, + "x-kubernetes-list-type": "map", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "conditions provides details about the control plane update", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Condition"), + }, + }, + }, + }, + }, + }, + Required: []string{"resource"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.Informer", "github.com/openshift/api/update/v1alpha1.PoolResourceRef", "github.com/openshift/api/update/v1alpha1.ResourceRef", "k8s.io/apimachinery/pkg/apis/meta/v1.Condition"}, + } +} + +func schema_openshift_api_update_v1alpha1_ControlPlaneUpdateVersions(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ControlPlaneUpdateVersions contains the original and target versions of the upgrade", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "previous": { + SchemaProps: spec.SchemaProps{ + Description: "previous is the version of the control plane before the update. When the cluster is being installed for the first time, the version will have a placeholder value like '' and the target version will have a boolean installation=true metadata", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.Version"), + }, + }, + "target": { + SchemaProps: spec.SchemaProps{ + Description: "target is the version of the control plane after the update", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.Version"), + }, + }, + }, + Required: []string{"previous", "target"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.Version"}, + } +} + +func schema_openshift_api_update_v1alpha1_HealthInsight(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "HealthInsight is a piece of actionable information produced by an insight producer about the health of the cluster or an update", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "startedAt": { + SchemaProps: spec.SchemaProps{ + Description: "startedAt is the time when the condition reported by the insight started", + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + }, + }, + "scope": { + SchemaProps: spec.SchemaProps{ + Description: "scope is list of objects involved in the insight", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.InsightScope"), + }, + }, + "impact": { + SchemaProps: spec.SchemaProps{ + Description: "impact describes the impact the reported condition has on the cluster or update", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.InsightImpact"), + }, + }, + "remediation": { + SchemaProps: spec.SchemaProps{ + Description: "remediation contains information about how to resolve or prevent the reported condition", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.InsightRemediation"), + }, + }, + }, + Required: []string{"startedAt", "scope", "impact", "remediation"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.InsightImpact", "github.com/openshift/api/update/v1alpha1.InsightRemediation", "github.com/openshift/api/update/v1alpha1.InsightScope", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + } +} + +func schema_openshift_api_update_v1alpha1_Informer(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "Informer is an insight producer identified by a name, carrying a list of insights it produced", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Description: "name is the name of the insight producer", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "insights": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "uid", + }, + "x-kubernetes-list-type": "map", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "insights is a list of insights produced by this producer", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.Insight"), + }, + }, + }, + }, + }, + }, + Required: []string{"name"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.Insight"}, + } +} + +func schema_openshift_api_update_v1alpha1_Insight(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "Insight is a unique piece of either status/progress or update health information produced by update informer", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "uid": { + SchemaProps: spec.SchemaProps{ + Description: "uid identifies the insight over time", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "acquiredAt": { + SchemaProps: spec.SchemaProps{ + Description: "acquiredAt is the time when the data was acquired by the producer", + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + }, + }, + "type": { + SchemaProps: spec.SchemaProps{ + Description: "type identifies the type of the update insight", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "clusterVersion": { + SchemaProps: spec.SchemaProps{ + Description: "clusterVersion is a status insight about the state of a control plane update, where the control plane is represented by a ClusterVersion resource usually managed by CVO", + Ref: ref("github.com/openshift/api/update/v1alpha1.ClusterVersionStatusInsight"), + }, + }, + "clusterOperator": { + SchemaProps: spec.SchemaProps{ + Description: "clusterOperator is a status insight about the state of a control plane cluster operator update represented by a ClusterOperator resource", + Ref: ref("github.com/openshift/api/update/v1alpha1.ClusterOperatorStatusInsight"), + }, + }, + "machineConfigPool": { + SchemaProps: spec.SchemaProps{ + Description: "machineConfigPool is a status insight about the state of a worker pool update, where the worker pool is represented by a MachineConfigPool resource", + Ref: ref("github.com/openshift/api/update/v1alpha1.MachineConfigPoolStatusInsight"), + }, + }, + "node": { + SchemaProps: spec.SchemaProps{ + Description: "node is a status insight about the state of a worker node update, where the worker node is represented by a Node resource", + Ref: ref("github.com/openshift/api/update/v1alpha1.NodeStatusInsight"), + }, + }, + "health": { + SchemaProps: spec.SchemaProps{ + Description: "health is a generic health insight about the update. It does not represent a status of any specific resource but surfaces actionable information about the health of the cluster or an update", + Ref: ref("github.com/openshift/api/update/v1alpha1.HealthInsight"), + }, + }, + }, + Required: []string{"uid", "acquiredAt", "type"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.ClusterOperatorStatusInsight", "github.com/openshift/api/update/v1alpha1.ClusterVersionStatusInsight", "github.com/openshift/api/update/v1alpha1.HealthInsight", "github.com/openshift/api/update/v1alpha1.MachineConfigPoolStatusInsight", "github.com/openshift/api/update/v1alpha1.NodeStatusInsight", "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + } +} + +func schema_openshift_api_update_v1alpha1_InsightImpact(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "InsightImpact describes the impact the reported condition has on the cluster or update", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "level": { + SchemaProps: spec.SchemaProps{ + Description: "level is the severity of the impact", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "type": { + SchemaProps: spec.SchemaProps{ + Description: "type is the type of the impact", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "summary": { + SchemaProps: spec.SchemaProps{ + Description: "summary is a short summary of the impact", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "description": { + SchemaProps: spec.SchemaProps{ + Description: "description is a human-oriented, possibly longer-form description of the condition reported by the insight", + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"level", "type", "summary"}, + }, + }, + } +} + +func schema_openshift_api_update_v1alpha1_InsightRemediation(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "InsightRemediation contains information about how to resolve or prevent the reported condition", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "reference": { + SchemaProps: spec.SchemaProps{ + Description: "reference is a URL where administrators can find information to resolve or prevent the reported condition", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "estimatedFinish": { + SchemaProps: spec.SchemaProps{ + Description: "estimatedFinish is the estimated time when the informer expects the condition to be resolved, if applicable.", + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"), + }, + }, + }, + Required: []string{"reference"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/apis/meta/v1.Time"}, + } +} + +func schema_openshift_api_update_v1alpha1_InsightScope(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "InsightScope is a list of resources involved in the insight", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "type": { + SchemaProps: spec.SchemaProps{ + Description: "type is either ControlPlane or WorkerPool", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "resources": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-type": "atomic", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "resources is a list of resources involved in the insight, of any group/kind", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.ResourceRef"), + }, + }, + }, + }, + }, + }, + Required: []string{"type"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.ResourceRef"}, + } +} + +func schema_openshift_api_update_v1alpha1_InsightUnion(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "InsightUnion is the discriminated union of all insights types, identified by type field", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "type": { + SchemaProps: spec.SchemaProps{ + Description: "type identifies the type of the update insight", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "clusterVersion": { + SchemaProps: spec.SchemaProps{ + Description: "clusterVersion is a status insight about the state of a control plane update, where the control plane is represented by a ClusterVersion resource usually managed by CVO", + Ref: ref("github.com/openshift/api/update/v1alpha1.ClusterVersionStatusInsight"), + }, + }, + "clusterOperator": { + SchemaProps: spec.SchemaProps{ + Description: "clusterOperator is a status insight about the state of a control plane cluster operator update represented by a ClusterOperator resource", + Ref: ref("github.com/openshift/api/update/v1alpha1.ClusterOperatorStatusInsight"), + }, + }, + "machineConfigPool": { + SchemaProps: spec.SchemaProps{ + Description: "machineConfigPool is a status insight about the state of a worker pool update, where the worker pool is represented by a MachineConfigPool resource", + Ref: ref("github.com/openshift/api/update/v1alpha1.MachineConfigPoolStatusInsight"), + }, + }, + "node": { + SchemaProps: spec.SchemaProps{ + Description: "node is a status insight about the state of a worker node update, where the worker node is represented by a Node resource", + Ref: ref("github.com/openshift/api/update/v1alpha1.NodeStatusInsight"), + }, + }, + "health": { + SchemaProps: spec.SchemaProps{ + Description: "health is a generic health insight about the update. It does not represent a status of any specific resource but surfaces actionable information about the health of the cluster or an update", + Ref: ref("github.com/openshift/api/update/v1alpha1.HealthInsight"), + }, + }, + }, + Required: []string{"type"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.ClusterOperatorStatusInsight", "github.com/openshift/api/update/v1alpha1.ClusterVersionStatusInsight", "github.com/openshift/api/update/v1alpha1.HealthInsight", "github.com/openshift/api/update/v1alpha1.MachineConfigPoolStatusInsight", "github.com/openshift/api/update/v1alpha1.NodeStatusInsight"}, + } +} + +func schema_openshift_api_update_v1alpha1_MachineConfigPoolStatusInsight(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ClusterVersionStatusInsight reports the state of a MachineConfigPool resource during the update", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Description: "name is the name of the machine config pool", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "resource": { + SchemaProps: spec.SchemaProps{ + Description: "resource is the MachineConfigPool resource that represents the pool\n\nNote: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to resource name (because the rest is implied by status insight type). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.PoolResourceRef"), + }, + }, + "scopeType": { + SchemaProps: spec.SchemaProps{ + Description: "scopeType describes whether the pool is a control plane or a worker pool", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "assessment": { + SchemaProps: spec.SchemaProps{ + Description: "assessment is the assessment of the machine config pool update process", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "completion": { + SchemaProps: spec.SchemaProps{ + Description: "completion is a percentage of the update completion (0-100)", + Default: 0, + Type: []string{"integer"}, + Format: "int32", + }, + }, + "summaries": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "type", + }, + "x-kubernetes-list-type": "map", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "summaries is a list of counts of nodes matching certain criteria (e.g. updated, degraded, etc.)", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.NodeSummary"), + }, + }, + }, + }, + }, + "conditions": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "type", + }, + "x-kubernetes-list-type": "map", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "conditions provide details about the machine config pool update", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Condition"), + }, + }, + }, + }, + }, + }, + Required: []string{"name", "resource", "scopeType", "assessment", "completion"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.NodeSummary", "github.com/openshift/api/update/v1alpha1.PoolResourceRef", "k8s.io/apimachinery/pkg/apis/meta/v1.Condition"}, + } +} + +func schema_openshift_api_update_v1alpha1_NodeStatusInsight(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "NodeStatusInsight reports the state of a Node during the update", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Description: "name is the name of the node", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "resource": { + SchemaProps: spec.SchemaProps{ + Description: "resource is the Node resource that represents the node\n\nNote: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to resource name (because the rest is implied by status insight type). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.ResourceRef"), + }, + }, + "poolResource": { + SchemaProps: spec.SchemaProps{ + Description: "poolResource is the resource that represents the pool the node is a member of\n\nNote: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows only the \"correct\" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.PoolResourceRef"), + }, + }, + "version": { + SchemaProps: spec.SchemaProps{ + Description: "version is the version of the node, when known", + Type: []string{"string"}, + Format: "", + }, + }, + "estToComplete": { + SchemaProps: spec.SchemaProps{ + Description: "estToComplete is the estimated time to complete the update, when known", + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"), + }, + }, + "message": { + SchemaProps: spec.SchemaProps{ + Description: "message is a short human-readable message about the node update status", + Type: []string{"string"}, + Format: "", + }, + }, + "conditions": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "type", + }, + "x-kubernetes-list-type": "map", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "conditions provides details about the control plane update", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Condition"), + }, + }, + }, + }, + }, + }, + Required: []string{"name", "resource", "poolResource"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.PoolResourceRef", "github.com/openshift/api/update/v1alpha1.ResourceRef", "k8s.io/apimachinery/pkg/apis/meta/v1.Condition", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"}, + } +} + +func schema_openshift_api_update_v1alpha1_NodeSummary(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "NodeSummary is a count of nodes matching certain criteria (e.g. updated, degraded, etc.)", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "type": { + SchemaProps: spec.SchemaProps{ + Description: "type is the type of the summary", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "count": { + SchemaProps: spec.SchemaProps{ + Description: "count is the number of nodes matching the criteria", + Default: 0, + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"type", "count"}, + }, + }, + } +} + +func schema_openshift_api_update_v1alpha1_Pool(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "Pool contains a summary and insights related to a node pool update", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Description: "name is the name of the pool", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "resource": { + SchemaProps: spec.SchemaProps{ + Description: "resource is the resource that represents the pool\n\nNote: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows only the \"correct\" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.PoolResourceRef"), + }, + }, + "informers": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "name", + }, + "x-kubernetes-list-type": "map", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "informers is a list of insight producers, each carries a list of insights", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.Informer"), + }, + }, + }, + }, + }, + "conditions": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "type", + }, + "x-kubernetes-list-type": "map", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "conditions provide details about the pool", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Condition"), + }, + }, + }, + }, + }, + }, + Required: []string{"name", "resource"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.Informer", "github.com/openshift/api/update/v1alpha1.PoolResourceRef", "k8s.io/apimachinery/pkg/apis/meta/v1.Condition"}, + } +} + +func schema_openshift_api_update_v1alpha1_PoolResourceRef(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "PoolResourceRef is a reference to a kubernetes resource that represents a node pool", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "group": { + SchemaProps: spec.SchemaProps{ + Description: "group of the object being referenced, if any", + Type: []string{"string"}, + Format: "", + }, + }, + "resource": { + SchemaProps: spec.SchemaProps{ + Description: "resource of object being referenced", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Description: "name of the object being referenced", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "namespace": { + SchemaProps: spec.SchemaProps{ + Description: "namespace of the object being referenced, if any", + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"resource", "name"}, + }, + }, + } +} + +func schema_openshift_api_update_v1alpha1_ResourceRef(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "ResourceRef is a reference to a kubernetes resource, typically involved in an insight", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "group": { + SchemaProps: spec.SchemaProps{ + Description: "group of the object being referenced, if any", + Type: []string{"string"}, + Format: "", + }, + }, + "resource": { + SchemaProps: spec.SchemaProps{ + Description: "resource of object being referenced", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "name": { + SchemaProps: spec.SchemaProps{ + Description: "name of the object being referenced", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "namespace": { + SchemaProps: spec.SchemaProps{ + Description: "namespace of the object being referenced, if any", + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"resource", "name"}, + }, + }, + } +} + +func schema_openshift_api_update_v1alpha1_UpdateStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "UpdateStatus reports status for in-progress cluster version updates\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Description: "spec is empty for now, UpdateStatus is purely status-reporting API. In the future spec may be used to hold configuration to drive what information is surfaced and how", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.UpdateStatusSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.UpdateStatusStatus"), + }, + }, + }, + Required: []string{"spec"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.UpdateStatusSpec", "github.com/openshift/api/update/v1alpha1.UpdateStatusStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + } +} + +func schema_openshift_api_update_v1alpha1_UpdateStatusList(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "UpdateStatusList is a list of UpdateStatus resources\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + }, + }, + "items": { + SchemaProps: spec.SchemaProps{ + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.UpdateStatus"), + }, + }, + }, + }, + }, + }, + Required: []string{"metadata", "items"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.UpdateStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + } +} + +func schema_openshift_api_update_v1alpha1_UpdateStatusSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "UpdateStatusSpec is empty for now, UpdateStatus is purely status-reporting API. In the future spec may be used to hold configuration to drive what information is surfaced and how", + Type: []string{"object"}, + }, + }, + } +} + +func schema_openshift_api_update_v1alpha1_UpdateStatusStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "UpdateStatusStatus is the API about in-progress updates. It aggregates and summarizes UpdateInsights produced by update informers", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "controlPlane": { + SchemaProps: spec.SchemaProps{ + Description: "controlPlane contains a summary and insights related to the control plane update", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.ControlPlane"), + }, + }, + "workerPools": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "name", + }, + "x-kubernetes-list-type": "map", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "workerPools contains summaries and insights related to the worker pools update", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.Pool"), + }, + }, + }, + }, + }, + "conditions": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "type", + }, + "x-kubernetes-list-type": "map", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "conditions provide details about the controller operational matters", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Condition"), + }, + }, + }, + }, + }, + }, + Required: []string{"controlPlane"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.ControlPlane", "github.com/openshift/api/update/v1alpha1.Pool", "k8s.io/apimachinery/pkg/apis/meta/v1.Condition"}, + } +} + +func schema_openshift_api_update_v1alpha1_Version(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "Version describes a version involved in an update, typically on one side of an update edge", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "version": { + SchemaProps: spec.SchemaProps{ + Description: "version is a semantic version string, or a placeholder '' for the special case where this is a \"previous\" version in a new installation", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "key", + }, + "x-kubernetes-list-type": "map", + }, + }, + SchemaProps: spec.SchemaProps{ + Description: "metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional and when not provided, the metadata item has boolean semantics (presence indicates true)", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/update/v1alpha1.VersionMetadata"), + }, + }, + }, + }, + }, + }, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/update/v1alpha1.VersionMetadata"}, + } +} + +func schema_openshift_api_update_v1alpha1_VersionMetadata(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "key": { + SchemaProps: spec.SchemaProps{ + Description: "key is the name of this metadata value", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "value": { + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "", + }, + }, + }, + Required: []string{"key"}, + }, + }, + } +} + func schema_openshift_api_user_v1_Group(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ diff --git a/openapi/openapi.json b/openapi/openapi.json index 5f13d3de189..b6d991e60b0 100644 --- a/openapi/openapi.json +++ b/openapi/openapi.json @@ -36778,6 +36778,738 @@ } } }, + "com.github.openshift.api.update.v1alpha1.ClusterOperatorStatusInsight": { + "description": "ClusterOperatorStatusInsight reports the state of a ClusterOperator resource (which represents a control plane component update in standalone clusters), during the update", + "type": "object", + "required": [ + "name", + "resource" + ], + "properties": { + "conditions": { + "description": "conditions provide details about the operator", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Condition" + }, + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "name": { + "description": "name is the name of the operator", + "type": "string", + "default": "" + }, + "resource": { + "description": "resource is the ClusterOperator resource that represents the operator\n\nNote: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to resource name (because the rest is implied by status insight type). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.ResourceRef" + } + } + }, + "com.github.openshift.api.update.v1alpha1.ClusterVersionStatusInsight": { + "description": "ClusterVersionStatusInsight reports the state of a ClusterVersion resource (which represents a control plane update in standalone clusters), during the update.", + "type": "object", + "required": [ + "resource", + "assessment", + "versions", + "completion", + "startedAt" + ], + "properties": { + "assessment": { + "description": "assessment is the assessment of the control plane update process", + "type": "string", + "default": "" + }, + "completedAt": { + "description": "completedAt is the time when the update completed", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "completion": { + "description": "completion is a percentage of the update completion (0-100)", + "type": "integer", + "format": "int32", + "default": 0 + }, + "conditions": { + "description": "conditions provides detailed observed conditions about ClusterVersion", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Condition" + }, + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "estimatedCompletedAt": { + "description": "estimatedCompletedAt is the estimated time when the update will complete", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "resource": { + "description": "resource is the ClusterVersion resource that represents the control plane\n\nNote: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to resource name (because the rest is implied by status insight type). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.ResourceRef" + }, + "startedAt": { + "description": "startedAt is the time when the update started", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "versions": { + "description": "versions contains the original and target versions of the upgrade", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.ControlPlaneUpdateVersions" + } + } + }, + "com.github.openshift.api.update.v1alpha1.ControlPlane": { + "description": "ControlPlane contains a summary and insights related to the control plane update", + "type": "object", + "required": [ + "resource" + ], + "properties": { + "conditions": { + "description": "conditions provides details about the control plane update", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Condition" + }, + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "informers": { + "description": "informers is a list of insight producers, each carries a list of insights relevant for control plane", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.Informer" + }, + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + }, + "poolResource": { + "description": "poolResource is the resource that represents control plane node pool, typically a MachineConfigPool. This field is optional because some form factors (like Hosted Control Planes) do not have dedicated control plane node pools.\n\nNote: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows only the \"correct\" resource types to be referenced (here, MachineConfigPool). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.PoolResourceRef" + }, + "resource": { + "description": "resource is the resource that represents the control plane. It will typically be a ClusterVersion resource in standalone OpenShift and HostedCluster in Hosted Control Planes.\n\nNote: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows only the \"correct\" resource types to be referenced (here, ClusterVersion and HostedCluster). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.ResourceRef" + } + } + }, + "com.github.openshift.api.update.v1alpha1.ControlPlaneUpdateVersions": { + "description": "ControlPlaneUpdateVersions contains the original and target versions of the upgrade", + "type": "object", + "required": [ + "previous", + "target" + ], + "properties": { + "previous": { + "description": "previous is the version of the control plane before the update. When the cluster is being installed for the first time, the version will have a placeholder value like '' and the target version will have a boolean installation=true metadata", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.Version" + }, + "target": { + "description": "target is the version of the control plane after the update", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.Version" + } + } + }, + "com.github.openshift.api.update.v1alpha1.HealthInsight": { + "description": "HealthInsight is a piece of actionable information produced by an insight producer about the health of the cluster or an update", + "type": "object", + "required": [ + "startedAt", + "scope", + "impact", + "remediation" + ], + "properties": { + "impact": { + "description": "impact describes the impact the reported condition has on the cluster or update", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.InsightImpact" + }, + "remediation": { + "description": "remediation contains information about how to resolve or prevent the reported condition", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.InsightRemediation" + }, + "scope": { + "description": "scope is list of objects involved in the insight", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.InsightScope" + }, + "startedAt": { + "description": "startedAt is the time when the condition reported by the insight started", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + } + } + }, + "com.github.openshift.api.update.v1alpha1.Informer": { + "description": "Informer is an insight producer identified by a name, carrying a list of insights it produced", + "type": "object", + "required": [ + "name" + ], + "properties": { + "insights": { + "description": "insights is a list of insights produced by this producer", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.Insight" + }, + "x-kubernetes-list-map-keys": [ + "uid" + ], + "x-kubernetes-list-type": "map" + }, + "name": { + "description": "name is the name of the insight producer", + "type": "string", + "default": "" + } + } + }, + "com.github.openshift.api.update.v1alpha1.Insight": { + "description": "Insight is a unique piece of either status/progress or update health information produced by update informer", + "type": "object", + "required": [ + "uid", + "acquiredAt", + "type" + ], + "properties": { + "acquiredAt": { + "description": "acquiredAt is the time when the data was acquired by the producer", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "clusterOperator": { + "description": "clusterOperator is a status insight about the state of a control plane cluster operator update represented by a ClusterOperator resource", + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.ClusterOperatorStatusInsight" + }, + "clusterVersion": { + "description": "clusterVersion is a status insight about the state of a control plane update, where the control plane is represented by a ClusterVersion resource usually managed by CVO", + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.ClusterVersionStatusInsight" + }, + "health": { + "description": "health is a generic health insight about the update. It does not represent a status of any specific resource but surfaces actionable information about the health of the cluster or an update", + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.HealthInsight" + }, + "machineConfigPool": { + "description": "machineConfigPool is a status insight about the state of a worker pool update, where the worker pool is represented by a MachineConfigPool resource", + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.MachineConfigPoolStatusInsight" + }, + "node": { + "description": "node is a status insight about the state of a worker node update, where the worker node is represented by a Node resource", + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.NodeStatusInsight" + }, + "type": { + "description": "type identifies the type of the update insight", + "type": "string", + "default": "" + }, + "uid": { + "description": "uid identifies the insight over time", + "type": "string", + "default": "" + } + } + }, + "com.github.openshift.api.update.v1alpha1.InsightImpact": { + "description": "InsightImpact describes the impact the reported condition has on the cluster or update", + "type": "object", + "required": [ + "level", + "type", + "summary" + ], + "properties": { + "description": { + "description": "description is a human-oriented, possibly longer-form description of the condition reported by the insight", + "type": "string" + }, + "level": { + "description": "level is the severity of the impact", + "type": "string", + "default": "" + }, + "summary": { + "description": "summary is a short summary of the impact", + "type": "string", + "default": "" + }, + "type": { + "description": "type is the type of the impact", + "type": "string", + "default": "" + } + } + }, + "com.github.openshift.api.update.v1alpha1.InsightRemediation": { + "description": "InsightRemediation contains information about how to resolve or prevent the reported condition", + "type": "object", + "required": [ + "reference" + ], + "properties": { + "estimatedFinish": { + "description": "estimatedFinish is the estimated time when the informer expects the condition to be resolved, if applicable.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "reference": { + "description": "reference is a URL where administrators can find information to resolve or prevent the reported condition", + "type": "string", + "default": "" + } + } + }, + "com.github.openshift.api.update.v1alpha1.InsightScope": { + "description": "InsightScope is a list of resources involved in the insight", + "type": "object", + "required": [ + "type" + ], + "properties": { + "resources": { + "description": "resources is a list of resources involved in the insight, of any group/kind", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.ResourceRef" + }, + "x-kubernetes-list-type": "atomic" + }, + "type": { + "description": "type is either ControlPlane or WorkerPool", + "type": "string", + "default": "" + } + } + }, + "com.github.openshift.api.update.v1alpha1.InsightUnion": { + "description": "InsightUnion is the discriminated union of all insights types, identified by type field", + "type": "object", + "required": [ + "type" + ], + "properties": { + "clusterOperator": { + "description": "clusterOperator is a status insight about the state of a control plane cluster operator update represented by a ClusterOperator resource", + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.ClusterOperatorStatusInsight" + }, + "clusterVersion": { + "description": "clusterVersion is a status insight about the state of a control plane update, where the control plane is represented by a ClusterVersion resource usually managed by CVO", + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.ClusterVersionStatusInsight" + }, + "health": { + "description": "health is a generic health insight about the update. It does not represent a status of any specific resource but surfaces actionable information about the health of the cluster or an update", + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.HealthInsight" + }, + "machineConfigPool": { + "description": "machineConfigPool is a status insight about the state of a worker pool update, where the worker pool is represented by a MachineConfigPool resource", + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.MachineConfigPoolStatusInsight" + }, + "node": { + "description": "node is a status insight about the state of a worker node update, where the worker node is represented by a Node resource", + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.NodeStatusInsight" + }, + "type": { + "description": "type identifies the type of the update insight", + "type": "string", + "default": "" + } + } + }, + "com.github.openshift.api.update.v1alpha1.MachineConfigPoolStatusInsight": { + "description": "ClusterVersionStatusInsight reports the state of a MachineConfigPool resource during the update", + "type": "object", + "required": [ + "name", + "resource", + "scopeType", + "assessment", + "completion" + ], + "properties": { + "assessment": { + "description": "assessment is the assessment of the machine config pool update process", + "type": "string", + "default": "" + }, + "completion": { + "description": "completion is a percentage of the update completion (0-100)", + "type": "integer", + "format": "int32", + "default": 0 + }, + "conditions": { + "description": "conditions provide details about the machine config pool update", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Condition" + }, + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "name": { + "description": "name is the name of the machine config pool", + "type": "string", + "default": "" + }, + "resource": { + "description": "resource is the MachineConfigPool resource that represents the pool\n\nNote: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to resource name (because the rest is implied by status insight type). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.PoolResourceRef" + }, + "scopeType": { + "description": "scopeType describes whether the pool is a control plane or a worker pool", + "type": "string", + "default": "" + }, + "summaries": { + "description": "summaries is a list of counts of nodes matching certain criteria (e.g. updated, degraded, etc.)", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.NodeSummary" + }, + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + } + } + }, + "com.github.openshift.api.update.v1alpha1.NodeStatusInsight": { + "description": "NodeStatusInsight reports the state of a Node during the update", + "type": "object", + "required": [ + "name", + "resource", + "poolResource" + ], + "properties": { + "conditions": { + "description": "conditions provides details about the control plane update", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Condition" + }, + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "estToComplete": { + "description": "estToComplete is the estimated time to complete the update, when known", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Duration" + }, + "message": { + "description": "message is a short human-readable message about the node update status", + "type": "string" + }, + "name": { + "description": "name is the name of the node", + "type": "string", + "default": "" + }, + "poolResource": { + "description": "poolResource is the resource that represents the pool the node is a member of\n\nNote: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows only the \"correct\" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.PoolResourceRef" + }, + "resource": { + "description": "resource is the Node resource that represents the node\n\nNote: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to resource name (because the rest is implied by status insight type). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.ResourceRef" + }, + "version": { + "description": "version is the version of the node, when known", + "type": "string" + } + } + }, + "com.github.openshift.api.update.v1alpha1.NodeSummary": { + "description": "NodeSummary is a count of nodes matching certain criteria (e.g. updated, degraded, etc.)", + "type": "object", + "required": [ + "type", + "count" + ], + "properties": { + "count": { + "description": "count is the number of nodes matching the criteria", + "type": "integer", + "format": "int32", + "default": 0 + }, + "type": { + "description": "type is the type of the summary", + "type": "string", + "default": "" + } + } + }, + "com.github.openshift.api.update.v1alpha1.Pool": { + "description": "Pool contains a summary and insights related to a node pool update", + "type": "object", + "required": [ + "name", + "resource" + ], + "properties": { + "conditions": { + "description": "conditions provide details about the pool", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Condition" + }, + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "informers": { + "description": "informers is a list of insight producers, each carries a list of insights", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.Informer" + }, + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + }, + "name": { + "description": "name is the name of the pool", + "type": "string", + "default": "" + }, + "resource": { + "description": "resource is the resource that represents the pool\n\nNote: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows only the \"correct\" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.PoolResourceRef" + } + } + }, + "com.github.openshift.api.update.v1alpha1.PoolResourceRef": { + "description": "PoolResourceRef is a reference to a kubernetes resource that represents a node pool", + "type": "object", + "required": [ + "resource", + "name" + ], + "properties": { + "group": { + "description": "group of the object being referenced, if any", + "type": "string" + }, + "name": { + "description": "name of the object being referenced", + "type": "string", + "default": "" + }, + "namespace": { + "description": "namespace of the object being referenced, if any", + "type": "string" + }, + "resource": { + "description": "resource of object being referenced", + "type": "string", + "default": "" + } + } + }, + "com.github.openshift.api.update.v1alpha1.ResourceRef": { + "description": "ResourceRef is a reference to a kubernetes resource, typically involved in an insight", + "type": "object", + "required": [ + "resource", + "name" + ], + "properties": { + "group": { + "description": "group of the object being referenced, if any", + "type": "string" + }, + "name": { + "description": "name of the object being referenced", + "type": "string", + "default": "" + }, + "namespace": { + "description": "namespace of the object being referenced, if any", + "type": "string" + }, + "resource": { + "description": "resource of object being referenced", + "type": "string", + "default": "" + } + } + }, + "com.github.openshift.api.update.v1alpha1.UpdateStatus": { + "description": "UpdateStatus reports status for in-progress cluster version updates\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", + "type": "object", + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "spec is empty for now, UpdateStatus is purely status-reporting API. In the future spec may be used to hold configuration to drive what information is surfaced and how", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.UpdateStatusSpec" + }, + "status": { + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.UpdateStatusStatus" + } + } + }, + "com.github.openshift.api.update.v1alpha1.UpdateStatusList": { + "description": "UpdateStatusList is a list of UpdateStatus resources\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", + "type": "object", + "required": [ + "metadata", + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.UpdateStatus" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + } + }, + "com.github.openshift.api.update.v1alpha1.UpdateStatusSpec": { + "description": "UpdateStatusSpec is empty for now, UpdateStatus is purely status-reporting API. In the future spec may be used to hold configuration to drive what information is surfaced and how", + "type": "object" + }, + "com.github.openshift.api.update.v1alpha1.UpdateStatusStatus": { + "description": "UpdateStatusStatus is the API about in-progress updates. It aggregates and summarizes UpdateInsights produced by update informers", + "type": "object", + "required": [ + "controlPlane" + ], + "properties": { + "conditions": { + "description": "conditions provide details about the controller operational matters", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Condition" + }, + "x-kubernetes-list-map-keys": [ + "type" + ], + "x-kubernetes-list-type": "map" + }, + "controlPlane": { + "description": "controlPlane contains a summary and insights related to the control plane update", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.ControlPlane" + }, + "workerPools": { + "description": "workerPools contains summaries and insights related to the worker pools update", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.Pool" + }, + "x-kubernetes-list-map-keys": [ + "name" + ], + "x-kubernetes-list-type": "map" + } + } + }, + "com.github.openshift.api.update.v1alpha1.Version": { + "description": "Version describes a version involved in an update, typically on one side of an update edge", + "type": "object", + "properties": { + "metadata": { + "description": "metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional and when not provided, the metadata item has boolean semantics (presence indicates true)", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.update.v1alpha1.VersionMetadata" + }, + "x-kubernetes-list-map-keys": [ + "key" + ], + "x-kubernetes-list-type": "map" + }, + "version": { + "description": "version is a semantic version string, or a placeholder '' for the special case where this is a \"previous\" version in a new installation", + "type": "string" + } + } + }, + "com.github.openshift.api.update.v1alpha1.VersionMetadata": { + "type": "object", + "required": [ + "key" + ], + "properties": { + "key": { + "description": "key is the name of this metadata value", + "type": "string", + "default": "" + }, + "value": { + "type": "string" + } + } + }, "com.github.openshift.api.user.v1.Group": { "description": "Group represents a referenceable set of Users\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "type": "object", diff --git a/update/v1alpha1/zz_generated.crd-manifests/0000_00_cluster-version-operator_02_updatestatuses-CustomNoUpgrade.crd.yaml b/update/v1alpha1/zz_generated.crd-manifests/0000_00_cluster-version-operator_02_updatestatuses-CustomNoUpgrade.crd.yaml new file mode 100644 index 00000000000..ccda4d8bba6 --- /dev/null +++ b/update/v1alpha1/zz_generated.crd-manifests/0000_00_cluster-version-operator_02_updatestatuses-CustomNoUpgrade.crd.yaml @@ -0,0 +1,2037 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/2012 + api.openshift.io/merged-by-featuregates: "true" + description: Provides health and status information about OpenShift cluster updates. + displayName: UpdateStatuses + include.release.openshift.io/ibm-cloud-managed: "true" + include.release.openshift.io/self-managed-high-availability: "true" + release.openshift.io/feature-set: CustomNoUpgrade + name: updatestatuses.update.openshift.io +spec: + group: update.openshift.io + names: + kind: UpdateStatus + listKind: UpdateStatusList + plural: updatestatuses + singular: updatestatus + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: |- + UpdateStatus reports status for in-progress cluster version updates + + Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + spec is empty for now, UpdateStatus is purely status-reporting API. In the future spec may be used to hold + configuration to drive what information is surfaced and how + type: object + status: + description: |- + UpdateStatusStatus is the API about in-progress updates. It aggregates and summarizes UpdateInsights produced by + update informers + properties: + conditions: + description: conditions provide details about the controller operational + matters + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + controlPlane: + description: controlPlane contains a summary and insights related + to the control plane update + properties: + conditions: + description: conditions provides details about the control plane + update + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + informers: + description: informers is a list of insight producers, each carries + a list of insights relevant for control plane + items: + description: Informer is an insight producer identified by a + name, carrying a list of insights it produced + properties: + insights: + description: insights is a list of insights produced by + this producer + items: + description: Insight is a unique piece of either status/progress + or update health information produced by update informer + properties: + acquiredAt: + description: acquiredAt is the time when the data + was acquired by the producer + format: date-time + type: string + clusterOperator: + description: |- + clusterOperator is a status insight about the state of a control plane cluster operator update + represented by a ClusterOperator resource + properties: + conditions: + description: conditions provide details about + the operator + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the operator + type: string + resource: + description: |- + resource is the ClusterOperator resource that represents the operator + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - name + - resource + type: object + clusterVersion: + description: |- + clusterVersion is a status insight about the state of a control plane update, where + the control plane is represented by a ClusterVersion resource usually managed by CVO + properties: + assessment: + description: assessment is the assessment of the + control plane update process + type: string + completedAt: + description: completedAt is the time when the + update completed + format: date-time + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provides detailed observed + conditions about ClusterVersion + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estimatedCompletedAt: + description: estimatedCompletedAt is the estimated + time when the update will complete + format: date-time + type: string + resource: + description: |- + resource is the ClusterVersion resource that represents the control plane + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + startedAt: + description: startedAt is the time when the update + started + format: date-time + type: string + versions: + description: versions contains the original and + target versions of the upgrade + properties: + previous: + description: |- + previous is the version of the control plane before the update. When the cluster is being installed + for the first time, the version will have a placeholder value like '' and the target version + will have a boolean installation=true metadata + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + target: + description: target is the version of the + control plane after the update + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + required: + - previous + - target + type: object + required: + - assessment + - completion + - resource + - startedAt + - versions + type: object + health: + description: |- + health is a generic health insight about the update. It does not represent a status of any specific + resource but surfaces actionable information about the health of the cluster or an update + properties: + impact: + description: impact describes the impact the reported + condition has on the cluster or update + properties: + description: + description: description is a human-oriented, + possibly longer-form description of the + condition reported by the insight + type: string + level: + allOf: + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + description: level is the severity of the + impact + type: string + summary: + description: summary is a short summary of + the impact + type: string + type: + allOf: + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + description: type is the type of the impact + type: string + required: + - level + - summary + - type + type: object + remediation: + description: remediation contains information + about how to resolve or prevent the reported + condition + properties: + estimatedFinish: + description: estimatedFinish is the estimated + time when the informer expects the condition + to be resolved, if applicable. + format: date-time + type: string + reference: + description: reference is a URL where administrators + can find information to resolve or prevent + the reported condition + format: uri + type: string + required: + - reference + type: object + scope: + description: scope is list of objects involved + in the insight + properties: + resources: + description: resources is a list of resources + involved in the insight, of any group/kind + items: + description: ResourceRef is a reference + to a kubernetes resource, typically involved + in an insight + properties: + group: + description: group of the object being + referenced, if any + type: string + name: + description: name of the object being + referenced + type: string + namespace: + description: namespace of the object + being referenced, if any + type: string + resource: + description: resource of object being + referenced + type: string + required: + - name + - resource + type: object + type: array + x-kubernetes-list-type: atomic + type: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: type is either ControlPlane or + WorkerPool + type: string + required: + - type + type: object + startedAt: + description: startedAt is the time when the condition + reported by the insight started + format: date-time + type: string + required: + - impact + - scope + - startedAt + type: object + machineConfigPool: + description: |- + machineConfigPool is a status insight about the state of a worker pool update, where the worker pool + is represented by a MachineConfigPool resource + properties: + assessment: + description: assessment is the assessment of the + machine config pool update process + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provide details about + the machine config pool update + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the machine config + pool + type: string + resource: + description: |- + resource is the MachineConfigPool resource that represents the pool + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + scopeType: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: scopeType describes whether the pool + is a control plane or a worker pool + type: string + summaries: + description: summaries is a list of counts of + nodes matching certain criteria (e.g. updated, + degraded, etc.) + items: + description: NodeSummary is a count of nodes + matching certain criteria (e.g. updated, degraded, + etc.) + properties: + count: + description: count is the number of nodes + matching the criteria + format: int32 + minimum: 0 + type: integer + type: + allOf: + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + description: type is the type of the summary + type: string + required: + - count + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + required: + - assessment + - completion + - name + - resource + - scopeType + type: object + node: + description: |- + node is a status insight about the state of a worker node update, where the worker node is represented + by a Node resource + properties: + conditions: + description: conditions provides details about + the control plane update + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estToComplete: + description: estToComplete is the estimated time + to complete the update, when known + type: string + message: + description: message is a short human-readable + message about the node update status + type: string + name: + description: name is the name of the node + type: string + poolResource: + description: |- + poolResource is the resource that represents the pool the node is a member of + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use + resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + resource: + description: |- + resource is the Node resource that represents the node + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + version: + description: version is the version of the node, + when known + type: string + required: + - name + - poolResource + - resource + type: object + type: + allOf: + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + description: type identifies the type of the update + insight + type: string + uid: + description: uid identifies the insight over time + type: string + required: + - acquiredAt + - type + - uid + type: object + type: array + x-kubernetes-list-map-keys: + - uid + x-kubernetes-list-type: map + name: + description: name is the name of the insight producer + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + poolResource: + description: |- + poolResource is the resource that represents control plane node pool, typically a MachineConfigPool. This field + is optional because some form factors (like Hosted Control Planes) do not have dedicated control plane node pools. + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool). However, because we use resource + references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be + more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being referenced, if + any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + resource: + description: |- + resource is the resource that represents the control plane. It will typically be a ClusterVersion resource + in standalone OpenShift and HostedCluster in Hosted Control Planes. + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, ClusterVersion and HostedCluster). However, because we + use resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being referenced, if + any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - resource + type: object + workerPools: + description: workerPools contains summaries and insights related to + the worker pools update + items: + description: Pool contains a summary and insights related to a node + pool update + properties: + conditions: + description: conditions provide details about the pool + items: + description: Condition contains details for one aspect of + the current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + informers: + description: informers is a list of insight producers, each + carries a list of insights + items: + description: Informer is an insight producer identified by + a name, carrying a list of insights it produced + properties: + insights: + description: insights is a list of insights produced by + this producer + items: + description: Insight is a unique piece of either status/progress + or update health information produced by update informer + properties: + acquiredAt: + description: acquiredAt is the time when the data + was acquired by the producer + format: date-time + type: string + clusterOperator: + description: |- + clusterOperator is a status insight about the state of a control plane cluster operator update + represented by a ClusterOperator resource + properties: + conditions: + description: conditions provide details about + the operator + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the operator + type: string + resource: + description: |- + resource is the ClusterOperator resource that represents the operator + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - name + - resource + type: object + clusterVersion: + description: |- + clusterVersion is a status insight about the state of a control plane update, where + the control plane is represented by a ClusterVersion resource usually managed by CVO + properties: + assessment: + description: assessment is the assessment of + the control plane update process + type: string + completedAt: + description: completedAt is the time when the + update completed + format: date-time + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provides detailed observed + conditions about ClusterVersion + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estimatedCompletedAt: + description: estimatedCompletedAt is the estimated + time when the update will complete + format: date-time + type: string + resource: + description: |- + resource is the ClusterVersion resource that represents the control plane + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + startedAt: + description: startedAt is the time when the + update started + format: date-time + type: string + versions: + description: versions contains the original + and target versions of the upgrade + properties: + previous: + description: |- + previous is the version of the control plane before the update. When the cluster is being installed + for the first time, the version will have a placeholder value like '' and the target version + will have a boolean installation=true metadata + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + target: + description: target is the version of the + control plane after the update + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + required: + - previous + - target + type: object + required: + - assessment + - completion + - resource + - startedAt + - versions + type: object + health: + description: |- + health is a generic health insight about the update. It does not represent a status of any specific + resource but surfaces actionable information about the health of the cluster or an update + properties: + impact: + description: impact describes the impact the + reported condition has on the cluster or update + properties: + description: + description: description is a human-oriented, + possibly longer-form description of the + condition reported by the insight + type: string + level: + allOf: + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + description: level is the severity of the + impact + type: string + summary: + description: summary is a short summary + of the impact + type: string + type: + allOf: + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + description: type is the type of the impact + type: string + required: + - level + - summary + - type + type: object + remediation: + description: remediation contains information + about how to resolve or prevent the reported + condition + properties: + estimatedFinish: + description: estimatedFinish is the estimated + time when the informer expects the condition + to be resolved, if applicable. + format: date-time + type: string + reference: + description: reference is a URL where administrators + can find information to resolve or prevent + the reported condition + format: uri + type: string + required: + - reference + type: object + scope: + description: scope is list of objects involved + in the insight + properties: + resources: + description: resources is a list of resources + involved in the insight, of any group/kind + items: + description: ResourceRef is a reference + to a kubernetes resource, typically + involved in an insight + properties: + group: + description: group of the object being + referenced, if any + type: string + name: + description: name of the object being + referenced + type: string + namespace: + description: namespace of the object + being referenced, if any + type: string + resource: + description: resource of object being + referenced + type: string + required: + - name + - resource + type: object + type: array + x-kubernetes-list-type: atomic + type: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: type is either ControlPlane + or WorkerPool + type: string + required: + - type + type: object + startedAt: + description: startedAt is the time when the + condition reported by the insight started + format: date-time + type: string + required: + - impact + - scope + - startedAt + type: object + machineConfigPool: + description: |- + machineConfigPool is a status insight about the state of a worker pool update, where the worker pool + is represented by a MachineConfigPool resource + properties: + assessment: + description: assessment is the assessment of + the machine config pool update process + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provide details about + the machine config pool update + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the machine + config pool + type: string + resource: + description: |- + resource is the MachineConfigPool resource that represents the pool + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + scopeType: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: scopeType describes whether the + pool is a control plane or a worker pool + type: string + summaries: + description: summaries is a list of counts of + nodes matching certain criteria (e.g. updated, + degraded, etc.) + items: + description: NodeSummary is a count of nodes + matching certain criteria (e.g. updated, + degraded, etc.) + properties: + count: + description: count is the number of nodes + matching the criteria + format: int32 + minimum: 0 + type: integer + type: + allOf: + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + description: type is the type of the summary + type: string + required: + - count + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + required: + - assessment + - completion + - name + - resource + - scopeType + type: object + node: + description: |- + node is a status insight about the state of a worker node update, where the worker node is represented + by a Node resource + properties: + conditions: + description: conditions provides details about + the control plane update + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estToComplete: + description: estToComplete is the estimated + time to complete the update, when known + type: string + message: + description: message is a short human-readable + message about the node update status + type: string + name: + description: name is the name of the node + type: string + poolResource: + description: |- + poolResource is the resource that represents the pool the node is a member of + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use + resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + resource: + description: |- + resource is the Node resource that represents the node + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + version: + description: version is the version of the node, + when known + type: string + required: + - name + - poolResource + - resource + type: object + type: + allOf: + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + description: type identifies the type of the update + insight + type: string + uid: + description: uid identifies the insight over time + type: string + required: + - acquiredAt + - type + - uid + type: object + type: array + x-kubernetes-list-map-keys: + - uid + x-kubernetes-list-type: map + name: + description: name is the name of the insight producer + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + name: + description: name is the name of the pool + type: string + resource: + description: |- + resource is the resource that represents the pool + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use + resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being referenced, if + any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - name + - resource + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + required: + - controlPlane + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/update/v1alpha1/zz_generated.crd-manifests/0000_00_cluster-version-operator_02_updatestatuses-DevPreviewNoUpgrade.crd.yaml b/update/v1alpha1/zz_generated.crd-manifests/0000_00_cluster-version-operator_02_updatestatuses-DevPreviewNoUpgrade.crd.yaml new file mode 100644 index 00000000000..942d6a67d14 --- /dev/null +++ b/update/v1alpha1/zz_generated.crd-manifests/0000_00_cluster-version-operator_02_updatestatuses-DevPreviewNoUpgrade.crd.yaml @@ -0,0 +1,2037 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/2012 + api.openshift.io/merged-by-featuregates: "true" + description: Provides health and status information about OpenShift cluster updates. + displayName: UpdateStatuses + include.release.openshift.io/ibm-cloud-managed: "true" + include.release.openshift.io/self-managed-high-availability: "true" + release.openshift.io/feature-set: DevPreviewNoUpgrade + name: updatestatuses.update.openshift.io +spec: + group: update.openshift.io + names: + kind: UpdateStatus + listKind: UpdateStatusList + plural: updatestatuses + singular: updatestatus + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: |- + UpdateStatus reports status for in-progress cluster version updates + + Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + spec is empty for now, UpdateStatus is purely status-reporting API. In the future spec may be used to hold + configuration to drive what information is surfaced and how + type: object + status: + description: |- + UpdateStatusStatus is the API about in-progress updates. It aggregates and summarizes UpdateInsights produced by + update informers + properties: + conditions: + description: conditions provide details about the controller operational + matters + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + controlPlane: + description: controlPlane contains a summary and insights related + to the control plane update + properties: + conditions: + description: conditions provides details about the control plane + update + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + informers: + description: informers is a list of insight producers, each carries + a list of insights relevant for control plane + items: + description: Informer is an insight producer identified by a + name, carrying a list of insights it produced + properties: + insights: + description: insights is a list of insights produced by + this producer + items: + description: Insight is a unique piece of either status/progress + or update health information produced by update informer + properties: + acquiredAt: + description: acquiredAt is the time when the data + was acquired by the producer + format: date-time + type: string + clusterOperator: + description: |- + clusterOperator is a status insight about the state of a control plane cluster operator update + represented by a ClusterOperator resource + properties: + conditions: + description: conditions provide details about + the operator + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the operator + type: string + resource: + description: |- + resource is the ClusterOperator resource that represents the operator + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - name + - resource + type: object + clusterVersion: + description: |- + clusterVersion is a status insight about the state of a control plane update, where + the control plane is represented by a ClusterVersion resource usually managed by CVO + properties: + assessment: + description: assessment is the assessment of the + control plane update process + type: string + completedAt: + description: completedAt is the time when the + update completed + format: date-time + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provides detailed observed + conditions about ClusterVersion + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estimatedCompletedAt: + description: estimatedCompletedAt is the estimated + time when the update will complete + format: date-time + type: string + resource: + description: |- + resource is the ClusterVersion resource that represents the control plane + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + startedAt: + description: startedAt is the time when the update + started + format: date-time + type: string + versions: + description: versions contains the original and + target versions of the upgrade + properties: + previous: + description: |- + previous is the version of the control plane before the update. When the cluster is being installed + for the first time, the version will have a placeholder value like '' and the target version + will have a boolean installation=true metadata + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + target: + description: target is the version of the + control plane after the update + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + required: + - previous + - target + type: object + required: + - assessment + - completion + - resource + - startedAt + - versions + type: object + health: + description: |- + health is a generic health insight about the update. It does not represent a status of any specific + resource but surfaces actionable information about the health of the cluster or an update + properties: + impact: + description: impact describes the impact the reported + condition has on the cluster or update + properties: + description: + description: description is a human-oriented, + possibly longer-form description of the + condition reported by the insight + type: string + level: + allOf: + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + description: level is the severity of the + impact + type: string + summary: + description: summary is a short summary of + the impact + type: string + type: + allOf: + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + description: type is the type of the impact + type: string + required: + - level + - summary + - type + type: object + remediation: + description: remediation contains information + about how to resolve or prevent the reported + condition + properties: + estimatedFinish: + description: estimatedFinish is the estimated + time when the informer expects the condition + to be resolved, if applicable. + format: date-time + type: string + reference: + description: reference is a URL where administrators + can find information to resolve or prevent + the reported condition + format: uri + type: string + required: + - reference + type: object + scope: + description: scope is list of objects involved + in the insight + properties: + resources: + description: resources is a list of resources + involved in the insight, of any group/kind + items: + description: ResourceRef is a reference + to a kubernetes resource, typically involved + in an insight + properties: + group: + description: group of the object being + referenced, if any + type: string + name: + description: name of the object being + referenced + type: string + namespace: + description: namespace of the object + being referenced, if any + type: string + resource: + description: resource of object being + referenced + type: string + required: + - name + - resource + type: object + type: array + x-kubernetes-list-type: atomic + type: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: type is either ControlPlane or + WorkerPool + type: string + required: + - type + type: object + startedAt: + description: startedAt is the time when the condition + reported by the insight started + format: date-time + type: string + required: + - impact + - scope + - startedAt + type: object + machineConfigPool: + description: |- + machineConfigPool is a status insight about the state of a worker pool update, where the worker pool + is represented by a MachineConfigPool resource + properties: + assessment: + description: assessment is the assessment of the + machine config pool update process + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provide details about + the machine config pool update + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the machine config + pool + type: string + resource: + description: |- + resource is the MachineConfigPool resource that represents the pool + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + scopeType: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: scopeType describes whether the pool + is a control plane or a worker pool + type: string + summaries: + description: summaries is a list of counts of + nodes matching certain criteria (e.g. updated, + degraded, etc.) + items: + description: NodeSummary is a count of nodes + matching certain criteria (e.g. updated, degraded, + etc.) + properties: + count: + description: count is the number of nodes + matching the criteria + format: int32 + minimum: 0 + type: integer + type: + allOf: + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + description: type is the type of the summary + type: string + required: + - count + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + required: + - assessment + - completion + - name + - resource + - scopeType + type: object + node: + description: |- + node is a status insight about the state of a worker node update, where the worker node is represented + by a Node resource + properties: + conditions: + description: conditions provides details about + the control plane update + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estToComplete: + description: estToComplete is the estimated time + to complete the update, when known + type: string + message: + description: message is a short human-readable + message about the node update status + type: string + name: + description: name is the name of the node + type: string + poolResource: + description: |- + poolResource is the resource that represents the pool the node is a member of + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use + resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + resource: + description: |- + resource is the Node resource that represents the node + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + version: + description: version is the version of the node, + when known + type: string + required: + - name + - poolResource + - resource + type: object + type: + allOf: + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + description: type identifies the type of the update + insight + type: string + uid: + description: uid identifies the insight over time + type: string + required: + - acquiredAt + - type + - uid + type: object + type: array + x-kubernetes-list-map-keys: + - uid + x-kubernetes-list-type: map + name: + description: name is the name of the insight producer + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + poolResource: + description: |- + poolResource is the resource that represents control plane node pool, typically a MachineConfigPool. This field + is optional because some form factors (like Hosted Control Planes) do not have dedicated control plane node pools. + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool). However, because we use resource + references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be + more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being referenced, if + any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + resource: + description: |- + resource is the resource that represents the control plane. It will typically be a ClusterVersion resource + in standalone OpenShift and HostedCluster in Hosted Control Planes. + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, ClusterVersion and HostedCluster). However, because we + use resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being referenced, if + any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - resource + type: object + workerPools: + description: workerPools contains summaries and insights related to + the worker pools update + items: + description: Pool contains a summary and insights related to a node + pool update + properties: + conditions: + description: conditions provide details about the pool + items: + description: Condition contains details for one aspect of + the current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + informers: + description: informers is a list of insight producers, each + carries a list of insights + items: + description: Informer is an insight producer identified by + a name, carrying a list of insights it produced + properties: + insights: + description: insights is a list of insights produced by + this producer + items: + description: Insight is a unique piece of either status/progress + or update health information produced by update informer + properties: + acquiredAt: + description: acquiredAt is the time when the data + was acquired by the producer + format: date-time + type: string + clusterOperator: + description: |- + clusterOperator is a status insight about the state of a control plane cluster operator update + represented by a ClusterOperator resource + properties: + conditions: + description: conditions provide details about + the operator + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the operator + type: string + resource: + description: |- + resource is the ClusterOperator resource that represents the operator + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - name + - resource + type: object + clusterVersion: + description: |- + clusterVersion is a status insight about the state of a control plane update, where + the control plane is represented by a ClusterVersion resource usually managed by CVO + properties: + assessment: + description: assessment is the assessment of + the control plane update process + type: string + completedAt: + description: completedAt is the time when the + update completed + format: date-time + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provides detailed observed + conditions about ClusterVersion + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estimatedCompletedAt: + description: estimatedCompletedAt is the estimated + time when the update will complete + format: date-time + type: string + resource: + description: |- + resource is the ClusterVersion resource that represents the control plane + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + startedAt: + description: startedAt is the time when the + update started + format: date-time + type: string + versions: + description: versions contains the original + and target versions of the upgrade + properties: + previous: + description: |- + previous is the version of the control plane before the update. When the cluster is being installed + for the first time, the version will have a placeholder value like '' and the target version + will have a boolean installation=true metadata + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + target: + description: target is the version of the + control plane after the update + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + required: + - previous + - target + type: object + required: + - assessment + - completion + - resource + - startedAt + - versions + type: object + health: + description: |- + health is a generic health insight about the update. It does not represent a status of any specific + resource but surfaces actionable information about the health of the cluster or an update + properties: + impact: + description: impact describes the impact the + reported condition has on the cluster or update + properties: + description: + description: description is a human-oriented, + possibly longer-form description of the + condition reported by the insight + type: string + level: + allOf: + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + description: level is the severity of the + impact + type: string + summary: + description: summary is a short summary + of the impact + type: string + type: + allOf: + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + description: type is the type of the impact + type: string + required: + - level + - summary + - type + type: object + remediation: + description: remediation contains information + about how to resolve or prevent the reported + condition + properties: + estimatedFinish: + description: estimatedFinish is the estimated + time when the informer expects the condition + to be resolved, if applicable. + format: date-time + type: string + reference: + description: reference is a URL where administrators + can find information to resolve or prevent + the reported condition + format: uri + type: string + required: + - reference + type: object + scope: + description: scope is list of objects involved + in the insight + properties: + resources: + description: resources is a list of resources + involved in the insight, of any group/kind + items: + description: ResourceRef is a reference + to a kubernetes resource, typically + involved in an insight + properties: + group: + description: group of the object being + referenced, if any + type: string + name: + description: name of the object being + referenced + type: string + namespace: + description: namespace of the object + being referenced, if any + type: string + resource: + description: resource of object being + referenced + type: string + required: + - name + - resource + type: object + type: array + x-kubernetes-list-type: atomic + type: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: type is either ControlPlane + or WorkerPool + type: string + required: + - type + type: object + startedAt: + description: startedAt is the time when the + condition reported by the insight started + format: date-time + type: string + required: + - impact + - scope + - startedAt + type: object + machineConfigPool: + description: |- + machineConfigPool is a status insight about the state of a worker pool update, where the worker pool + is represented by a MachineConfigPool resource + properties: + assessment: + description: assessment is the assessment of + the machine config pool update process + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provide details about + the machine config pool update + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the machine + config pool + type: string + resource: + description: |- + resource is the MachineConfigPool resource that represents the pool + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + scopeType: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: scopeType describes whether the + pool is a control plane or a worker pool + type: string + summaries: + description: summaries is a list of counts of + nodes matching certain criteria (e.g. updated, + degraded, etc.) + items: + description: NodeSummary is a count of nodes + matching certain criteria (e.g. updated, + degraded, etc.) + properties: + count: + description: count is the number of nodes + matching the criteria + format: int32 + minimum: 0 + type: integer + type: + allOf: + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + description: type is the type of the summary + type: string + required: + - count + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + required: + - assessment + - completion + - name + - resource + - scopeType + type: object + node: + description: |- + node is a status insight about the state of a worker node update, where the worker node is represented + by a Node resource + properties: + conditions: + description: conditions provides details about + the control plane update + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estToComplete: + description: estToComplete is the estimated + time to complete the update, when known + type: string + message: + description: message is a short human-readable + message about the node update status + type: string + name: + description: name is the name of the node + type: string + poolResource: + description: |- + poolResource is the resource that represents the pool the node is a member of + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use + resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + resource: + description: |- + resource is the Node resource that represents the node + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + version: + description: version is the version of the node, + when known + type: string + required: + - name + - poolResource + - resource + type: object + type: + allOf: + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + description: type identifies the type of the update + insight + type: string + uid: + description: uid identifies the insight over time + type: string + required: + - acquiredAt + - type + - uid + type: object + type: array + x-kubernetes-list-map-keys: + - uid + x-kubernetes-list-type: map + name: + description: name is the name of the insight producer + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + name: + description: name is the name of the pool + type: string + resource: + description: |- + resource is the resource that represents the pool + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use + resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being referenced, if + any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - name + - resource + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + required: + - controlPlane + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/update/v1alpha1/zz_generated.crd-manifests/0000_00_cluster-version-operator_02_updatestatuses-TechPreviewNoUpgrade.crd.yaml b/update/v1alpha1/zz_generated.crd-manifests/0000_00_cluster-version-operator_02_updatestatuses-TechPreviewNoUpgrade.crd.yaml new file mode 100644 index 00000000000..c2f926c3dfd --- /dev/null +++ b/update/v1alpha1/zz_generated.crd-manifests/0000_00_cluster-version-operator_02_updatestatuses-TechPreviewNoUpgrade.crd.yaml @@ -0,0 +1,2037 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/2012 + api.openshift.io/merged-by-featuregates: "true" + description: Provides health and status information about OpenShift cluster updates. + displayName: UpdateStatuses + include.release.openshift.io/ibm-cloud-managed: "true" + include.release.openshift.io/self-managed-high-availability: "true" + release.openshift.io/feature-set: TechPreviewNoUpgrade + name: updatestatuses.update.openshift.io +spec: + group: update.openshift.io + names: + kind: UpdateStatus + listKind: UpdateStatusList + plural: updatestatuses + singular: updatestatus + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: |- + UpdateStatus reports status for in-progress cluster version updates + + Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + spec is empty for now, UpdateStatus is purely status-reporting API. In the future spec may be used to hold + configuration to drive what information is surfaced and how + type: object + status: + description: |- + UpdateStatusStatus is the API about in-progress updates. It aggregates and summarizes UpdateInsights produced by + update informers + properties: + conditions: + description: conditions provide details about the controller operational + matters + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + controlPlane: + description: controlPlane contains a summary and insights related + to the control plane update + properties: + conditions: + description: conditions provides details about the control plane + update + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + informers: + description: informers is a list of insight producers, each carries + a list of insights relevant for control plane + items: + description: Informer is an insight producer identified by a + name, carrying a list of insights it produced + properties: + insights: + description: insights is a list of insights produced by + this producer + items: + description: Insight is a unique piece of either status/progress + or update health information produced by update informer + properties: + acquiredAt: + description: acquiredAt is the time when the data + was acquired by the producer + format: date-time + type: string + clusterOperator: + description: |- + clusterOperator is a status insight about the state of a control plane cluster operator update + represented by a ClusterOperator resource + properties: + conditions: + description: conditions provide details about + the operator + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the operator + type: string + resource: + description: |- + resource is the ClusterOperator resource that represents the operator + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - name + - resource + type: object + clusterVersion: + description: |- + clusterVersion is a status insight about the state of a control plane update, where + the control plane is represented by a ClusterVersion resource usually managed by CVO + properties: + assessment: + description: assessment is the assessment of the + control plane update process + type: string + completedAt: + description: completedAt is the time when the + update completed + format: date-time + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provides detailed observed + conditions about ClusterVersion + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estimatedCompletedAt: + description: estimatedCompletedAt is the estimated + time when the update will complete + format: date-time + type: string + resource: + description: |- + resource is the ClusterVersion resource that represents the control plane + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + startedAt: + description: startedAt is the time when the update + started + format: date-time + type: string + versions: + description: versions contains the original and + target versions of the upgrade + properties: + previous: + description: |- + previous is the version of the control plane before the update. When the cluster is being installed + for the first time, the version will have a placeholder value like '' and the target version + will have a boolean installation=true metadata + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + target: + description: target is the version of the + control plane after the update + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + required: + - previous + - target + type: object + required: + - assessment + - completion + - resource + - startedAt + - versions + type: object + health: + description: |- + health is a generic health insight about the update. It does not represent a status of any specific + resource but surfaces actionable information about the health of the cluster or an update + properties: + impact: + description: impact describes the impact the reported + condition has on the cluster or update + properties: + description: + description: description is a human-oriented, + possibly longer-form description of the + condition reported by the insight + type: string + level: + allOf: + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + description: level is the severity of the + impact + type: string + summary: + description: summary is a short summary of + the impact + type: string + type: + allOf: + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + description: type is the type of the impact + type: string + required: + - level + - summary + - type + type: object + remediation: + description: remediation contains information + about how to resolve or prevent the reported + condition + properties: + estimatedFinish: + description: estimatedFinish is the estimated + time when the informer expects the condition + to be resolved, if applicable. + format: date-time + type: string + reference: + description: reference is a URL where administrators + can find information to resolve or prevent + the reported condition + format: uri + type: string + required: + - reference + type: object + scope: + description: scope is list of objects involved + in the insight + properties: + resources: + description: resources is a list of resources + involved in the insight, of any group/kind + items: + description: ResourceRef is a reference + to a kubernetes resource, typically involved + in an insight + properties: + group: + description: group of the object being + referenced, if any + type: string + name: + description: name of the object being + referenced + type: string + namespace: + description: namespace of the object + being referenced, if any + type: string + resource: + description: resource of object being + referenced + type: string + required: + - name + - resource + type: object + type: array + x-kubernetes-list-type: atomic + type: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: type is either ControlPlane or + WorkerPool + type: string + required: + - type + type: object + startedAt: + description: startedAt is the time when the condition + reported by the insight started + format: date-time + type: string + required: + - impact + - scope + - startedAt + type: object + machineConfigPool: + description: |- + machineConfigPool is a status insight about the state of a worker pool update, where the worker pool + is represented by a MachineConfigPool resource + properties: + assessment: + description: assessment is the assessment of the + machine config pool update process + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provide details about + the machine config pool update + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the machine config + pool + type: string + resource: + description: |- + resource is the MachineConfigPool resource that represents the pool + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + scopeType: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: scopeType describes whether the pool + is a control plane or a worker pool + type: string + summaries: + description: summaries is a list of counts of + nodes matching certain criteria (e.g. updated, + degraded, etc.) + items: + description: NodeSummary is a count of nodes + matching certain criteria (e.g. updated, degraded, + etc.) + properties: + count: + description: count is the number of nodes + matching the criteria + format: int32 + minimum: 0 + type: integer + type: + allOf: + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + description: type is the type of the summary + type: string + required: + - count + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + required: + - assessment + - completion + - name + - resource + - scopeType + type: object + node: + description: |- + node is a status insight about the state of a worker node update, where the worker node is represented + by a Node resource + properties: + conditions: + description: conditions provides details about + the control plane update + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estToComplete: + description: estToComplete is the estimated time + to complete the update, when known + type: string + message: + description: message is a short human-readable + message about the node update status + type: string + name: + description: name is the name of the node + type: string + poolResource: + description: |- + poolResource is the resource that represents the pool the node is a member of + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use + resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + resource: + description: |- + resource is the Node resource that represents the node + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + version: + description: version is the version of the node, + when known + type: string + required: + - name + - poolResource + - resource + type: object + type: + allOf: + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + description: type identifies the type of the update + insight + type: string + uid: + description: uid identifies the insight over time + type: string + required: + - acquiredAt + - type + - uid + type: object + type: array + x-kubernetes-list-map-keys: + - uid + x-kubernetes-list-type: map + name: + description: name is the name of the insight producer + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + poolResource: + description: |- + poolResource is the resource that represents control plane node pool, typically a MachineConfigPool. This field + is optional because some form factors (like Hosted Control Planes) do not have dedicated control plane node pools. + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool). However, because we use resource + references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be + more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being referenced, if + any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + resource: + description: |- + resource is the resource that represents the control plane. It will typically be a ClusterVersion resource + in standalone OpenShift and HostedCluster in Hosted Control Planes. + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, ClusterVersion and HostedCluster). However, because we + use resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being referenced, if + any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - resource + type: object + workerPools: + description: workerPools contains summaries and insights related to + the worker pools update + items: + description: Pool contains a summary and insights related to a node + pool update + properties: + conditions: + description: conditions provide details about the pool + items: + description: Condition contains details for one aspect of + the current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + informers: + description: informers is a list of insight producers, each + carries a list of insights + items: + description: Informer is an insight producer identified by + a name, carrying a list of insights it produced + properties: + insights: + description: insights is a list of insights produced by + this producer + items: + description: Insight is a unique piece of either status/progress + or update health information produced by update informer + properties: + acquiredAt: + description: acquiredAt is the time when the data + was acquired by the producer + format: date-time + type: string + clusterOperator: + description: |- + clusterOperator is a status insight about the state of a control plane cluster operator update + represented by a ClusterOperator resource + properties: + conditions: + description: conditions provide details about + the operator + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the operator + type: string + resource: + description: |- + resource is the ClusterOperator resource that represents the operator + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - name + - resource + type: object + clusterVersion: + description: |- + clusterVersion is a status insight about the state of a control plane update, where + the control plane is represented by a ClusterVersion resource usually managed by CVO + properties: + assessment: + description: assessment is the assessment of + the control plane update process + type: string + completedAt: + description: completedAt is the time when the + update completed + format: date-time + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provides detailed observed + conditions about ClusterVersion + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estimatedCompletedAt: + description: estimatedCompletedAt is the estimated + time when the update will complete + format: date-time + type: string + resource: + description: |- + resource is the ClusterVersion resource that represents the control plane + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + startedAt: + description: startedAt is the time when the + update started + format: date-time + type: string + versions: + description: versions contains the original + and target versions of the upgrade + properties: + previous: + description: |- + previous is the version of the control plane before the update. When the cluster is being installed + for the first time, the version will have a placeholder value like '' and the target version + will have a boolean installation=true metadata + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + target: + description: target is the version of the + control plane after the update + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + required: + - previous + - target + type: object + required: + - assessment + - completion + - resource + - startedAt + - versions + type: object + health: + description: |- + health is a generic health insight about the update. It does not represent a status of any specific + resource but surfaces actionable information about the health of the cluster or an update + properties: + impact: + description: impact describes the impact the + reported condition has on the cluster or update + properties: + description: + description: description is a human-oriented, + possibly longer-form description of the + condition reported by the insight + type: string + level: + allOf: + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + description: level is the severity of the + impact + type: string + summary: + description: summary is a short summary + of the impact + type: string + type: + allOf: + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + description: type is the type of the impact + type: string + required: + - level + - summary + - type + type: object + remediation: + description: remediation contains information + about how to resolve or prevent the reported + condition + properties: + estimatedFinish: + description: estimatedFinish is the estimated + time when the informer expects the condition + to be resolved, if applicable. + format: date-time + type: string + reference: + description: reference is a URL where administrators + can find information to resolve or prevent + the reported condition + format: uri + type: string + required: + - reference + type: object + scope: + description: scope is list of objects involved + in the insight + properties: + resources: + description: resources is a list of resources + involved in the insight, of any group/kind + items: + description: ResourceRef is a reference + to a kubernetes resource, typically + involved in an insight + properties: + group: + description: group of the object being + referenced, if any + type: string + name: + description: name of the object being + referenced + type: string + namespace: + description: namespace of the object + being referenced, if any + type: string + resource: + description: resource of object being + referenced + type: string + required: + - name + - resource + type: object + type: array + x-kubernetes-list-type: atomic + type: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: type is either ControlPlane + or WorkerPool + type: string + required: + - type + type: object + startedAt: + description: startedAt is the time when the + condition reported by the insight started + format: date-time + type: string + required: + - impact + - scope + - startedAt + type: object + machineConfigPool: + description: |- + machineConfigPool is a status insight about the state of a worker pool update, where the worker pool + is represented by a MachineConfigPool resource + properties: + assessment: + description: assessment is the assessment of + the machine config pool update process + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provide details about + the machine config pool update + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the machine + config pool + type: string + resource: + description: |- + resource is the MachineConfigPool resource that represents the pool + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + scopeType: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: scopeType describes whether the + pool is a control plane or a worker pool + type: string + summaries: + description: summaries is a list of counts of + nodes matching certain criteria (e.g. updated, + degraded, etc.) + items: + description: NodeSummary is a count of nodes + matching certain criteria (e.g. updated, + degraded, etc.) + properties: + count: + description: count is the number of nodes + matching the criteria + format: int32 + minimum: 0 + type: integer + type: + allOf: + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + description: type is the type of the summary + type: string + required: + - count + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + required: + - assessment + - completion + - name + - resource + - scopeType + type: object + node: + description: |- + node is a status insight about the state of a worker node update, where the worker node is represented + by a Node resource + properties: + conditions: + description: conditions provides details about + the control plane update + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estToComplete: + description: estToComplete is the estimated + time to complete the update, when known + type: string + message: + description: message is a short human-readable + message about the node update status + type: string + name: + description: name is the name of the node + type: string + poolResource: + description: |- + poolResource is the resource that represents the pool the node is a member of + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use + resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + resource: + description: |- + resource is the Node resource that represents the node + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + version: + description: version is the version of the node, + when known + type: string + required: + - name + - poolResource + - resource + type: object + type: + allOf: + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + description: type identifies the type of the update + insight + type: string + uid: + description: uid identifies the insight over time + type: string + required: + - acquiredAt + - type + - uid + type: object + type: array + x-kubernetes-list-map-keys: + - uid + x-kubernetes-list-type: map + name: + description: name is the name of the insight producer + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + name: + description: name is the name of the pool + type: string + resource: + description: |- + resource is the resource that represents the pool + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use + resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being referenced, if + any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - name + - resource + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + required: + - controlPlane + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/update/v1alpha1/zz_generated.crd-manifests/doc.go b/update/v1alpha1/zz_generated.crd-manifests/doc.go new file mode 100644 index 00000000000..0125d82de7e --- /dev/null +++ b/update/v1alpha1/zz_generated.crd-manifests/doc.go @@ -0,0 +1 @@ +package update_v1alpha1_crdmanifests diff --git a/update/v1alpha1/zz_generated.deepcopy.go b/update/v1alpha1/zz_generated.deepcopy.go new file mode 100644 index 00000000000..ce8a5d48735 --- /dev/null +++ b/update/v1alpha1/zz_generated.deepcopy.go @@ -0,0 +1,566 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterOperatorStatusInsight) DeepCopyInto(out *ClusterOperatorStatusInsight) { + *out = *in + out.Resource = in.Resource + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterOperatorStatusInsight. +func (in *ClusterOperatorStatusInsight) DeepCopy() *ClusterOperatorStatusInsight { + if in == nil { + return nil + } + out := new(ClusterOperatorStatusInsight) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ClusterVersionStatusInsight) DeepCopyInto(out *ClusterVersionStatusInsight) { + *out = *in + out.Resource = in.Resource + in.Versions.DeepCopyInto(&out.Versions) + in.StartedAt.DeepCopyInto(&out.StartedAt) + if in.CompletedAt != nil { + in, out := &in.CompletedAt, &out.CompletedAt + *out = (*in).DeepCopy() + } + if in.EstimatedCompletedAt != nil { + in, out := &in.EstimatedCompletedAt, &out.EstimatedCompletedAt + *out = (*in).DeepCopy() + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterVersionStatusInsight. +func (in *ClusterVersionStatusInsight) DeepCopy() *ClusterVersionStatusInsight { + if in == nil { + return nil + } + out := new(ClusterVersionStatusInsight) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ControlPlane) DeepCopyInto(out *ControlPlane) { + *out = *in + out.Resource = in.Resource + if in.PoolResource != nil { + in, out := &in.PoolResource, &out.PoolResource + *out = new(PoolResourceRef) + **out = **in + } + if in.Informers != nil { + in, out := &in.Informers, &out.Informers + *out = make([]Informer, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlane. +func (in *ControlPlane) DeepCopy() *ControlPlane { + if in == nil { + return nil + } + out := new(ControlPlane) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ControlPlaneUpdateVersions) DeepCopyInto(out *ControlPlaneUpdateVersions) { + *out = *in + in.Previous.DeepCopyInto(&out.Previous) + in.Target.DeepCopyInto(&out.Target) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneUpdateVersions. +func (in *ControlPlaneUpdateVersions) DeepCopy() *ControlPlaneUpdateVersions { + if in == nil { + return nil + } + out := new(ControlPlaneUpdateVersions) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HealthInsight) DeepCopyInto(out *HealthInsight) { + *out = *in + in.StartedAt.DeepCopyInto(&out.StartedAt) + in.Scope.DeepCopyInto(&out.Scope) + out.Impact = in.Impact + in.Remediation.DeepCopyInto(&out.Remediation) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthInsight. +func (in *HealthInsight) DeepCopy() *HealthInsight { + if in == nil { + return nil + } + out := new(HealthInsight) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Informer) DeepCopyInto(out *Informer) { + *out = *in + if in.Insights != nil { + in, out := &in.Insights, &out.Insights + *out = make([]Insight, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Informer. +func (in *Informer) DeepCopy() *Informer { + if in == nil { + return nil + } + out := new(Informer) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Insight) DeepCopyInto(out *Insight) { + *out = *in + in.AcquiredAt.DeepCopyInto(&out.AcquiredAt) + in.InsightUnion.DeepCopyInto(&out.InsightUnion) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Insight. +func (in *Insight) DeepCopy() *Insight { + if in == nil { + return nil + } + out := new(Insight) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InsightImpact) DeepCopyInto(out *InsightImpact) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InsightImpact. +func (in *InsightImpact) DeepCopy() *InsightImpact { + if in == nil { + return nil + } + out := new(InsightImpact) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InsightRemediation) DeepCopyInto(out *InsightRemediation) { + *out = *in + if in.EstimatedFinish != nil { + in, out := &in.EstimatedFinish, &out.EstimatedFinish + *out = (*in).DeepCopy() + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InsightRemediation. +func (in *InsightRemediation) DeepCopy() *InsightRemediation { + if in == nil { + return nil + } + out := new(InsightRemediation) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InsightScope) DeepCopyInto(out *InsightScope) { + *out = *in + if in.Resources != nil { + in, out := &in.Resources, &out.Resources + *out = make([]ResourceRef, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InsightScope. +func (in *InsightScope) DeepCopy() *InsightScope { + if in == nil { + return nil + } + out := new(InsightScope) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *InsightUnion) DeepCopyInto(out *InsightUnion) { + *out = *in + if in.ClusterVersionStatusInsight != nil { + in, out := &in.ClusterVersionStatusInsight, &out.ClusterVersionStatusInsight + *out = new(ClusterVersionStatusInsight) + (*in).DeepCopyInto(*out) + } + if in.ClusterOperatorStatusInsight != nil { + in, out := &in.ClusterOperatorStatusInsight, &out.ClusterOperatorStatusInsight + *out = new(ClusterOperatorStatusInsight) + (*in).DeepCopyInto(*out) + } + if in.MachineConfigPoolStatusInsight != nil { + in, out := &in.MachineConfigPoolStatusInsight, &out.MachineConfigPoolStatusInsight + *out = new(MachineConfigPoolStatusInsight) + (*in).DeepCopyInto(*out) + } + if in.NodeStatusInsight != nil { + in, out := &in.NodeStatusInsight, &out.NodeStatusInsight + *out = new(NodeStatusInsight) + (*in).DeepCopyInto(*out) + } + if in.HealthInsight != nil { + in, out := &in.HealthInsight, &out.HealthInsight + *out = new(HealthInsight) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InsightUnion. +func (in *InsightUnion) DeepCopy() *InsightUnion { + if in == nil { + return nil + } + out := new(InsightUnion) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MachineConfigPoolStatusInsight) DeepCopyInto(out *MachineConfigPoolStatusInsight) { + *out = *in + out.Resource = in.Resource + if in.Summaries != nil { + in, out := &in.Summaries, &out.Summaries + *out = make([]NodeSummary, len(*in)) + copy(*out, *in) + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPoolStatusInsight. +func (in *MachineConfigPoolStatusInsight) DeepCopy() *MachineConfigPoolStatusInsight { + if in == nil { + return nil + } + out := new(MachineConfigPoolStatusInsight) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeStatusInsight) DeepCopyInto(out *NodeStatusInsight) { + *out = *in + out.Resource = in.Resource + out.PoolResource = in.PoolResource + if in.EstToComplete != nil { + in, out := &in.EstToComplete, &out.EstToComplete + *out = new(v1.Duration) + **out = **in + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeStatusInsight. +func (in *NodeStatusInsight) DeepCopy() *NodeStatusInsight { + if in == nil { + return nil + } + out := new(NodeStatusInsight) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NodeSummary) DeepCopyInto(out *NodeSummary) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSummary. +func (in *NodeSummary) DeepCopy() *NodeSummary { + if in == nil { + return nil + } + out := new(NodeSummary) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Pool) DeepCopyInto(out *Pool) { + *out = *in + out.Resource = in.Resource + if in.Informers != nil { + in, out := &in.Informers, &out.Informers + *out = make([]Informer, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pool. +func (in *Pool) DeepCopy() *Pool { + if in == nil { + return nil + } + out := new(Pool) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PoolResourceRef) DeepCopyInto(out *PoolResourceRef) { + *out = *in + out.ResourceRef = in.ResourceRef + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolResourceRef. +func (in *PoolResourceRef) DeepCopy() *PoolResourceRef { + if in == nil { + return nil + } + out := new(PoolResourceRef) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ResourceRef) DeepCopyInto(out *ResourceRef) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRef. +func (in *ResourceRef) DeepCopy() *ResourceRef { + if in == nil { + return nil + } + out := new(ResourceRef) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UpdateStatus) DeepCopyInto(out *UpdateStatus) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateStatus. +func (in *UpdateStatus) DeepCopy() *UpdateStatus { + if in == nil { + return nil + } + out := new(UpdateStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *UpdateStatus) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UpdateStatusList) DeepCopyInto(out *UpdateStatusList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]UpdateStatus, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateStatusList. +func (in *UpdateStatusList) DeepCopy() *UpdateStatusList { + if in == nil { + return nil + } + out := new(UpdateStatusList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *UpdateStatusList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UpdateStatusSpec) DeepCopyInto(out *UpdateStatusSpec) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateStatusSpec. +func (in *UpdateStatusSpec) DeepCopy() *UpdateStatusSpec { + if in == nil { + return nil + } + out := new(UpdateStatusSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UpdateStatusStatus) DeepCopyInto(out *UpdateStatusStatus) { + *out = *in + in.ControlPlane.DeepCopyInto(&out.ControlPlane) + if in.WorkerPools != nil { + in, out := &in.WorkerPools, &out.WorkerPools + *out = make([]Pool, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]v1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateStatusStatus. +func (in *UpdateStatusStatus) DeepCopy() *UpdateStatusStatus { + if in == nil { + return nil + } + out := new(UpdateStatusStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Version) DeepCopyInto(out *Version) { + *out = *in + if in.Metadata != nil { + in, out := &in.Metadata, &out.Metadata + *out = make([]VersionMetadata, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Version. +func (in *Version) DeepCopy() *Version { + if in == nil { + return nil + } + out := new(Version) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VersionMetadata) DeepCopyInto(out *VersionMetadata) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionMetadata. +func (in *VersionMetadata) DeepCopy() *VersionMetadata { + if in == nil { + return nil + } + out := new(VersionMetadata) + in.DeepCopyInto(out) + return out +} diff --git a/update/v1alpha1/zz_generated.featuregated-crd-manifests.yaml b/update/v1alpha1/zz_generated.featuregated-crd-manifests.yaml new file mode 100644 index 00000000000..1eb74ec612b --- /dev/null +++ b/update/v1alpha1/zz_generated.featuregated-crd-manifests.yaml @@ -0,0 +1,25 @@ +updatestatuses.update.openshift.io: + Annotations: + description: Provides health and status information about OpenShift cluster updates. + displayName: UpdateStatuses + ApprovedPRNumber: https://github.com/openshift/api/pull/2012 + CRDName: updatestatuses.update.openshift.io + Capability: "" + Category: "" + FeatureGates: + - UpgradeStatus + FilenameOperatorName: cluster-version-operator + FilenameOperatorOrdering: "02" + FilenameRunLevel: "0000_00" + GroupName: update.openshift.io + HasStatus: true + KindName: UpdateStatus + Labels: {} + PluralName: updatestatuses + PrinterColumns: [] + Scope: Namespaced + ShortNames: null + TopLevelFeatureGates: + - UpgradeStatus + Version: v1alpha1 + diff --git a/update/v1alpha1/zz_generated.featuregated-crd-manifests/updatestatuses.update.openshift.io/UpgradeStatus.yaml b/update/v1alpha1/zz_generated.featuregated-crd-manifests/updatestatuses.update.openshift.io/UpgradeStatus.yaml new file mode 100644 index 00000000000..7d93c9e6829 --- /dev/null +++ b/update/v1alpha1/zz_generated.featuregated-crd-manifests/updatestatuses.update.openshift.io/UpgradeStatus.yaml @@ -0,0 +1,2037 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/2012 + api.openshift.io/filename-cvo-runlevel: "0000_00" + api.openshift.io/filename-operator: cluster-version-operator + api.openshift.io/filename-ordering: "02" + description: Provides health and status information about OpenShift cluster updates. + displayName: UpdateStatuses + feature-gate.release.openshift.io/UpgradeStatus: "true" + name: updatestatuses.update.openshift.io +spec: + group: update.openshift.io + names: + kind: UpdateStatus + listKind: UpdateStatusList + plural: updatestatuses + singular: updatestatus + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: |- + UpdateStatus reports status for in-progress cluster version updates + + Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: |- + spec is empty for now, UpdateStatus is purely status-reporting API. In the future spec may be used to hold + configuration to drive what information is surfaced and how + type: object + status: + description: |- + UpdateStatusStatus is the API about in-progress updates. It aggregates and summarizes UpdateInsights produced by + update informers + properties: + conditions: + description: conditions provide details about the controller operational + matters + items: + description: Condition contains details for one aspect of the current + state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + controlPlane: + description: controlPlane contains a summary and insights related + to the control plane update + properties: + conditions: + description: conditions provides details about the control plane + update + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + informers: + description: informers is a list of insight producers, each carries + a list of insights relevant for control plane + items: + description: Informer is an insight producer identified by a + name, carrying a list of insights it produced + properties: + insights: + description: insights is a list of insights produced by + this producer + items: + description: Insight is a unique piece of either status/progress + or update health information produced by update informer + properties: + acquiredAt: + description: acquiredAt is the time when the data + was acquired by the producer + format: date-time + type: string + clusterOperator: + description: |- + clusterOperator is a status insight about the state of a control plane cluster operator update + represented by a ClusterOperator resource + properties: + conditions: + description: conditions provide details about + the operator + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the operator + type: string + resource: + description: |- + resource is the ClusterOperator resource that represents the operator + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - name + - resource + type: object + clusterVersion: + description: |- + clusterVersion is a status insight about the state of a control plane update, where + the control plane is represented by a ClusterVersion resource usually managed by CVO + properties: + assessment: + description: assessment is the assessment of the + control plane update process + type: string + completedAt: + description: completedAt is the time when the + update completed + format: date-time + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provides detailed observed + conditions about ClusterVersion + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estimatedCompletedAt: + description: estimatedCompletedAt is the estimated + time when the update will complete + format: date-time + type: string + resource: + description: |- + resource is the ClusterVersion resource that represents the control plane + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + startedAt: + description: startedAt is the time when the update + started + format: date-time + type: string + versions: + description: versions contains the original and + target versions of the upgrade + properties: + previous: + description: |- + previous is the version of the control plane before the update. When the cluster is being installed + for the first time, the version will have a placeholder value like '' and the target version + will have a boolean installation=true metadata + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + target: + description: target is the version of the + control plane after the update + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + required: + - previous + - target + type: object + required: + - assessment + - completion + - resource + - startedAt + - versions + type: object + health: + description: |- + health is a generic health insight about the update. It does not represent a status of any specific + resource but surfaces actionable information about the health of the cluster or an update + properties: + impact: + description: impact describes the impact the reported + condition has on the cluster or update + properties: + description: + description: description is a human-oriented, + possibly longer-form description of the + condition reported by the insight + type: string + level: + allOf: + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + description: level is the severity of the + impact + type: string + summary: + description: summary is a short summary of + the impact + type: string + type: + allOf: + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + description: type is the type of the impact + type: string + required: + - level + - summary + - type + type: object + remediation: + description: remediation contains information + about how to resolve or prevent the reported + condition + properties: + estimatedFinish: + description: estimatedFinish is the estimated + time when the informer expects the condition + to be resolved, if applicable. + format: date-time + type: string + reference: + description: reference is a URL where administrators + can find information to resolve or prevent + the reported condition + format: uri + type: string + required: + - reference + type: object + scope: + description: scope is list of objects involved + in the insight + properties: + resources: + description: resources is a list of resources + involved in the insight, of any group/kind + items: + description: ResourceRef is a reference + to a kubernetes resource, typically involved + in an insight + properties: + group: + description: group of the object being + referenced, if any + type: string + name: + description: name of the object being + referenced + type: string + namespace: + description: namespace of the object + being referenced, if any + type: string + resource: + description: resource of object being + referenced + type: string + required: + - name + - resource + type: object + type: array + x-kubernetes-list-type: atomic + type: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: type is either ControlPlane or + WorkerPool + type: string + required: + - type + type: object + startedAt: + description: startedAt is the time when the condition + reported by the insight started + format: date-time + type: string + required: + - impact + - scope + - startedAt + type: object + machineConfigPool: + description: |- + machineConfigPool is a status insight about the state of a worker pool update, where the worker pool + is represented by a MachineConfigPool resource + properties: + assessment: + description: assessment is the assessment of the + machine config pool update process + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provide details about + the machine config pool update + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the machine config + pool + type: string + resource: + description: |- + resource is the MachineConfigPool resource that represents the pool + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + scopeType: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: scopeType describes whether the pool + is a control plane or a worker pool + type: string + summaries: + description: summaries is a list of counts of + nodes matching certain criteria (e.g. updated, + degraded, etc.) + items: + description: NodeSummary is a count of nodes + matching certain criteria (e.g. updated, degraded, + etc.) + properties: + count: + description: count is the number of nodes + matching the criteria + format: int32 + minimum: 0 + type: integer + type: + allOf: + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + description: type is the type of the summary + type: string + required: + - count + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + required: + - assessment + - completion + - name + - resource + - scopeType + type: object + node: + description: |- + node is a status insight about the state of a worker node update, where the worker node is represented + by a Node resource + properties: + conditions: + description: conditions provides details about + the control plane update + items: + description: Condition contains details for + one aspect of the current state of this API + Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one + of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estToComplete: + description: estToComplete is the estimated time + to complete the update, when known + type: string + message: + description: message is a short human-readable + message about the node update status + type: string + name: + description: name is the name of the node + type: string + poolResource: + description: |- + poolResource is the resource that represents the pool the node is a member of + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use + resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + resource: + description: |- + resource is the Node resource that represents the node + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + version: + description: version is the version of the node, + when known + type: string + required: + - name + - poolResource + - resource + type: object + type: + allOf: + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + description: type identifies the type of the update + insight + type: string + uid: + description: uid identifies the insight over time + type: string + required: + - acquiredAt + - type + - uid + type: object + type: array + x-kubernetes-list-map-keys: + - uid + x-kubernetes-list-type: map + name: + description: name is the name of the insight producer + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + poolResource: + description: |- + poolResource is the resource that represents control plane node pool, typically a MachineConfigPool. This field + is optional because some form factors (like Hosted Control Planes) do not have dedicated control plane node pools. + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool). However, because we use resource + references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be + more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being referenced, if + any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + resource: + description: |- + resource is the resource that represents the control plane. It will typically be a ClusterVersion resource + in standalone OpenShift and HostedCluster in Hosted Control Planes. + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, ClusterVersion and HostedCluster). However, because we + use resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being referenced, if + any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - resource + type: object + workerPools: + description: workerPools contains summaries and insights related to + the worker pools update + items: + description: Pool contains a summary and insights related to a node + pool update + properties: + conditions: + description: conditions provide details about the pool + items: + description: Condition contains details for one aspect of + the current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + informers: + description: informers is a list of insight producers, each + carries a list of insights + items: + description: Informer is an insight producer identified by + a name, carrying a list of insights it produced + properties: + insights: + description: insights is a list of insights produced by + this producer + items: + description: Insight is a unique piece of either status/progress + or update health information produced by update informer + properties: + acquiredAt: + description: acquiredAt is the time when the data + was acquired by the producer + format: date-time + type: string + clusterOperator: + description: |- + clusterOperator is a status insight about the state of a control plane cluster operator update + represented by a ClusterOperator resource + properties: + conditions: + description: conditions provide details about + the operator + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the operator + type: string + resource: + description: |- + resource is the ClusterOperator resource that represents the operator + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - name + - resource + type: object + clusterVersion: + description: |- + clusterVersion is a status insight about the state of a control plane update, where + the control plane is represented by a ClusterVersion resource usually managed by CVO + properties: + assessment: + description: assessment is the assessment of + the control plane update process + type: string + completedAt: + description: completedAt is the time when the + update completed + format: date-time + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provides detailed observed + conditions about ClusterVersion + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estimatedCompletedAt: + description: estimatedCompletedAt is the estimated + time when the update will complete + format: date-time + type: string + resource: + description: |- + resource is the ClusterVersion resource that represents the control plane + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + startedAt: + description: startedAt is the time when the + update started + format: date-time + type: string + versions: + description: versions contains the original + and target versions of the upgrade + properties: + previous: + description: |- + previous is the version of the control plane before the update. When the cluster is being installed + for the first time, the version will have a placeholder value like '' and the target version + will have a boolean installation=true metadata + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + target: + description: target is the version of the + control plane after the update + properties: + metadata: + description: |- + metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional + and when not provided, the metadata item has boolean semantics (presence indicates true) + items: + properties: + key: + allOf: + - enum: + - Installation + - Partial + - Architecture + - enum: + - installation + - partial + - architecture + description: key is the name of + this metadata value + type: string + value: + maxLength: 32 + type: string + required: + - key + type: object + type: array + x-kubernetes-list-map-keys: + - key + x-kubernetes-list-type: map + version: + description: |- + version is a semantic version string, or a placeholder '' for the special case where this + is a "previous" version in a new installation + maxLength: 64 + type: string + required: + - version + type: object + required: + - previous + - target + type: object + required: + - assessment + - completion + - resource + - startedAt + - versions + type: object + health: + description: |- + health is a generic health insight about the update. It does not represent a status of any specific + resource but surfaces actionable information about the health of the cluster or an update + properties: + impact: + description: impact describes the impact the + reported condition has on the cluster or update + properties: + description: + description: description is a human-oriented, + possibly longer-form description of the + condition reported by the insight + type: string + level: + allOf: + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + - enum: + - Unknown + - Info + - Warning + - Error + - Critical + description: level is the severity of the + impact + type: string + summary: + description: summary is a short summary + of the impact + type: string + type: + allOf: + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + - enum: + - None + - Unknown + - API Availability + - Cluster Capacity + - Application Availability + - Application Outage + - Data Loss + - Update Speed + - Update Stalled + description: type is the type of the impact + type: string + required: + - level + - summary + - type + type: object + remediation: + description: remediation contains information + about how to resolve or prevent the reported + condition + properties: + estimatedFinish: + description: estimatedFinish is the estimated + time when the informer expects the condition + to be resolved, if applicable. + format: date-time + type: string + reference: + description: reference is a URL where administrators + can find information to resolve or prevent + the reported condition + format: uri + type: string + required: + - reference + type: object + scope: + description: scope is list of objects involved + in the insight + properties: + resources: + description: resources is a list of resources + involved in the insight, of any group/kind + items: + description: ResourceRef is a reference + to a kubernetes resource, typically + involved in an insight + properties: + group: + description: group of the object being + referenced, if any + type: string + name: + description: name of the object being + referenced + type: string + namespace: + description: namespace of the object + being referenced, if any + type: string + resource: + description: resource of object being + referenced + type: string + required: + - name + - resource + type: object + type: array + x-kubernetes-list-type: atomic + type: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: type is either ControlPlane + or WorkerPool + type: string + required: + - type + type: object + startedAt: + description: startedAt is the time when the + condition reported by the insight started + format: date-time + type: string + required: + - impact + - scope + - startedAt + type: object + machineConfigPool: + description: |- + machineConfigPool is a status insight about the state of a worker pool update, where the worker pool + is represented by a MachineConfigPool resource + properties: + assessment: + description: assessment is the assessment of + the machine config pool update process + type: string + completion: + description: completion is a percentage of the + update completion (0-100) + format: int32 + maximum: 100 + minimum: 0 + type: integer + conditions: + description: conditions provide details about + the machine config pool update + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + name: + description: name is the name of the machine + config pool + type: string + resource: + description: |- + resource is the MachineConfigPool resource that represents the pool + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + scopeType: + allOf: + - enum: + - ControlPlane + - WorkerPool + - enum: + - ControlPlane + - WorkerPool + description: scopeType describes whether the + pool is a control plane or a worker pool + type: string + summaries: + description: summaries is a list of counts of + nodes matching certain criteria (e.g. updated, + degraded, etc.) + items: + description: NodeSummary is a count of nodes + matching certain criteria (e.g. updated, + degraded, etc.) + properties: + count: + description: count is the number of nodes + matching the criteria + format: int32 + minimum: 0 + type: integer + type: + allOf: + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + - enum: + - Total + - Available + - Progressing + - Outdated + - Draining + - Excluded + - Degraded + description: type is the type of the summary + type: string + required: + - count + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + required: + - assessment + - completion + - name + - resource + - scopeType + type: object + node: + description: |- + node is a status insight about the state of a worker node update, where the worker node is represented + by a Node resource + properties: + conditions: + description: conditions provides details about + the control plane update + items: + description: Condition contains details for + one aspect of the current state of this + API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, + one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase + or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + estToComplete: + description: estToComplete is the estimated + time to complete the update, when known + type: string + message: + description: message is a short human-readable + message about the node update status + type: string + name: + description: name is the name of the node + type: string + poolResource: + description: |- + poolResource is the resource that represents the pool the node is a member of + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use + resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + resource: + description: |- + resource is the Node resource that represents the node + + Note: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to + resource name (because the rest is implied by status insight type). However, because we use resource references in + many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable + than type safety for producers. + properties: + group: + description: group of the object being referenced, + if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being + referenced, if any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + version: + description: version is the version of the node, + when known + type: string + required: + - name + - poolResource + - resource + type: object + type: + allOf: + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + - enum: + - ClusterVersion + - ClusterOperator + - MachineConfigPool + - Node + - Health + description: type identifies the type of the update + insight + type: string + uid: + description: uid identifies the insight over time + type: string + required: + - acquiredAt + - type + - uid + type: object + type: array + x-kubernetes-list-map-keys: + - uid + x-kubernetes-list-type: map + name: + description: name is the name of the insight producer + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + name: + description: name is the name of the pool + type: string + resource: + description: |- + resource is the resource that represents the pool + + Note: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows + only the "correct" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use + resource references in many places and this API is intended to be consumed by clients, not produced, consistency + seems to be more valuable than type safety for producers. + properties: + group: + description: group of the object being referenced, if any + type: string + name: + description: name of the object being referenced + type: string + namespace: + description: namespace of the object being referenced, if + any + type: string + resource: + description: resource of object being referenced + type: string + required: + - name + - resource + type: object + required: + - name + - resource + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + required: + - controlPlane + type: object + required: + - spec + type: object + served: true + storage: true + subresources: + status: {} diff --git a/update/v1alpha1/zz_generated.swagger_doc_generated.go b/update/v1alpha1/zz_generated.swagger_doc_generated.go new file mode 100644 index 00000000000..6fbf8b1bc62 --- /dev/null +++ b/update/v1alpha1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,267 @@ +package v1alpha1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_ControlPlane = map[string]string{ + "": "ControlPlane contains a summary and insights related to the control plane update", + "resource": "resource is the resource that represents the control plane. It will typically be a ClusterVersion resource in standalone OpenShift and HostedCluster in Hosted Control Planes.\n\nNote: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows only the \"correct\" resource types to be referenced (here, ClusterVersion and HostedCluster). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "poolResource": "poolResource is the resource that represents control plane node pool, typically a MachineConfigPool. This field is optional because some form factors (like Hosted Control Planes) do not have dedicated control plane node pools.\n\nNote: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows only the \"correct\" resource types to be referenced (here, MachineConfigPool). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "informers": "informers is a list of insight producers, each carries a list of insights relevant for control plane", + "conditions": "conditions provides details about the control plane update", +} + +func (ControlPlane) SwaggerDoc() map[string]string { + return map_ControlPlane +} + +var map_Informer = map[string]string{ + "": "Informer is an insight producer identified by a name, carrying a list of insights it produced", + "name": "name is the name of the insight producer", + "insights": "insights is a list of insights produced by this producer", +} + +func (Informer) SwaggerDoc() map[string]string { + return map_Informer +} + +var map_Insight = map[string]string{ + "": "Insight is a unique piece of either status/progress or update health information produced by update informer", + "uid": "uid identifies the insight over time", + "acquiredAt": "acquiredAt is the time when the data was acquired by the producer", +} + +func (Insight) SwaggerDoc() map[string]string { + return map_Insight +} + +var map_InsightUnion = map[string]string{ + "": "InsightUnion is the discriminated union of all insights types, identified by type field", + "type": "type identifies the type of the update insight", + "clusterVersion": "clusterVersion is a status insight about the state of a control plane update, where the control plane is represented by a ClusterVersion resource usually managed by CVO", + "clusterOperator": "clusterOperator is a status insight about the state of a control plane cluster operator update represented by a ClusterOperator resource", + "machineConfigPool": "machineConfigPool is a status insight about the state of a worker pool update, where the worker pool is represented by a MachineConfigPool resource", + "node": "node is a status insight about the state of a worker node update, where the worker node is represented by a Node resource", + "health": "health is a generic health insight about the update. It does not represent a status of any specific resource but surfaces actionable information about the health of the cluster or an update", +} + +func (InsightUnion) SwaggerDoc() map[string]string { + return map_InsightUnion +} + +var map_Pool = map[string]string{ + "": "Pool contains a summary and insights related to a node pool update", + "name": "name is the name of the pool", + "resource": "resource is the resource that represents the pool\n\nNote: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows only the \"correct\" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "informers": "informers is a list of insight producers, each carries a list of insights", + "conditions": "conditions provide details about the pool", +} + +func (Pool) SwaggerDoc() map[string]string { + return map_Pool +} + +var map_PoolResourceRef = map[string]string{ + "": "PoolResourceRef is a reference to a kubernetes resource that represents a node pool", +} + +func (PoolResourceRef) SwaggerDoc() map[string]string { + return map_PoolResourceRef +} + +var map_ResourceRef = map[string]string{ + "": "ResourceRef is a reference to a kubernetes resource, typically involved in an insight", + "group": "group of the object being referenced, if any", + "resource": "resource of object being referenced", + "name": "name of the object being referenced", + "namespace": "namespace of the object being referenced, if any", +} + +func (ResourceRef) SwaggerDoc() map[string]string { + return map_ResourceRef +} + +var map_UpdateStatus = map[string]string{ + "": "UpdateStatus reports status for in-progress cluster version updates\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", + "spec": "spec is empty for now, UpdateStatus is purely status-reporting API. In the future spec may be used to hold configuration to drive what information is surfaced and how", +} + +func (UpdateStatus) SwaggerDoc() map[string]string { + return map_UpdateStatus +} + +var map_UpdateStatusList = map[string]string{ + "": "UpdateStatusList is a list of UpdateStatus resources\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", +} + +func (UpdateStatusList) SwaggerDoc() map[string]string { + return map_UpdateStatusList +} + +var map_UpdateStatusSpec = map[string]string{ + "": "UpdateStatusSpec is empty for now, UpdateStatus is purely status-reporting API. In the future spec may be used to hold configuration to drive what information is surfaced and how", +} + +func (UpdateStatusSpec) SwaggerDoc() map[string]string { + return map_UpdateStatusSpec +} + +var map_UpdateStatusStatus = map[string]string{ + "": "UpdateStatusStatus is the API about in-progress updates. It aggregates and summarizes UpdateInsights produced by update informers", + "controlPlane": "controlPlane contains a summary and insights related to the control plane update", + "workerPools": "workerPools contains summaries and insights related to the worker pools update", + "conditions": "conditions provide details about the controller operational matters", +} + +func (UpdateStatusStatus) SwaggerDoc() map[string]string { + return map_UpdateStatusStatus +} + +var map_HealthInsight = map[string]string{ + "": "HealthInsight is a piece of actionable information produced by an insight producer about the health of the cluster or an update", + "startedAt": "startedAt is the time when the condition reported by the insight started", + "scope": "scope is list of objects involved in the insight", + "impact": "impact describes the impact the reported condition has on the cluster or update", + "remediation": "remediation contains information about how to resolve or prevent the reported condition", +} + +func (HealthInsight) SwaggerDoc() map[string]string { + return map_HealthInsight +} + +var map_InsightImpact = map[string]string{ + "": "InsightImpact describes the impact the reported condition has on the cluster or update", + "level": "level is the severity of the impact", + "type": "type is the type of the impact", + "summary": "summary is a short summary of the impact", + "description": "description is a human-oriented, possibly longer-form description of the condition reported by the insight", +} + +func (InsightImpact) SwaggerDoc() map[string]string { + return map_InsightImpact +} + +var map_InsightRemediation = map[string]string{ + "": "InsightRemediation contains information about how to resolve or prevent the reported condition", + "reference": "reference is a URL where administrators can find information to resolve or prevent the reported condition", + "estimatedFinish": "estimatedFinish is the estimated time when the informer expects the condition to be resolved, if applicable.", +} + +func (InsightRemediation) SwaggerDoc() map[string]string { + return map_InsightRemediation +} + +var map_InsightScope = map[string]string{ + "": "InsightScope is a list of resources involved in the insight", + "type": "type is either ControlPlane or WorkerPool", + "resources": "resources is a list of resources involved in the insight, of any group/kind", +} + +func (InsightScope) SwaggerDoc() map[string]string { + return map_InsightScope +} + +var map_ClusterOperatorStatusInsight = map[string]string{ + "": "ClusterOperatorStatusInsight reports the state of a ClusterOperator resource (which represents a control plane component update in standalone clusters), during the update", + "name": "name is the name of the operator", + "resource": "resource is the ClusterOperator resource that represents the operator\n\nNote: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to resource name (because the rest is implied by status insight type). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "conditions": "conditions provide details about the operator", +} + +func (ClusterOperatorStatusInsight) SwaggerDoc() map[string]string { + return map_ClusterOperatorStatusInsight +} + +var map_ClusterVersionStatusInsight = map[string]string{ + "": "ClusterVersionStatusInsight reports the state of a ClusterVersion resource (which represents a control plane update in standalone clusters), during the update.", + "resource": "resource is the ClusterVersion resource that represents the control plane\n\nNote: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to resource name (because the rest is implied by status insight type). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "assessment": "assessment is the assessment of the control plane update process", + "versions": "versions contains the original and target versions of the upgrade", + "completion": "completion is a percentage of the update completion (0-100)", + "startedAt": "startedAt is the time when the update started", + "completedAt": "completedAt is the time when the update completed", + "estimatedCompletedAt": "estimatedCompletedAt is the estimated time when the update will complete", + "conditions": "conditions provides detailed observed conditions about ClusterVersion", +} + +func (ClusterVersionStatusInsight) SwaggerDoc() map[string]string { + return map_ClusterVersionStatusInsight +} + +var map_ControlPlaneUpdateVersions = map[string]string{ + "": "ControlPlaneUpdateVersions contains the original and target versions of the upgrade", + "previous": "previous is the version of the control plane before the update. When the cluster is being installed for the first time, the version will have a placeholder value like '' and the target version will have a boolean installation=true metadata", + "target": "target is the version of the control plane after the update", +} + +func (ControlPlaneUpdateVersions) SwaggerDoc() map[string]string { + return map_ControlPlaneUpdateVersions +} + +var map_MachineConfigPoolStatusInsight = map[string]string{ + "": "ClusterVersionStatusInsight reports the state of a MachineConfigPool resource during the update", + "name": "name is the name of the machine config pool", + "resource": "resource is the MachineConfigPool resource that represents the pool\n\nNote: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to resource name (because the rest is implied by status insight type). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "scopeType": "scopeType describes whether the pool is a control plane or a worker pool", + "assessment": "assessment is the assessment of the machine config pool update process", + "completion": "completion is a percentage of the update completion (0-100)", + "summaries": "summaries is a list of counts of nodes matching certain criteria (e.g. updated, degraded, etc.)", + "conditions": "conditions provide details about the machine config pool update", +} + +func (MachineConfigPoolStatusInsight) SwaggerDoc() map[string]string { + return map_MachineConfigPoolStatusInsight +} + +var map_NodeStatusInsight = map[string]string{ + "": "NodeStatusInsight reports the state of a Node during the update", + "name": "name is the name of the node", + "resource": "resource is the Node resource that represents the node\n\nNote: By OpenShift API conventions, in isolation this should be a specialized reference that refers just to resource name (because the rest is implied by status insight type). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "poolResource": "poolResource is the resource that represents the pool the node is a member of\n\nNote: By OpenShift API conventions, in isolation this should probably be a specialized reference type that allows only the \"correct\" resource types to be referenced (here, MachineConfigPool or NodePool). However, because we use resource references in many places and this API is intended to be consumed by clients, not produced, consistency seems to be more valuable than type safety for producers.", + "version": "version is the version of the node, when known", + "estToComplete": "estToComplete is the estimated time to complete the update, when known", + "message": "message is a short human-readable message about the node update status", + "conditions": "conditions provides details about the control plane update", +} + +func (NodeStatusInsight) SwaggerDoc() map[string]string { + return map_NodeStatusInsight +} + +var map_NodeSummary = map[string]string{ + "": "NodeSummary is a count of nodes matching certain criteria (e.g. updated, degraded, etc.)", + "type": "type is the type of the summary", + "count": "count is the number of nodes matching the criteria", +} + +func (NodeSummary) SwaggerDoc() map[string]string { + return map_NodeSummary +} + +var map_Version = map[string]string{ + "": "Version describes a version involved in an update, typically on one side of an update edge", + "version": "version is a semantic version string, or a placeholder '' for the special case where this is a \"previous\" version in a new installation", + "metadata": "metadata is a list of metadata associated with the version. It is a list of key-value pairs. The value is optional and when not provided, the metadata item has boolean semantics (presence indicates true)", +} + +func (Version) SwaggerDoc() map[string]string { + return map_Version +} + +var map_VersionMetadata = map[string]string{ + "key": "key is the name of this metadata value", +} + +func (VersionMetadata) SwaggerDoc() map[string]string { + return map_VersionMetadata +} + +// AUTO-GENERATED FUNCTIONS END HERE