-
Notifications
You must be signed in to change notification settings - Fork 76
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add installStrategy for addon and upgrade to v1beta1
Signed-off-by: Jian Qiu <[email protected]>
- Loading branch information
Showing
35 changed files
with
3,092 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
249 changes: 249 additions & 0 deletions
249
addon/v1beta1/0000_00_addon.open-cluster-management.io_clustermanagementaddons.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,249 @@ | ||
apiVersion: apiextensions.k8s.io/v1 | ||
kind: CustomResourceDefinition | ||
metadata: | ||
name: clustermanagementaddons.addon.open-cluster-management.io | ||
spec: | ||
group: addon.open-cluster-management.io | ||
names: | ||
kind: ClusterManagementAddOn | ||
listKind: ClusterManagementAddOnList | ||
plural: clustermanagementaddons | ||
singular: clustermanagementaddon | ||
scope: Cluster | ||
versions: | ||
- additionalPrinterColumns: | ||
- jsonPath: .spec.addOnMeta.displayName | ||
name: DISPLAY NAME | ||
type: string | ||
name: v1beta1 | ||
schema: | ||
openAPIV3Schema: | ||
description: ClusterManagementAddOn represents the registration of an add-on to the cluster manager. This resource allows the user to discover which add-on is available for the cluster manager and also provides metadata information about the add-on. This resource also provides a linkage to ManagedClusterAddOn, the name of the ClusterManagementAddOn resource will be used for the namespace-scoped ManagedClusterAddOn resource. ClusterManagementAddOn is a cluster-scoped resource. | ||
type: object | ||
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 represents a desired configuration for the agent on the cluster management add-on. | ||
type: object | ||
properties: | ||
addOnMeta: | ||
description: addOnMeta is a reference to the metadata information for the add-on. | ||
type: object | ||
properties: | ||
description: | ||
description: description represents the detailed description of the add-on. | ||
type: string | ||
displayName: | ||
description: displayName represents the name of add-on that will be displayed. | ||
type: string | ||
supportedConfigs: | ||
description: supportedConfigs is a list of configuration types supported by add-on. An empty list means the add-on does not require configurations. The default is an empty list | ||
type: array | ||
items: | ||
description: ConfigMeta represents a collection of metadata information for add-on configuration. | ||
type: object | ||
required: | ||
- resource | ||
properties: | ||
defaultConfigs: | ||
description: defaultConfigs represents a list of default add-on configurations. In scenario where all add-ons have the same configuration. User can override the default configuration by defining the configs in the installStrategy for specific clusters or on certain ManagedClusterAddon. | ||
type: array | ||
items: | ||
type: object | ||
required: | ||
- name | ||
- resource | ||
properties: | ||
group: | ||
description: group of the add-on configuration. | ||
type: string | ||
default: "" | ||
name: | ||
description: name of the add-on configuration. | ||
type: string | ||
minLength: 1 | ||
namespace: | ||
description: namespace of the add-on configuration. If this field is not set, the configuration is in the cluster scope. | ||
type: string | ||
resource: | ||
description: resource of the add-on configuration. | ||
type: string | ||
minLength: 1 | ||
group: | ||
description: group of the add-on configuration. | ||
type: string | ||
default: "" | ||
installStrategy: | ||
description: InstallStrategy represents that related ManagedClusterAddOns should be installed on certain clusters. | ||
type: object | ||
properties: | ||
placements: | ||
description: Placements is a list of placement references honored when install strategy type is Placements. All clusters selected by these placements will install the addon If one cluster belongs to multiple placements, it will only apply the strategy defined later in the order. That is to say, The latter strategy overrides the previous one. | ||
type: array | ||
items: | ||
type: object | ||
required: | ||
- name | ||
- namespace | ||
properties: | ||
configs: | ||
description: Configs is the configuration of managedClusterAddon during installation. User can override the configuration by updating the managedClusterAddon directly. | ||
type: array | ||
items: | ||
type: object | ||
required: | ||
- name | ||
- resource | ||
properties: | ||
group: | ||
description: group of the add-on configuration. | ||
type: string | ||
default: "" | ||
name: | ||
description: name of the add-on configuration. | ||
type: string | ||
minLength: 1 | ||
namespace: | ||
description: namespace of the add-on configuration. If this field is not set, the configuration is in the cluster scope. | ||
type: string | ||
resource: | ||
description: resource of the add-on configuration. | ||
type: string | ||
minLength: 1 | ||
name: | ||
description: Name is the name of the placement | ||
type: string | ||
minLength: 1 | ||
namespace: | ||
description: Namespace is the namespace of the placement | ||
type: string | ||
minLength: 1 | ||
x-kubernetes-list-map-keys: | ||
- namespace | ||
- name | ||
x-kubernetes-list-type: map | ||
type: | ||
description: 'Type is the type of the install strategy, it can be: - Manual: no automatic install - Placements: install to clusters selected by placements.' | ||
type: string | ||
default: Manual | ||
enum: | ||
- Manual | ||
- Placements | ||
resource: | ||
description: resource of the add-on configuration. | ||
type: string | ||
minLength: 1 | ||
x-kubernetes-list-map-keys: | ||
- group | ||
- resource | ||
x-kubernetes-list-type: map | ||
status: | ||
description: status represents the current status of cluster management add-on. | ||
type: object | ||
served: true | ||
storage: true | ||
subresources: | ||
status: {} | ||
- additionalPrinterColumns: | ||
- jsonPath: .spec.addOnMeta.displayName | ||
name: DISPLAY NAME | ||
type: string | ||
- jsonPath: .spec.addOnConfiguration.crdName | ||
name: CRD NAME | ||
type: string | ||
name: v1alpha1 | ||
schema: | ||
openAPIV3Schema: | ||
description: ClusterManagementAddOn represents the registration of an add-on to the cluster manager. This resource allows the user to discover which add-on is available for the cluster manager and also provides metadata information about the add-on. This resource also provides a linkage to ManagedClusterAddOn, the name of the ClusterManagementAddOn resource will be used for the namespace-scoped ManagedClusterAddOn resource. ClusterManagementAddOn is a cluster-scoped resource. | ||
type: object | ||
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 represents a desired configuration for the agent on the cluster management add-on. | ||
type: object | ||
properties: | ||
addOnConfiguration: | ||
description: 'Deprecated: Use supportedConfigs filed instead addOnConfiguration is a reference to configuration information for the add-on. In scenario where a multiple add-ons share the same add-on CRD, multiple ClusterManagementAddOn resources need to be created and reference the same AddOnConfiguration.' | ||
type: object | ||
properties: | ||
crName: | ||
description: crName is the name of the CR used to configure instances of the managed add-on. This field should be configured if add-on CR have a consistent name across the all of the ManagedCluster instaces. | ||
type: string | ||
crdName: | ||
description: crdName is the name of the CRD used to configure instances of the managed add-on. This field should be configured if the add-on have a CRD that controls the configuration of the add-on. | ||
type: string | ||
lastObservedGeneration: | ||
description: lastObservedGeneration is the observed generation of the custom resource for the configuration of the addon. | ||
type: integer | ||
format: int64 | ||
addOnMeta: | ||
description: addOnMeta is a reference to the metadata information for the add-on. | ||
type: object | ||
properties: | ||
description: | ||
description: description represents the detailed description of the add-on. | ||
type: string | ||
displayName: | ||
description: displayName represents the name of add-on that will be displayed. | ||
type: string | ||
supportedConfigs: | ||
description: supportedConfigs is a list of configuration types supported by add-on. An empty list means the add-on does not require configurations. The default is an empty list | ||
type: array | ||
items: | ||
description: ConfigMeta represents a collection of metadata information for add-on configuration. | ||
type: object | ||
required: | ||
- resource | ||
properties: | ||
defaultConfig: | ||
description: defaultConfig represents the namespace and name of the default add-on configuration. In scenario where all add-ons have a same configuration. | ||
type: object | ||
required: | ||
- name | ||
properties: | ||
name: | ||
description: name of the add-on configuration. | ||
type: string | ||
minLength: 1 | ||
namespace: | ||
description: namespace of the add-on configuration. If this field is not set, the configuration is in the cluster scope. | ||
type: string | ||
group: | ||
description: group of the add-on configuration. | ||
type: string | ||
default: "" | ||
resource: | ||
description: resource of the add-on configuration. | ||
type: string | ||
minLength: 1 | ||
x-kubernetes-list-map-keys: | ||
- group | ||
- resource | ||
x-kubernetes-list-type: map | ||
status: | ||
description: status represents the current status of cluster management add-on. | ||
type: object | ||
served: true | ||
storage: false | ||
subresources: | ||
status: {} | ||
status: | ||
acceptedNames: | ||
kind: "" | ||
plural: "" | ||
conditions: [] | ||
storedVersions: [] |
Oops, something went wrong.