blob: 5a9ff6af3c3d4d2f1fd7f0d7cdb5521b456f818f [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: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
annotations:
alm-examples: |-
[{
"apiVersion": "camel.apache.org/v1",
"kind": "IntegrationPlatform",
"metadata": {
"name": "example"
},
"spec": {}
},
{
"apiVersion": "camel.apache.org/v1",
"kind": "Integration",
"metadata": {
"name": "example"
},
"spec": {
"flows": [
{
"from": {
"uri": "timer:yaml",
"parameters": {
"period": "1000"
},
"steps": [
{
"set-body": {
"constant": "Hello from Camel K"
}
},
{
"to": "log:info"
}
]
}
}
]
}
},
{
"apiVersion": "camel.apache.org/v1",
"kind": "IntegrationKit",
"metadata": {
"name": "example"
},
"spec": {}
},
{
"apiVersion": "camel.apache.org/v1",
"kind": "CamelCatalog",
"metadata": {
"name": "example"
},
"spec": {}
},
{
"apiVersion": "camel.apache.org/v1",
"kind": "Build",
"metadata": {
"name": "example"
},
"spec": {}
},
{
"apiVersion": "camel.apache.org/v1alpha1",
"kind": "Kamelet",
"metadata": {
"name": "example"
},
"spec": {
"definition": {
"description": "Produces periodic events with a custom payload",
"properties": {
"message": {
"description": "The message to generate",
"title": "Message",
"type": "string"
},
"period": {
"default": 1000,
"description": "The time interval between two events",
"title": "Period",
"type": "integer"
}
},
"required": [
"message"
],
"title": "Example Timer"
},
"flow": {
"from": {
"parameters": {
"period": "#property:period"
},
"steps": [
{
"set-body": {
"constant": "#property:message"
}
},
{
"to": "kamelet:sink"
}
],
"uri": "timer:tick"
}
}
}
},
{
"apiVersion": "camel.apache.org/v1alpha1",
"kind": "KameletBinding",
"metadata": {
"name": "example"
},
"spec": {
"source": {
"ref": {
"apiVersion": "camel.apache.org/v1alpha1",
"kind": "Kamelet",
"name": "example"
},
"properties": {
"message": "Hello world"
}
},
"sink": {
"ref": {
"apiVersion": "messaging.knative.dev/v1beta1",
"kind": "InMemoryChannel",
"name": "example"
}
}
}
}]
capabilities: Full Lifecycle
categories: Integration & Delivery
certified: "false"
containerImage: docker.io/apache/camel-k:1.3.0-SNAPSHOT
createdAt: "2020-06-09T02:45:00Z"
description: Apache Camel K is a lightweight integration platform, born on Kubernetes,
with serverless superpowers.
repository: https://github.com/apache/camel-k
operators.operatorframework.io/internal-objects: '["builds.camel.apache.org","integrationkits.camel.apache.org","camelcatalogs.camel.apache.org"]'
support: Camel
name: camel-k-operator.v1.3.0-snapshot
namespace: placeholder
spec:
relatedImages:
- name: integration-base-image
image: adoptopenjdk/openjdk11:slim
apiservicedefinitions: {}
customresourcedefinitions:
owned:
- description: A Camel K build
displayName: Build
kind: Build
name: builds.camel.apache.org
version: v1
- description: A Camel catalog
displayName: Camel Catalog
kind: CamelCatalog
name: camelcatalogs.camel.apache.org
version: v1
- description: A Camel K integration kit
displayName: Integration Kit
kind: IntegrationKit
name: integrationkits.camel.apache.org
version: v1
- description: A Camel K integration platform
displayName: Integration Platform
kind: IntegrationPlatform
name: integrationplatforms.camel.apache.org
version: v1
- description: A Camel K integration
displayName: Integration
kind: Integration
name: integrations.camel.apache.org
version: v1
- description: A Camel K connector binding resource
displayName: Kamelet Binding
kind: KameletBinding
name: kameletbindings.camel.apache.org
version: v1alpha1
- description: A Camel K connector
displayName: Kamelet
kind: Kamelet
name: kamelets.camel.apache.org
version: v1alpha1
description: |
Apache Camel K
==============
Apache Camel K is a lightweight integration platform, born on Kubernetes, with serverless superpowers.
## Installation
To start using Camel K, install the operator and then create the following `IntegrationPlatform`:
```
apiVersion: camel.apache.org/v1
kind: IntegrationPlatform
metadata:
name: camel-k
labels:
app: "camel-k"
```
## Running an Integration
After the initial setup, you can run a Camel integration on the cluster by creating an example `Integration`:
```
apiVersion: camel.apache.org/v1
kind: Integration
metadata:
name: example
spec:
sources:
- content: |
import org.apache.camel.builder.RouteBuilder;
public class Example extends RouteBuilder {
@Override
public void configure() throws Exception {
from("timer:tick")
.setBody(constant("Hello World!"))
.to("log:info?skipBodyLineSeparator=false");
}
}
name: Example.java
```
displayName: Camel K Operator
icon:
- base64data: PHN2ZyB2aWV3Qm94PSIwIDAgMTMwLjIxIDEzMC4wMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSIzMzMuNDgiIHgyPSI0NzciIHkxPSI3MDIuNiIgeTI9IjU2My43MyIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSg5NC4wMzggMjc2LjA2KSBzY2FsZSguOTkyMDYpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI0Y2OTkyMyIgb2Zmc2V0PSIwIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0Y3OUEyMyIgb2Zmc2V0PSIuMTEiLz48c3RvcCBzdG9wLWNvbG9yPSIjRTk3ODI2IiBvZmZzZXQ9Ii45NDUiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iYiIgeDE9IjMzMy40OCIgeDI9IjQ3NyIgeTE9IjcwMi42IiB5Mj0iNTYzLjczIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDk0LjAzOCAyNzYuMDYpIHNjYWxlKC45OTIwNikiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjRjY5OTIzIiBvZmZzZXQ9IjAiLz48c3RvcCBzdG9wLWNvbG9yPSIjRjc5QTIzIiBvZmZzZXQ9Ii4wOCIvPjxzdG9wIHN0b3AtY29sb3I9IiNFOTc4MjYiIG9mZnNldD0iLjQxOSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJjIiB4MT0iNjMzLjU1IiB4Mj0iNTY2LjQ3IiB5MT0iODE0LjYiIHkyPSI5MDkuMTIiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTg1LjQyMSA1Ni4yMzYpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agc3RvcC1jb2xvcj0iI2Y2ZTQyMyIgb2Zmc2V0PSIwIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0Y3OUEyMyIgb2Zmc2V0PSIuNDEyIi8+PHN0b3Agc3RvcC1jb2xvcj0iI0U5NzgyNiIgb2Zmc2V0PSIuNzMzIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQzNy44OSAtODM1LjI5KSI+PGNpcmNsZSBjeD0iNTAzLjEiIGN5PSI5MDAuMjkiIHI9IjYyLjUyIiBmaWxsPSJ1cmwoI2EpIiBzdHJva2U9InVybCgjYikiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iNC45NiIvPjxwYXRoIGQ9Ik00ODcuODkgODczLjY0YTg5LjUzIDg5LjUzIDAgMCAwLTIuNjg4LjAzMWMtMS4wNDMuMDMxLTIuNDQ1LjM2Mi00LjA2Mi45MDYgMjcuMzA5IDIwLjczNyAzNy4xMjcgNTguMTQ2IDIwLjI1IDkwLjY1Ni41NzMuMDE1IDEuMTQyLjA2MyAxLjcxOS4wNjMgMzAuODQ0IDAgNTYuNjItMjEuNDkzIDYzLjI4LTUwLjMxMi0xOS41NzItMjIuOTQzLTQ2LjExNy00MS4yOTQtNzguNS00MS4zNDR6IiBmaWxsPSJ1cmwoI2MpIiBvcGFjaXR5PSIuNzUiLz48cGF0aCBkPSJNNDgxLjE0IDg3NC41OGMtOS4wNjggMy4wNTItMjYuMzY4IDEzLjgwMi00MyAyOC4xNTYgMS4yNjMgMzQuMTk1IDI4Ljk2MSA2MS42MDcgNjMuMjUgNjIuNSAxNi44NzctMzIuNTEgNy4wNi02OS45MTktMjAuMjUtOTAuNjU2eiIgZmlsbD0iIzI4MTcwYiIgb3BhY2l0eT0iLjc1Ii8+PHBhdGggZD0iTTUwNC44ODkgODYyLjU0NmMtLjQ3Mi0uMDMyLS45MzIuMDI4LTEuMzc1LjI1LTUuNiAyLjgwMSAwIDE0IDAgMTQtMTYuODA3IDE0LjAwOS0xMy4yMzYgMzcuOTM4LTMyLjg0NCAzNy45MzgtMTAuNjg5IDAtMjEuMzIyLTEyLjI5My0zMi41MzEtMTkuODEyLS4xNDQgMS43NzMtLjI1IDMuNTY0LS4yNSA1LjM3NSAwIDI0LjUxNSAxMy41MSA0NS44NjMgMzMuNDY5IDU3LjA2MyA1LjU4My0uNzAzIDExLjE1OC0yLjExNCAxNS4zNDQtNC45MDYgMjEuOTkyLTE0LjY2MiAyNy40NTItNDIuNTU3IDM2LjQzOC01Ni4wMzEgNS41OTYtOC40MDcgMzEuODI0LTcuNjc3IDMzLjU5NC0xMS4yMiAyLjgwNC01LjYwMS01LjYwMi0xNC04LjQwNi0xNGgtMjIuNDA2Yy0xLjU2NiAwLTQuMDI1LTIuNzgtNS41OTQtMi43OGgtOC40MDZzLTMuNzI1LTUuNjUtNy4wMzEtNS44NzV6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==
mediatype: image/svg+xml
install:
spec:
clusterPermissions:
- rules:
- apiGroups:
- console.openshift.io
resources:
- consoleclidownloads
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- camel.apache.org
resources:
- '*'
verbs:
- '*'
serviceAccountName: camel-k-operator
deployments:
- name: camel-k-operator
spec:
replicas: 1
selector:
matchLabels:
name: camel-k-operator
strategy:
type: Recreate
template:
metadata:
labels:
app: camel-k
camel.apache.org/component: operator
name: camel-k-operator
spec:
containers:
- command:
- kamel
- operator
env:
- name: WATCH_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.annotations['olm.targetNamespaces']
- name: OPERATOR_NAME
value: camel-k
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
image: docker.io/apache/camel-k:1.3.0-SNAPSHOT
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /healthz
port: 8081
initialDelaySeconds: 5
periodSeconds: 5
name: camel-k-operator
ports:
- containerPort: 8080
name: metrics
resources: {}
serviceAccountName: camel-k-operator
permissions:
- rules:
- apiGroups:
- camel.apache.org
resources:
- '*'
verbs:
- '*'
- apiGroups:
- ""
resources:
- pods
- services
- endpoints
- persistentvolumeclaims
- configmaps
- secrets
- serviceaccounts
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- rbac.authorization.k8s.io
resources:
- roles
- rolebindings
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- events
verbs:
- create
- patch
- get
- list
- watch
- apiGroups:
- apps
resources:
- deployments
- replicasets
- statefulsets
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- batch
resources:
- cronjobs
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- apps
resources:
- daemonsets
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- ingresses
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
- build.openshift.io
resources:
- buildconfigs
- buildconfigs/webhooks
- builds
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
- image.openshift.io
resources:
- imagestreamimages
- imagestreammappings
- imagestreams
- imagestreams/secrets
- imagestreamtags
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
- build.openshift.io
resources:
- buildconfigs/instantiate
- buildconfigs/instantiatebinary
- builds/clone
verbs:
- create
- apiGroups:
- ""
- route.openshift.io
resources:
- routes
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
- route.openshift.io
resources:
- routes/custom-host
verbs:
- create
- apiGroups:
- serving.knative.dev
resources:
- services
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- eventing.knative.dev
- messaging.knative.dev
- sources.knative.dev
resources:
- '*'
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- monitoring.coreos.com
resources:
- servicemonitors
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- "kafka.strimzi.io"
resources:
- topics
- kafkas
verbs:
- get
- list
- watch
serviceAccountName: camel-k-operator
strategy: deployment
installModes:
- supported: true
type: OwnNamespace
- supported: true
type: SingleNamespace
- supported: false
type: MultiNamespace
- supported: true
type: AllNamespaces
keywords:
- apache
- kamel
- kubernetes
- serverless
- microservices
labels:
name: camel-k-operator
links:
- name: Camel K source code repository
url: https://github.com/apache/camel-k
maintainers:
- email: users@camel.apache.org
name: The Apache Software Foundation
maturity: alpha
minKubeVersion: 1.11.0
provider:
name: The Apache Software Foundation
replaces: camel-k-operator.v1.2.0
selector:
matchLabels:
name: camel-k-operator
version: 1.3.0-snapshot