apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # kpt-merge: /compositecontrollers.metacontroller.k8s.io annotations: "api-approved.kubernetes.io": "unapproved, request not yet submitted" name: compositecontrollers.metacontroller.k8s.io spec: group: metacontroller.k8s.io names: kind: CompositeController listKind: CompositeControllerList plural: compositecontrollers shortNames: - cc - cctl singular: compositecontroller scope: Cluster versions: - name: v1alpha1 schema: openAPIV3Schema: 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: properties: childResources: items: properties: apiVersion: type: string resource: type: string updateStrategy: properties: method: type: string statusChecks: properties: conditions: items: properties: reason: type: string status: type: string type: type: string required: - type type: object type: array type: object type: object required: - apiVersion - resource type: object type: array generateSelector: type: boolean hooks: properties: customize: properties: webhook: properties: path: type: string service: properties: name: type: string namespace: type: string port: format: int32 type: integer protocol: type: string required: - name - namespace type: object timeout: type: string url: type: string type: object type: object finalize: properties: webhook: properties: path: type: string service: properties: name: type: string namespace: type: string port: format: int32 type: integer protocol: type: string required: - name - namespace type: object timeout: type: string url: type: string type: object type: object postUpdateChild: properties: webhook: properties: path: type: string service: properties: name: type: string namespace: type: string port: format: int32 type: integer protocol: type: string required: - name - namespace type: object timeout: type: string url: type: string type: object type: object preUpdateChild: properties: webhook: properties: path: type: string service: properties: name: type: string namespace: type: string port: format: int32 type: integer protocol: type: string required: - name - namespace type: object timeout: type: string url: type: string type: object type: object sync: properties: webhook: properties: path: type: string service: properties: name: type: string namespace: type: string port: format: int32 type: integer protocol: type: string required: - name - namespace type: object timeout: type: string url: type: string type: object type: object type: object parentResource: properties: apiVersion: type: string resource: type: string revisionHistory: properties: fieldPaths: items: type: string type: array type: object required: - apiVersion - resource type: object resyncPeriodSeconds: format: int32 type: integer required: - parentResource type: object status: type: object required: - metadata - spec type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # kpt-merge: /controllerrevisions.metacontroller.k8s.io annotations: "api-approved.kubernetes.io": "unapproved, request not yet submitted" name: controllerrevisions.metacontroller.k8s.io spec: group: metacontroller.k8s.io names: kind: ControllerRevision listKind: ControllerRevisionList plural: controllerrevisions singular: controllerrevision scope: Namespaced versions: - name: v1alpha1 schema: openAPIV3Schema: 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 children: items: properties: apiGroup: type: string kind: type: string names: items: type: string type: array required: - apiGroup - kind - names type: object type: array 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 parentPatch: type: object required: - metadata - parentPatch type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: # kpt-merge: /decoratorcontrollers.metacontroller.k8s.io annotations: "api-approved.kubernetes.io": "unapproved, request not yet submitted" name: decoratorcontrollers.metacontroller.k8s.io spec: group: metacontroller.k8s.io names: kind: DecoratorController listKind: DecoratorControllerList plural: decoratorcontrollers shortNames: - dec - decorators singular: decoratorcontroller scope: Cluster versions: - name: v1alpha1 schema: openAPIV3Schema: 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: properties: attachments: items: properties: apiVersion: type: string resource: type: string updateStrategy: properties: method: type: string type: object required: - apiVersion - resource type: object type: array hooks: properties: customize: properties: webhook: properties: path: type: string service: properties: name: type: string namespace: type: string port: format: int32 type: integer protocol: type: string required: - name - namespace type: object timeout: type: string url: type: string type: object type: object finalize: properties: webhook: properties: path: type: string service: properties: name: type: string namespace: type: string port: format: int32 type: integer protocol: type: string required: - name - namespace type: object timeout: type: string url: type: string type: object type: object sync: properties: webhook: properties: path: type: string service: properties: name: type: string namespace: type: string port: format: int32 type: integer protocol: type: string required: - name - namespace type: object timeout: type: string url: type: string type: object type: object type: object resources: items: properties: annotationSelector: properties: matchAnnotations: additionalProperties: type: string type: object matchExpressions: items: description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array type: object apiVersion: type: string labelSelector: description: A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. items: description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. properties: key: description: key is the label key that the selector applies to. type: string operator: description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. type: string values: description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. items: type: string type: array required: - key - operator type: object type: array matchLabels: additionalProperties: type: string description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object resource: type: string required: - apiVersion - resource type: object type: array resyncPeriodSeconds: format: int32 type: integer required: - resources type: object status: type: object required: - metadata - spec type: object served: true storage: true subresources: status: {} status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: []