blob: 96e26b9e2f9b85c4c35c13cd7b4a738e6fd5a7ba [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/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.4.1
creationTimestamp: null
labels:
app: camel-k
name: integrations.camel.apache.org
spec:
group: camel.apache.org
names:
categories:
- kamel
- camel
kind: Integration
listKind: IntegrationList
plural: integrations
shortNames:
- it
singular: integration
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: The integration phase
jsonPath: .status.phase
name: Phase
type: string
- description: The integration kit
jsonPath: .status.integrationKit.name
name: Kit
type: string
- description: The number of pods
jsonPath: .status.replicas
name: Replicas
type: integer
name: v1
schema:
openAPIV3Schema:
description: Integration is the Schema for the integrations 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: IntegrationSpec defines the desired state of Integration
properties:
configuration:
items:
description: ConfigurationSpec --
properties:
type:
type: string
value:
type: string
required:
- type
- value
type: object
type: array
dependencies:
items:
type: string
type: array
flows:
items:
description: Flow is an unstructured object representing a Camel
Flow in YAML/JSON DSL
type: object
x-kubernetes-preserve-unknown-fields: true
type: array
integrationKit:
description: 'ObjectReference contains enough information to let you
inspect or modify the referred object. --- New uses of this type
are discouraged because of difficulty describing its usage when
embedded in APIs. 1. Ignored fields. It includes many fields which
are not generally honored. For instance, ResourceVersion and FieldPath
are both very rarely valid in actual usage. 2. Invalid usage help. It
is impossible to add specific help for individual usage. In most
embedded usages, there are particular restrictions like, "must
refer only to types A and B" or "UID not honored" or "name must
be restricted". Those cannot be well described when embedded. 3.
Inconsistent validation. Because the usages are different, the
validation rules are different by usage, which makes it hard for
users to predict what will happen. 4. The fields are both imprecise
and overly precise. Kind is not a precise mapping to a URL. This
can produce ambiguity during interpretation and require a REST
mapping. In most cases, the dependency is on the group,resource
tuple and the version of the actual struct is irrelevant. 5.
We cannot easily change it. Because this type is embedded in many
locations, updates to this type will affect numerous schemas. Don''t
make new APIs embed an underspecified API type they do not control.
Instead of using this type, create a locally provided and used type
that is well-focused on your reference. For example, ServiceReferences
for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
.'
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: 'If referring to a piece of an object instead of
an entire object, this string should contain a valid JSON/Go
field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object. TODO: this design is not final and this field is
subject to change in the future.'
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
resourceVersion:
description: 'Specific resourceVersion to which this reference
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
type: string
uid:
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
type: string
type: object
kit:
description: 'Deprecated: use the IntegrationKit field'
type: string
profile:
description: TraitProfile represents lists of traits that are enabled
for the specific installation/integration
type: string
replicas:
format: int32
type: integer
repositories:
items:
type: string
type: array
resources:
items:
description: ResourceSpec --
properties:
compression:
type: boolean
content:
type: string
contentKey:
type: string
contentRef:
type: string
contentType:
type: string
mountPath:
type: string
name:
type: string
rawContent:
format: byte
type: string
type:
description: ResourceType --
type: string
type: object
type: array
serviceAccountName:
type: string
sources:
items:
description: SourceSpec --
properties:
compression:
type: boolean
content:
type: string
contentKey:
type: string
contentRef:
type: string
contentType:
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
rawContent:
format: byte
type: string
type:
description: Type defines the kind of source described by this
object
type: string
type: object
type: array
traits:
additionalProperties:
description: A TraitSpec contains the configuration of a trait
properties:
configuration:
description: TraitConfiguration --
type: object
x-kubernetes-preserve-unknown-fields: true
required:
- configuration
type: object
type: object
type: object
status:
description: IntegrationStatus defines the observed state of Integration
properties:
capabilities:
items:
type: string
type: array
conditions:
items:
description: IntegrationCondition describes the state of a resource
at a certain point.
properties:
firstTruthyTime:
description: First time the condition status transitioned to
True.
format: date-time
type: string
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 integration condition.
type: string
required:
- status
- type
type: object
type: array
configuration:
items:
description: ConfigurationSpec --
properties:
type:
type: string
value:
type: string
required:
- type
- value
type: object
type: array
dependencies:
items:
type: string
type: array
digest:
type: string
failure:
description: Failure --
properties:
reason:
type: string
recovery:
description: FailureRecovery --
properties:
attempt:
type: integer
attemptMax:
type: integer
attemptTime:
format: date-time
type: string
required:
- attempt
- attemptMax
type: object
time:
format: date-time
type: string
required:
- reason
- recovery
- time
type: object
generatedResources:
items:
description: ResourceSpec --
properties:
compression:
type: boolean
content:
type: string
contentKey:
type: string
contentRef:
type: string
contentType:
type: string
mountPath:
type: string
name:
type: string
rawContent:
format: byte
type: string
type:
description: ResourceType --
type: string
type: object
type: array
generatedSources:
items:
description: SourceSpec --
properties:
compression:
type: boolean
content:
type: string
contentKey:
type: string
contentRef:
type: string
contentType:
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
rawContent:
format: byte
type: string
type:
description: Type defines the kind of source described by this
object
type: string
type: object
type: array
image:
type: string
integrationKit:
description: 'ObjectReference contains enough information to let you
inspect or modify the referred object. --- New uses of this type
are discouraged because of difficulty describing its usage when
embedded in APIs. 1. Ignored fields. It includes many fields which
are not generally honored. For instance, ResourceVersion and FieldPath
are both very rarely valid in actual usage. 2. Invalid usage help. It
is impossible to add specific help for individual usage. In most
embedded usages, there are particular restrictions like, "must
refer only to types A and B" or "UID not honored" or "name must
be restricted". Those cannot be well described when embedded. 3.
Inconsistent validation. Because the usages are different, the
validation rules are different by usage, which makes it hard for
users to predict what will happen. 4. The fields are both imprecise
and overly precise. Kind is not a precise mapping to a URL. This
can produce ambiguity during interpretation and require a REST
mapping. In most cases, the dependency is on the group,resource
tuple and the version of the actual struct is irrelevant. 5.
We cannot easily change it. Because this type is embedded in many
locations, updates to this type will affect numerous schemas. Don''t
make new APIs embed an underspecified API type they do not control.
Instead of using this type, create a locally provided and used type
that is well-focused on your reference. For example, ServiceReferences
for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533
.'
properties:
apiVersion:
description: API version of the referent.
type: string
fieldPath:
description: 'If referring to a piece of an object instead of
an entire object, this string should contain a valid JSON/Go
field access statement, such as desiredState.manifest.containers[2].
For example, if the object reference is to a container within
a pod, this would take on a value like: "spec.containers{name}"
(where "name" refers to the name of the container that triggered
the event) or if no container name is specified "spec.containers[2]"
(container with index 2 in this pod). This syntax is chosen
only to have some well-defined way of referencing a part of
an object. TODO: this design is not final and this field is
subject to change in the future.'
type: string
kind:
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
resourceVersion:
description: 'Specific resourceVersion to which this reference
is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
type: string
uid:
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
type: string
type: object
kit:
description: 'Deprecated: use the IntegrationKit field'
type: string
lastInitTimestamp:
description: The timestamp representing the last time when this integration
was initialized.
format: date-time
type: string
phase:
description: IntegrationPhase --
type: string
platform:
type: string
profile:
description: TraitProfile represents lists of traits that are enabled
for the specific installation/integration
type: string
replicas:
format: int32
type: integer
runtimeProvider:
description: RuntimeProvider --
type: string
runtimeVersion:
type: string
selector:
type: string
version:
type: string
type: object
type: object
served: true
storage: true
subresources:
scale:
labelSelectorPath: .status.selector
specReplicasPath: .spec.replicas
statusReplicasPath: .status.replicas
status: {}