blob: 31f2e9c62bce7e37be7f7289cc8051b3a696e44f [file] [log] [blame]
# ---------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ---------------------------------------------------------------------------
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
labels:
app: "camel-k"
annotations:
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
name: kamelets.camel.apache.org
spec:
additionalPrinterColumns:
- JSONPath: .status.phase
description: The Kamelet phase
name: Phase
type: string
group: camel.apache.org
names:
categories:
- kamel
- camel
kind: Kamelet
listKind: KameletList
plural: kamelets
shortNames:
- kl
singular: kamelet
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
description: Kamelet is the Schema for the kamelets API
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: KameletSpec defines the desired state of Kamelet
properties:
authorization:
description: AuthorizationSpec is TODO (oauth information)
type: object
definition:
description: JSONSchemaProps is a JSON-Schema definition.
properties:
$ref:
type: string
$schema:
description: JSONSchemaURL represents a schema url.
type: string
additionalItems:
type: boolean
additionalProperties:
type: boolean
allOf:
items: {}
type: array
anyOf:
items: {}
type: array
default:
description: default is a default value for undefined object fields.
Defaulting is a beta feature under the CustomResourceDefaulting
feature gate. Defaulting requires spec.preserveUnknownFields to
be false.
format: byte
type: string
definitions:
additionalProperties: {}
description: JSONSchemaDefinitions contains the models explicitly
defined in this spec.
type: object
dependencies:
additionalProperties:
items:
type: string
type: array
description: JSONSchemaDependencies represent a dependencies property.
type: object
description:
type: string
enum:
items:
description: 'JSON represents any valid JSON value. These types
are supported: bool, int64, float64, string, []interface{},
map[string]interface{} and nil.'
format: byte
type: string
type: array
example:
description: 'JSON represents any valid JSON value. These types
are supported: bool, int64, float64, string, []interface{}, map[string]interface{}
and nil.'
format: byte
type: string
exclusiveMaximum:
type: boolean
exclusiveMinimum:
type: boolean
externalDocs:
description: ExternalDocumentation allows referencing an external
resource for extended documentation.
properties:
description:
type: string
url:
type: string
type: object
format:
description: "format is an OpenAPI v3 format string. Unknown formats
are ignored. The following formats are validated: \n - bsonobjectid:
a bson object ID, i.e. a 24 characters hex string - uri: an URI
as parsed by Golang net/url.ParseRequestURI - email: an email
address as parsed by Golang net/mail.ParseAddress - hostname:
a valid representation for an Internet host name, as defined by
RFC 1034, section 3.1 [RFC1034]. - ipv4: an IPv4 IP as parsed
by Golang net.ParseIP - ipv6: an IPv6 IP as parsed by Golang net.ParseIP
- cidr: a CIDR as parsed by Golang net.ParseCIDR - mac: a MAC
address as parsed by Golang net.ParseMAC - uuid: an UUID that
allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$
- uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$
- uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
- uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
- isbn: an ISBN10 or ISBN13 number string like \"0321751043\"
or \"978-0321751041\" - isbn10: an ISBN10 number string like \"0321751043\"
- isbn13: an ISBN13 number string like \"978-0321751041\" - creditcard:
a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$
with any non digit characters mixed in - ssn: a U.S. social security
number following the regex ^\\\\d{3}[- ]?\\\\d{2}[- ]?\\\\d{4}$
- hexcolor: an hexadecimal color code like \"#FFFFFF: following
the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ - rgbcolor: an RGB
color code like rgb like \"rgb(255,255,2559\" - byte: base64 encoded
binary data - password: any kind of string - date: a date string
like \"2006-01-02\" as defined by full-date in RFC3339 - duration:
a duration string like \"22 ns\" as parsed by Golang time.ParseDuration
or compatible with Scala duration format - datetime: a date time
string like \"2014-12-15T19:30:20.000Z\" as defined by date-time
in RFC3339."
type: string
id:
type: string
items: {}
maxItems:
format: int64
type: integer
maxLength:
format: int64
type: integer
maxProperties:
format: int64
type: integer
maximum:
description: A Number represents a JSON number literal.
type: string
minItems:
format: int64
type: integer
minLength:
format: int64
type: integer
minProperties:
format: int64
type: integer
minimum:
description: A Number represents a JSON number literal.
type: string
multipleOf:
description: A Number represents a JSON number literal.
type: string
not: {}
nullable:
type: boolean
oneOf:
items: {}
type: array
pattern:
type: string
patternProperties:
additionalProperties: {}
type: object
properties:
additionalProperties: {}
type: object
required:
items:
type: string
type: array
title:
type: string
type:
type: string
uniqueItems:
type: boolean
x-descriptors:
description: x-descriptors annotates an object to define additional
display options.
items:
type: string
type: array
x-kubernetes-embedded-resource:
description: x-kubernetes-embedded-resource defines that the value
is an embedded Kubernetes runtime.Object, with TypeMeta and ObjectMeta.
The type must be object. It is allowed to further restrict the
embedded object. kind, apiVersion and metadata are validated automatically.
x-kubernetes-preserve-unknown-fields is allowed to be true, but
does not have to be if the object is fully specified (up to kind,
apiVersion, metadata).
type: boolean
x-kubernetes-int-or-string:
description: "x-kubernetes-int-or-string specifies that this value
is either an integer or a string. If this is true, an empty type
is allowed and type as child of anyOf is permitted if following
one of the following patterns: \n 1) anyOf: - type: integer
\ - type: string 2) allOf: - anyOf: - type: integer
\ - type: string - ... zero or more"
type: boolean
x-kubernetes-list-map-keys:
description: "x-kubernetes-list-map-keys annotates an array with
the x-kubernetes-list-type `map` by specifying the keys used as
the index of the map. \n This tag MUST only be used on lists that
have the \"x-kubernetes-list-type\" extension set to \"map\".
Also, the values specified for this attribute must be a scalar
typed field of the child structure (no nesting is supported).
\n The properties specified must either be required or have a
default value, to ensure those properties are present for all
list items."
items:
type: string
type: array
x-kubernetes-list-type:
description: "x-kubernetes-list-type annotates an array to further
describe its topology. This extension must only be used on lists
and may have 3 possible values: \n 1) `atomic`: the list is treated
as a single entity, like a scalar. Atomic lists will be entirely
replaced when updated. This extension may be used on any
type of list (struct, scalar, ...). 2) `set`: Sets are lists
that must not have multiple items with the same value. Each value
must be a scalar, an object with x-kubernetes-map-type `atomic`
or an array with x-kubernetes-list-type `atomic`. 3) `map`:
\ These lists are like maps in that their elements have a
non-index key used to identify them. Order is preserved upon
merge. The map tag must only be used on a list with elements
of type object. Defaults to atomic for arrays."
type: string
x-kubernetes-map-type:
description: "x-kubernetes-map-type annotates an object to further
describe its topology. This extension must only be used when type
is object and may have 2 possible values: \n 1) `granular`: These
maps are actual maps (key-value pairs) and each fields are independent
\ from each other (they can each be manipulated by separate
actors). This is the default behaviour for all maps. 2) `atomic`:
the list is treated as a single entity, like a scalar. Atomic
maps will be entirely replaced when updated."
type: string
x-kubernetes-preserve-unknown-fields:
description: x-kubernetes-preserve-unknown-fields stops the API
server decoding step from pruning fields which are not specified
in the validation schema. This affects fields recursively, but
switches back to normal pruning behaviour if nested properties
or additionalProperties are specified in the schema. This can
either be true or undefined. False is forbidden.
type: boolean
type: object
dependencies:
items:
type: string
type: array
flow:
description: Flow is an unstructured object representing a Camel Flow
in YAML/JSON DSL
type: object
sources:
items:
description: SourceSpec --
properties:
compression:
type: boolean
content:
type: string
contentKey:
type: string
contentRef:
type: string
interceptors:
description: Interceptors are optional identifiers the org.apache.camel.k.RoutesLoader
uses to pre/post process sources
items:
type: string
type: array
language:
description: Language --
type: string
loader:
description: Loader is an optional id of the org.apache.camel.k.RoutesLoader
that will interpret this source at runtime
type: string
name:
type: string
property-names:
description: List of property names defined in the source (e.g.
if type is "template")
items:
type: string
type: array
type:
description: Type defines the kind of source described by this
object
type: string
type: object
type: array
types:
additionalProperties:
properties:
mediaType:
type: string
schema:
description: JSONSchemaProps is a JSON-Schema definition.
properties:
$ref:
type: string
$schema:
description: JSONSchemaURL represents a schema url.
type: string
additionalItems:
type: boolean
additionalProperties:
type: boolean
allOf:
items: {}
type: array
anyOf:
items: {}
type: array
default:
description: default is a default value for undefined object
fields. Defaulting is a beta feature under the CustomResourceDefaulting
feature gate. Defaulting requires spec.preserveUnknownFields
to be false.
format: byte
type: string
definitions:
additionalProperties: {}
description: JSONSchemaDefinitions contains the models explicitly
defined in this spec.
type: object
dependencies:
additionalProperties:
items:
type: string
type: array
description: JSONSchemaDependencies represent a dependencies
property.
type: object
description:
type: string
enum:
items:
description: 'JSON represents any valid JSON value. These
types are supported: bool, int64, float64, string, []interface{},
map[string]interface{} and nil.'
format: byte
type: string
type: array
example:
description: 'JSON represents any valid JSON value. These
types are supported: bool, int64, float64, string, []interface{},
map[string]interface{} and nil.'
format: byte
type: string
exclusiveMaximum:
type: boolean
exclusiveMinimum:
type: boolean
externalDocs:
description: ExternalDocumentation allows referencing an external
resource for extended documentation.
properties:
description:
type: string
url:
type: string
type: object
format:
description: "format is an OpenAPI v3 format string. Unknown
formats are ignored. The following formats are validated:
\n - bsonobjectid: a bson object ID, i.e. a 24 characters
hex string - uri: an URI as parsed by Golang net/url.ParseRequestURI
- email: an email address as parsed by Golang net/mail.ParseAddress
- hostname: a valid representation for an Internet host
name, as defined by RFC 1034, section 3.1 [RFC1034]. - ipv4:
an IPv4 IP as parsed by Golang net.ParseIP - ipv6: an IPv6
IP as parsed by Golang net.ParseIP - cidr: a CIDR as parsed
by Golang net.ParseCIDR - mac: a MAC address as parsed by
Golang net.ParseMAC - uuid: an UUID that allows uppercase
defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$
- uuid3: an UUID3 that allows uppercase defined by the regex
(?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$
- uuid4: an UUID4 that allows uppercase defined by the regex
(?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
- uuid5: an UUID5 that allows uppercase defined by the regex
(?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$
- isbn: an ISBN10 or ISBN13 number string like \"0321751043\"
or \"978-0321751041\" - isbn10: an ISBN10 number string
like \"0321751043\" - isbn13: an ISBN13 number string like
\"978-0321751041\" - creditcard: a credit card number defined
by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$
with any non digit characters mixed in - ssn: a U.S. social
security number following the regex ^\\\\d{3}[- ]?\\\\d{2}[-
]?\\\\d{4}$ - hexcolor: an hexadecimal color code like \"#FFFFFF:
following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
- rgbcolor: an RGB color code like rgb like \"rgb(255,255,2559\"
- byte: base64 encoded binary data - password: any kind
of string - date: a date string like \"2006-01-02\" as defined
by full-date in RFC3339 - duration: a duration string like
\"22 ns\" as parsed by Golang time.ParseDuration or compatible
with Scala duration format - datetime: a date time string
like \"2014-12-15T19:30:20.000Z\" as defined by date-time
in RFC3339."
type: string
id:
type: string
items: {}
maxItems:
format: int64
type: integer
maxLength:
format: int64
type: integer
maxProperties:
format: int64
type: integer
maximum:
description: A Number represents a JSON number literal.
type: string
minItems:
format: int64
type: integer
minLength:
format: int64
type: integer
minProperties:
format: int64
type: integer
minimum:
description: A Number represents a JSON number literal.
type: string
multipleOf:
description: A Number represents a JSON number literal.
type: string
not: {}
nullable:
type: boolean
oneOf:
items: {}
type: array
pattern:
type: string
patternProperties:
additionalProperties: {}
type: object
properties:
additionalProperties: {}
type: object
required:
items:
type: string
type: array
title:
type: string
type:
type: string
uniqueItems:
type: boolean
x-descriptors:
description: x-descriptors annotates an object to define additional
display options.
items:
type: string
type: array
x-kubernetes-embedded-resource:
description: x-kubernetes-embedded-resource defines that the
value is an embedded Kubernetes runtime.Object, with TypeMeta
and ObjectMeta. The type must be object. It is allowed to
further restrict the embedded object. kind, apiVersion and
metadata are validated automatically. x-kubernetes-preserve-unknown-fields
is allowed to be true, but does not have to be if the object
is fully specified (up to kind, apiVersion, metadata).
type: boolean
x-kubernetes-int-or-string:
description: "x-kubernetes-int-or-string specifies that this
value is either an integer or a string. If this is true,
an empty type is allowed and type as child of anyOf is permitted
if following one of the following patterns: \n 1) anyOf:
\ - type: integer - type: string 2) allOf: - anyOf:
\ - type: integer - type: string - ... zero
or more"
type: boolean
x-kubernetes-list-map-keys:
description: "x-kubernetes-list-map-keys annotates an array
with the x-kubernetes-list-type `map` by specifying the
keys used as the index of the map. \n This tag MUST only
be used on lists that have the \"x-kubernetes-list-type\"
extension set to \"map\". Also, the values specified for
this attribute must be a scalar typed field of the child
structure (no nesting is supported). \n The properties specified
must either be required or have a default value, to ensure
those properties are present for all list items."
items:
type: string
type: array
x-kubernetes-list-type:
description: "x-kubernetes-list-type annotates an array to
further describe its topology. This extension must only
be used on lists and may have 3 possible values: \n 1) `atomic`:
the list is treated as a single entity, like a scalar. Atomic
lists will be entirely replaced when updated. This extension
\ may be used on any type of list (struct, scalar, ...).
2) `set`: Sets are lists that must not have multiple
items with the same value. Each value must be a scalar,
an object with x-kubernetes-map-type `atomic` or an array
with x-kubernetes-list-type `atomic`. 3) `map`: These
lists are like maps in that their elements have a non-index
key used to identify them. Order is preserved upon
merge. The map tag must only be used on a list with
elements of type object. Defaults to atomic for arrays."
type: string
x-kubernetes-map-type:
description: "x-kubernetes-map-type annotates an object to
further describe its topology. This extension must only
be used when type is object and may have 2 possible values:
\n 1) `granular`: These maps are actual maps (key-value
pairs) and each fields are independent from each other
(they can each be manipulated by separate actors). This
is the default behaviour for all maps. 2) `atomic`:
the list is treated as a single entity, like a scalar. Atomic
maps will be entirely replaced when updated."
type: string
x-kubernetes-preserve-unknown-fields:
description: x-kubernetes-preserve-unknown-fields stops the
API server decoding step from pruning fields which are not
specified in the validation schema. This affects fields
recursively, but switches back to normal pruning behaviour
if nested properties or additionalProperties are specified
in the schema. This can either be true or undefined. False
is forbidden.
type: boolean
type: object
type: object
type: object
type: object
status:
description: KameletStatus defines the observed state of Kamelet
properties:
conditions:
items:
description: KameletCondition describes the state of a resource at
a certain point.
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status
to another.
format: date-time
type: string
lastUpdateTime:
description: The last time this condition was updated.
format: date-time
type: string
message:
description: A human readable message indicating details about
the transition.
type: string
reason:
description: The reason for the condition's last transition.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of kamelet condition.
type: string
required:
- status
- type
type: object
type: array
phase:
type: string
properties:
items:
properties:
default:
type: string
name:
type: string
type: object
type: array
type: object
type: object
version: v1alpha1
versions:
- name: v1alpha1
served: true
storage: true