Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
263 changes: 118 additions & 145 deletions clusteroperator.crd.yaml
Original file line number Diff line number Diff line change
@@ -1,165 +1,138 @@
# Snapshot from https://github.com/openshift/api/blob/release-4.5/config/v1/0000_00_cluster-version-operator_01_clusteroperator.crd.yaml
# Snapshot from https://github.com/openshift/api/blob/release-4.10/config/v1/0000_00_cluster-version-operator_01_clusteroperator.crd.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1
metadata:
annotations:
api-approved.openshift.io: https://github.com/openshift/api/pull/497
include.release.openshift.io/self-managed-high-availability: "true"
include.release.openshift.io/single-node-developer: "true"
name: clusteroperators.config.openshift.io
spec:
additionalPrinterColumns:
- JSONPath: .status.versions[?(@.name=="operator")].version
description: The version the operator is at.
name: Version
type: string
- JSONPath: .status.conditions[?(@.type=="Available")].status
description: Whether the operator is running and stable.
name: Available
type: string
- JSONPath: .status.conditions[?(@.type=="Progressing")].status
description: Whether the operator is processing changes.
name: Progressing
type: string
- JSONPath: .status.conditions[?(@.type=="Degraded")].status
description: Whether the operator is degraded.
name: Degraded
type: string
- JSONPath: .status.conditions[?(@.type=="Available")].lastTransitionTime
description: The time the operator's Available status last changed.
name: Since
type: date
group: config.openshift.io
names:
kind: ClusterOperator
listKind: ClusterOperatorList
plural: clusteroperators
singular: clusteroperator
shortNames:
- co
preserveUnknownFields: false
singular: clusteroperator
scope: Cluster
subresources:
status: {}
version: v1
versions:
- name: v1
served: true
storage: true
validation:
openAPIV3Schema:
description: ClusterOperator is the Custom Resource object which holds the current
state of an operator. This object is used by operators to convey their state
to the rest of the cluster.
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'
- additionalPrinterColumns:
- description: The version the operator is at.
jsonPath: .status.versions[?(@.name=="operator")].version
name: Version
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'
- description: Whether the operator is running and stable.
jsonPath: .status.conditions[?(@.type=="Available")].status
name: Available
type: string
metadata:
type: object
spec:
description: spec holds configuration that could apply to any operator.
type: object
status:
description: status holds the information about the state of an operator. It
is consistent with status information across the Kubernetes ecosystem.
- description: Whether the operator is processing changes.
jsonPath: .status.conditions[?(@.type=="Progressing")].status
name: Progressing
type: string
- description: Whether the operator is degraded.
jsonPath: .status.conditions[?(@.type=="Degraded")].status
name: Degraded
type: string
- description: The time the operator's Available status last changed.
jsonPath: .status.conditions[?(@.type=="Available")].lastTransitionTime
name: Since
type: date
name: v1
schema:
openAPIV3Schema:
description: "ClusterOperator is the Custom Resource object which holds the current state of an operator. This object is used by operators to convey their state to the rest of the cluster. \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)."
type: object
required:
- spec
properties:
conditions:
description: conditions describes the state of the operator's managed
and monitored components.
type: array
items:
description: ClusterOperatorStatusCondition represents the state of
the operator's managed and monitored components.
type: object
required:
- lastTransitionTime
- status
- type
properties:
lastTransitionTime:
description: lastTransitionTime is the time of the last update
to the current status property.
type: string
format: date-time
message:
description: message provides additional information about the
current condition. This is only to be consumed by humans.
type: string
reason:
description: reason is the CamelCase reason for the condition's
current status.
type: string
status:
description: status of the condition, one of True, False, Unknown.
type: string
type:
description: type specifies the aspect reported by this condition.
type: string
extension:
description: extension contains any additional status information specific
to the operator which owns this status object.
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
nullable: true
x-kubernetes-preserve-unknown-fields: true
relatedObjects:
description: 'relatedObjects is a list of objects that are "interesting"
or related to this operator. Common uses are: 1. the detailed resource
driving the operator 2. operator namespaces 3. operand namespaces'
type: array
items:
description: ObjectReference contains enough information to let you
inspect or modify the referred object.
type: object
required:
- group
- name
- resource
properties:
group:
description: group of the referent.
type: string
name:
description: name of the referent.
type: string
namespace:
description: namespace of the referent.
type: string
resource:
description: resource of the referent.
type: string
versions:
description: versions is a slice of operator and operand version tuples. Operators
which manage multiple operands will have multiple operand entries
in the array. Available operators must report the version of the
operator itself with the name "operator". An operator reports a new
"operator" version when it has rolled out the new version to all of
its operands.
type: array
items:
type: object
required:
- name
- version
properties:
name:
description: name is the name of the particular operand this version
is for. It usually matches container images, not operators.
type: string
version:
description: version indicates which version of a particular operand
is currently being managed. It must always match the Available
operand. If 1.0.0 is Available, then this must indicate 1.0.0
even if the operator is trying to rollout 1.1.0
type: string
versions:
- name: v1
spec:
description: spec holds configuration that could apply to any operator.
type: object
status:
description: status holds the information about the state of an operator. It is consistent with status information across the Kubernetes ecosystem.
type: object
properties:
conditions:
description: conditions describes the state of the operator's managed and monitored components.
type: array
items:
description: ClusterOperatorStatusCondition represents the state of the operator's managed and monitored components.
type: object
required:
- lastTransitionTime
- status
- type
properties:
lastTransitionTime:
description: lastTransitionTime is the time of the last update to the current status property.
type: string
format: date-time
message:
description: message provides additional information about the current condition. This is only to be consumed by humans. It may contain Line Feed characters (U+000A), which should be rendered as new lines.
type: string
reason:
description: reason is the CamelCase reason for the condition's current status.
type: string
status:
description: status of the condition, one of True, False, Unknown.
type: string
type:
description: type specifies the aspect reported by this condition.
type: string
extension:
description: extension contains any additional status information specific to the operator which owns this status object.
type: object
nullable: true
x-kubernetes-preserve-unknown-fields: true
relatedObjects:
description: 'relatedObjects is a list of objects that are "interesting" or related to this operator. Common uses are: 1. the detailed resource driving the operator 2. operator namespaces 3. operand namespaces'
type: array
items:
description: ObjectReference contains enough information to let you inspect or modify the referred object.
type: object
required:
- group
- name
- resource
properties:
group:
description: group of the referent.
type: string
name:
description: name of the referent.
type: string
namespace:
description: namespace of the referent.
type: string
resource:
description: resource of the referent.
type: string
versions:
description: versions is a slice of operator and operand version tuples. Operators which manage multiple operands will have multiple operand entries in the array. Available operators must report the version of the operator itself with the name "operator". An operator reports a new "operator" version when it has rolled out the new version to all of its operands.
type: array
items:
type: object
required:
- name
- version
properties:
name:
description: name is the name of the particular operand this version is for. It usually matches container images, not operators.
type: string
version:
description: version indicates which version of a particular operand is currently being managed. It must always match the Available operand. If 1.0.0 is Available, then this must indicate 1.0.0 even if the operator is trying to rollout 1.1.0
type: string
served: true
storage: true
subresources:
status: {}
61 changes: 31 additions & 30 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,29 @@ module github.com/openshift/cluster-machine-approver
go 1.17

