Skip to content

Commit

Permalink
update crossplane CRDs (#241)
Browse files Browse the repository at this point in the history
  • Loading branch information
steppi91 authored Dec 14, 2023
1 parent ee91610 commit e38291f
Show file tree
Hide file tree
Showing 14 changed files with 11,245 additions and 256 deletions.
124 changes: 121 additions & 3 deletions apiextensions.crossplane.io/compositeresourcedefinition_v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,90 @@
},
"type": "array"
},
"conversion": {
"description": "Conversion defines all conversion settings for the defined Composite resource.",
"properties": {
"strategy": {
"description": "strategy specifies how custom resources are converted between versions. Allowed values are: - `\"None\"`: The converter only change the apiVersion and would not touch any other field in the custom resource. - `\"Webhook\"`: API Server will call to an external webhook to do the conversion. Additional information is needed for this option. This requires spec.preserveUnknownFields to be false, and spec.conversion.webhook to be set.",
"type": "string"
},
"webhook": {
"description": "webhook describes how to call the conversion webhook. Required when `strategy` is set to `\"Webhook\"`.",
"properties": {
"clientConfig": {
"description": "clientConfig is the instructions for how to call the webhook if strategy is `Webhook`.",
"properties": {
"caBundle": {
"description": "caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. If unspecified, system trust roots on the apiserver are used.",
"format": "byte",
"type": "string"
},
"service": {
"description": "service is a reference to the service for this webhook. Either service or url must be specified. \n If the webhook is running within the cluster, then you should use `service`.",
"properties": {
"name": {
"description": "name is the name of the service. Required",
"type": "string"
},
"namespace": {
"description": "namespace is the namespace of the service. Required",
"type": "string"
},
"path": {
"description": "path is an optional URL path at which the webhook will be contacted.",
"type": "string"
},
"port": {
"description": "port is an optional service port at which the webhook will be contacted. `port` should be a valid port number (1-65535, inclusive). Defaults to 443 for backward compatibility.",
"format": "int32",
"type": "integer"
}
},
"required": [
"name",
"namespace"
],
"type": "object",
"additionalProperties": false
},
"url": {
"description": "url gives the location of the webhook, in standard URL form (`scheme://host:port/path`). Exactly one of `url` or `service` must be specified. \n The `host` should not refer to a service running in the cluster; use the `service` field instead. The host might be resolved via external DNS in some apiservers (e.g., `kube-apiserver` cannot resolve in-cluster DNS as that would be a layering violation). `host` may also be an IP address. \n Please note that using `localhost` or `127.0.0.1` as a `host` is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster. \n The scheme must be \"https\"; the URL must begin with \"https://\". \n A path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier. \n Attempting to use a user or basic auth e.g. \"user:password@\" is not allowed. Fragments (\"#...\") and query parameters (\"?...\") are not allowed, either.",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"conversionReviewVersions": {
"description": "conversionReviewVersions is an ordered list of preferred `ConversionReview` versions the Webhook expects. The API server will use the first version in the list which it supports. If none of the versions specified in this list are supported by API server, conversion will fail for the custom resource. If a persisted Webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"conversionReviewVersions"
],
"type": "object",
"additionalProperties": false
}
},
"required": [
"strategy"
],
"type": "object",
"additionalProperties": false
},
"defaultCompositeDeletePolicy": {
"default": "Background",
"description": "DefaultCompositeDeletePolicy is the policy used when deleting the Composite that is associated with the Claim if no policy has been specified.",
"enum": [
"Background",
"Foreground"
],
"type": "string"
},
"defaultCompositionRef": {
"description": "DefaultCompositionRef refers to the Composition resource that will be used in case no composition selector is given.",
"properties": {
Expand All @@ -77,6 +161,15 @@
"type": "object",
"additionalProperties": false
},
"defaultCompositionUpdatePolicy": {
"default": "Automatic",
"description": "DefaultCompositionUpdatePolicy is the policy used when updating composites after a new Composition Revision has been created if no policy has been specified on the composite.",
"enum": [
"Automatic",
"Manual"
],
"type": "string"
},
"enforcedCompositionRef": {
"description": "EnforcedCompositionRef refers to the Composition resource that will be used by all composite instances whose schema is defined by this definition.",
"properties": {
Expand All @@ -95,6 +188,27 @@
"description": "Group specifies the API group of the defined composite resource. Composite resources are served under `/apis/<group>/...`. Must match the name of the XRD (in the form `<names.plural>.<group>`).",
"type": "string"
},
"metadata": {
"description": "Metadata specifies the desired metadata for the defined composite resource and claim CRD's.",
"properties": {
"annotations": {
"additionalProperties": {
"type": "string"
},
"description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations",
"type": "object"
},
"labels": {
"additionalProperties": {
"type": "string"
},
"description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels and services. These labels are added to the composite resource and claim CRD's in addition to any labels defined by `CompositionResourceDefinition` `metadata.labels`.",
"type": "object"
}
},
"type": "object",
"additionalProperties": false
},
"names": {
"description": "Names specifies the resource and kind names of the defined composite resource.",
"properties": {
Expand Down Expand Up @@ -137,7 +251,7 @@
"additionalProperties": false
},
"versions": {
"description": "Versions is the list of all API versions of the defined composite resource. Version names are used to compute the order in which served versions are listed in API discovery. If the version string is \"kube-like\", it will sort above non \"kube-like\" version strings, which are ordered lexicographically. \"Kube-like\" versions start with a \"v\", then are followed by a number (the major version), then optionally the string \"alpha\" or \"beta\" and another number (the minor version). These are sorted first by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10. Note that all versions must have identical schemas; Crossplane does not currently support conversion between different version schemas.",
"description": "Versions is the list of all API versions of the defined composite resource. Version names are used to compute the order in which served versions are listed in API discovery. If the version string is \"kube-like\", it will sort above non \"kube-like\" version strings, which are ordered lexicographically. \"Kube-like\" versions start with a \"v\", then are followed by a number (the major version), then optionally the string \"alpha\" or \"beta\" and another number (the minor version). These are sorted first by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.",
"items": {
"description": "CompositeResourceDefinitionVersion describes a version of an XR.",
"properties": {
Expand Down Expand Up @@ -195,7 +309,7 @@
"type": "string"
},
"referenceable": {
"description": "Referenceable specifies that this version may be referenced by a Composition in order to configure which resources an XR may be composed of. Exactly one version must be marked as referenceable; all Compositions must target only the referenceable version. The referenceable version must be served.",
"description": "Referenceable specifies that this version may be referenced by a Composition in order to configure which resources an XR may be composed of. Exactly one version must be marked as referenceable; all Compositions must target only the referenceable version. The referenceable version must be served. It's mapped to the CRD's `spec.versions[*].storage` field.",
"type": "boolean"
},
"schema": {
Expand Down Expand Up @@ -273,7 +387,11 @@
"type": "object",
"additionalProperties": false
},
"type": "array"
"type": "array",
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map"
},
"controllers": {
"description": "Controllers represents the status of the controllers that power this composite resource definition.",
Expand Down
Loading

0 comments on commit e38291f

Please sign in to comment.