require (
github.com/mitchellh/mapstructure v1.1.2
github.com/onsi/ginkgo v1.16.4
github.com/onsi/gomega v1.13.0
github.com/openshift/api v0.0.0-20210816181336-8ff39b776da3
github.com/openshift/client-go v0.0.0-20210730113412-1811c1b3fc0e
github.com/openshift/library-go v0.0.0-20210811133500-5e31383de2a7
github.com/mitchellh/mapstructure v1.4.1
github.com/onsi/ginkgo v1.16.5
github.com/onsi/gomega v1.17.0
github.com/openshift/api v0.0.0-20211215120111-7c47a5f63470
github.com/openshift/client-go v0.0.0-20211209144617-7385dd6338e3
github.com/openshift/library-go v0.0.0-20211217094823-cbb293285c81
github.com/prometheus/client_golang v1.11.0
k8s.io/api v0.22.0
k8s.io/apimachinery v0.22.0
k8s.io/client-go v0.22.0
k8s.io/klog/v2 v2.9.0
sigs.k8s.io/controller-runtime v0.9.3
k8s.io/api v0.23.0
k8s.io/apimachinery v0.23.0
k8s.io/client-go v0.23.0
k8s.io/klog/v2 v2.30.0
sigs.k8s.io/controller-runtime v0.11.0
)

require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/blang/semver v3.5.1+incompatible // indirect
github.com/cespare/xxhash/v2 v2.1.1 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/evanphx/json-patch v4.11.0+incompatible // indirect
github.com/fsnotify/fsnotify v1.4.9 // indirect
github.com/evanphx/json-patch v4.12.0+incompatible // indirect
github.com/fsnotify/fsnotify v1.5.1 // indirect
github.com/ghodss/yaml v1.0.0 // indirect
github.com/go-logr/logr v0.4.0 // indirect
github.com/go-logr/logr v1.2.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.2 // indirect
Expand All @@ -34,38 +34,39 @@ require (
github.com/google/uuid v1.1.2 // indirect
github.com/googleapis/gnostic v0.5.5 // indirect
github.com/imdario/mergo v0.3.12 // indirect
github.com/json-iterator/go v1.1.11 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.1 // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/nxadm/tail v1.4.8 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus/client_model v0.2.0 // indirect
github.com/prometheus/common v0.26.0 // indirect
github.com/prometheus/common v0.28.0 // indirect
github.com/prometheus/procfs v0.6.0 // indirect
github.com/robfig/cron v1.2.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
golang.org/x/net v0.0.0-20210520170846-37e1c6afe023 // indirect
golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43 // indirect
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22 // indirect
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d // indirect
golang.org/x/text v0.3.6 // indirect
golang.org/x/net v0.0.0-20210825183410-e898025ed96a // indirect
golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect
golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8 // indirect
golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/protobuf v1.26.0 // indirect
google.golang.org/protobuf v1.27.1 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
k8s.io/apiextensions-apiserver v0.22.0-rc.0 // indirect
k8s.io/component-base v0.22.0-rc.0 // indirect
k8s.io/kube-aggregator v0.22.0-rc.0 // indirect
k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e // indirect
k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9 // indirect
k8s.io/apiextensions-apiserver v0.23.0 // indirect
k8s.io/component-base v0.23.0 // indirect
k8s.io/kube-aggregator v0.23.0 // indirect
k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect
k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b // indirect
sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect
sigs.k8s.io/kube-storage-version-migrator v0.0.4 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.1.2 // indirect
sigs.k8s.io/yaml v1.2.0 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.2.0 // indirect
sigs.k8s.io/yaml v1.3.0 // indirect
)

replace (
Expand Down
Loading