You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2020/02/21 08:25:33 UTC
[camel-k] 01/04: Fix #167: first helm packaging
This is an automated email from the ASF dual-hosted git repository.
nferraro pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit f1f79230b27e247918a506cd559c760c4c76ed73
Author: Nicola Ferraro <ni...@gmail.com>
AuthorDate: Thu Feb 20 17:13:51 2020 +0100
Fix #167: first helm packaging
---
helm/.helmignore | 23 +++
helm/Chart.yaml | 39 +++++
helm/crds/crd-build.yaml | 65 ++++++++
helm/crds/crd-camel-catalog.yaml | 53 +++++++
helm/crds/crd-integration-kit.yaml | 56 +++++++
helm/crds/crd-integration-platform.yaml | 48 ++++++
helm/crds/crd-integration.yaml | 59 ++++++++
helm/templates/NOTES.txt | 8 +
helm/templates/_helpers.tpl | 66 +++++++++
helm/templates/cluster-role.yaml | 34 +++++
helm/templates/operator-role-binding.yaml | 31 ++++
helm/templates/operator-role.yaml | 214 +++++++++++++++++++++++++++
helm/templates/operator-service-account.yaml | 24 +++
helm/templates/operator.yaml | 48 ++++++
helm/templates/platform.yaml | 26 ++++
helm/values.yaml | 14 ++
16 files changed, 808 insertions(+)
diff --git a/helm/.helmignore b/helm/.helmignore
new file mode 100644
index 0000000..0e8a0eb
--- /dev/null
+++ b/helm/.helmignore
@@ -0,0 +1,23 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
diff --git a/helm/Chart.yaml b/helm/Chart.yaml
new file mode 100644
index 0000000..cacac39
--- /dev/null
+++ b/helm/Chart.yaml
@@ -0,0 +1,39 @@
+apiVersion: v2
+name: camel-k
+description: A lightweight integration platform, born on Kubernetes, with serverless superpowers
+
+# A chart can be either an 'application' or a 'library' chart.
+#
+# Application charts are a collection of templates that can be packaged into versioned archives
+# to be deployed.
+#
+# Library charts provide useful utilities or functions for the chart developer. They're included as
+# a dependency of application charts to inject those utilities and functions into the rendering
+# pipeline. Library charts do not define any templates and therefore cannot be deployed.
+type: application
+
+# This is the chart version. This version number should be incremented each time you make changes
+# to the chart and its templates, including the app version.
+version: 0.1.0
+
+# This is the version number of the application being deployed. This version number should be
+# incremented each time you make changes to the application.
+appVersion: 1.0.0-RC2-SNAPSHOT
+
+icon: https://raw.githubusercontent.com/apache/camel/master/docs/img/logo-d.svg
+home: https://camel.apache.org/camel-k/latest/
+
+sources:
+ - https://github.com/apache/camel-k
+ - https://github.com/apache/camel-k-runtime
+ - https://github.com/apache/camel-quarkus
+ - https://github.com/apache/camel
+
+keywords:
+ - serverless
+ - integration
+ - patterns
+
+maintainers:
+ - name: nferraro
+ email: nferraro@apache.org
diff --git a/helm/crds/crd-build.yaml b/helm/crds/crd-build.yaml
new file mode 100644
index 0000000..4739c7e
--- /dev/null
+++ b/helm/crds/crd-build.yaml
@@ -0,0 +1,65 @@
+# ---------------------------------------------------------------------------
+# 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:
+ name: builds.camel.apache.org
+ labels:
+ app: "camel-k"
+spec:
+ group: camel.apache.org
+ scope: Namespaced
+ version: v1
+ versions:
+ - name: v1
+ served: true
+ storage: true
+ - name: v1alpha1
+ served: true
+ storage: false
+ names:
+ kind: Build
+ listKind: BuildList
+ plural: builds
+ singular: build
+ subresources:
+ status: {}
+ additionalPrinterColumns:
+ - name: Phase
+ type: string
+ description: The build phase
+ JSONPath: .status.phase
+ - name: Age
+ type: date
+ description: The time at which the build was created
+ JSONPath: .metadata.creationTimestamp
+ - name: Started
+ type: date
+ description: The time at which the build was last (re-)started
+ JSONPath: .status.startedAt
+ - name: Duration
+ type: string
+ # Change when CRD uses OpenAPI spec v3
+ # https://github.com/OAI/OpenAPI-Specification/issues/845
+ # format: duration
+ description: The build last execution duration
+ JSONPath: .status.duration
+ - name: Attempts
+ type: integer
+ description: The number of execution attempts
+ JSONPath: .status.failure.recovery.attempt
diff --git a/helm/crds/crd-camel-catalog.yaml b/helm/crds/crd-camel-catalog.yaml
new file mode 100644
index 0000000..6b27319
--- /dev/null
+++ b/helm/crds/crd-camel-catalog.yaml
@@ -0,0 +1,53 @@
+# ---------------------------------------------------------------------------
+# 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:
+ name: camelcatalogs.camel.apache.org
+ labels:
+ app: "camel-k"
+spec:
+ group: camel.apache.org
+ names:
+ kind: CamelCatalog
+ listKind: CamelCatalogList
+ plural: camelcatalogs
+ singular: camelcatalog
+ shortNames:
+ - cc
+ scope: Namespaced
+ version: v1
+ versions:
+ - name: v1
+ served: true
+ storage: true
+ - name: v1alpha1
+ served: true
+ storage: false
+ subresources:
+ status: {}
+ additionalPrinterColumns:
+ - name: Runtime Version
+ type: string
+ description: The Camel K Runtime version
+ JSONPath: .spec.runtime.version
+ - name: Runtime Provider
+ type: string
+ description: The Camel K Runtime provider
+ JSONPath: .spec.runtime.provider
+
diff --git a/helm/crds/crd-integration-kit.yaml b/helm/crds/crd-integration-kit.yaml
new file mode 100644
index 0000000..f8547d8
--- /dev/null
+++ b/helm/crds/crd-integration-kit.yaml
@@ -0,0 +1,56 @@
+# ---------------------------------------------------------------------------
+# 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:
+ name: integrationkits.camel.apache.org
+ labels:
+ app: "camel-k"
+spec:
+ group: camel.apache.org
+ scope: Namespaced
+ version: v1
+ versions:
+ - name: v1
+ served: true
+ storage: true
+ - name: v1alpha1
+ served: true
+ storage: false
+ subresources:
+ status: {}
+ names:
+ kind: IntegrationKit
+ listKind: IntegrationKitList
+ plural: integrationkits
+ singular: integrationkit
+ shortNames:
+ - ik
+ additionalPrinterColumns:
+ - name: Phase
+ type: string
+ description: The IntegrationKit phase
+ JSONPath: .status.phase
+ - name: Type
+ type: string
+ description: The IntegrationKit type
+ JSONPath: .metadata.labels.camel\.apache\.org\/kit\.type
+ - name: Image
+ type: string
+ description: The IntegrationKit image
+ JSONPath: .status.image
diff --git a/helm/crds/crd-integration-platform.yaml b/helm/crds/crd-integration-platform.yaml
new file mode 100644
index 0000000..c693199
--- /dev/null
+++ b/helm/crds/crd-integration-platform.yaml
@@ -0,0 +1,48 @@
+# ---------------------------------------------------------------------------
+# 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:
+ name: integrationplatforms.camel.apache.org
+ labels:
+ app: "camel-k"
+spec:
+ group: camel.apache.org
+ scope: Namespaced
+ version: v1
+ versions:
+ - name: v1
+ served: true
+ storage: true
+ - name: v1alpha1
+ served: true
+ storage: false
+ subresources:
+ status: {}
+ names:
+ kind: IntegrationPlatform
+ listKind: IntegrationPlatformList
+ plural: integrationplatforms
+ singular: integrationplatform
+ shortNames:
+ - ip
+ additionalPrinterColumns:
+ - name: Phase
+ type: string
+ description: The IntegrationPlatform phase
+ JSONPath: .status.phase
diff --git a/helm/crds/crd-integration.yaml b/helm/crds/crd-integration.yaml
new file mode 100644
index 0000000..41797cb
--- /dev/null
+++ b/helm/crds/crd-integration.yaml
@@ -0,0 +1,59 @@
+# ---------------------------------------------------------------------------
+# 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:
+ name: integrations.camel.apache.org
+ labels:
+ app: "camel-k"
+spec:
+ group: camel.apache.org
+ scope: Namespaced
+ version: v1
+ versions:
+ - name: v1
+ served: true
+ storage: true
+ - name: v1alpha1
+ served: true
+ storage: false
+ subresources:
+ status: {}
+ scale:
+ specReplicasPath: .spec.replicas
+ statusReplicasPath: .status.replicas
+ names:
+ kind: Integration
+ listKind: IntegrationList
+ plural: integrations
+ singular: integration
+ shortNames:
+ - it
+ additionalPrinterColumns:
+ - name: Phase
+ type: string
+ description: The integration phase
+ JSONPath: .status.phase
+ - name: Kit
+ type: string
+ description: The integration kit
+ JSONPath: .status.kit
+ - name: Replicas
+ type: integer
+ description: The number of pods
+ JSONPath: .status.replicas
diff --git a/helm/templates/NOTES.txt b/helm/templates/NOTES.txt
new file mode 100644
index 0000000..3999401
--- /dev/null
+++ b/helm/templates/NOTES.txt
@@ -0,0 +1,8 @@
+{{/*
+Constraints
+*/}}
+{{- if (not .Values.platform.cluster) or (.Values.platform.cluster ne "OpenShift") }}
+{{ required "Field \"platform.build.registry.address\" is required when not running on OpenShift (set \"platform.cluster=OpenShift\" if you're using OpenShift instead)!" .Values.platform.build.registry.address | substr 0 0 }}
+{{- end }}
+
+Connect the world with Camel K on {{ include "camel-k.cluster" . }}!
diff --git a/helm/templates/_helpers.tpl b/helm/templates/_helpers.tpl
new file mode 100644
index 0000000..90a0b01
--- /dev/null
+++ b/helm/templates/_helpers.tpl
@@ -0,0 +1,66 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "camel-k.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+If release name contains chart name it will be used as a full name.
+*/}}
+{{- define "camel-k.fullname" -}}
+{{- if .Values.fullnameOverride -}}
+{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- if contains $name .Release.Name -}}
+{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
+{{- else -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+{{/*
+Create chart name and version as used by the chart label.
+*/}}
+{{- define "camel-k.chart" -}}
+{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Common labels
+*/}}
+{{- define "camel-k.labels" -}}
+helm.sh/chart: {{ include "camel-k.chart" . }}
+{{ include "camel-k.selectorLabels" . }}
+{{- if .Chart.AppVersion }}
+app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
+{{- end }}
+app.kubernetes.io/managed-by: {{ .Release.Service }}
+{{- end -}}
+
+{{/*
+Selector labels
+*/}}
+{{- define "camel-k.selectorLabels" -}}
+app.kubernetes.io/name: {{ include "camel-k.name" . }}
+app.kubernetes.io/instance: {{ .Release.Name }}
+{{- end -}}
+
+
+{{/*
+Defaults
+*/}}
+{{- define "camel-k.cluster" -}}
+{{- if .Values.platform.cluster -}}
+{{- .Values.platform.cluster -}}
+{{- else -}}
+Kubernetes
+{{- end -}}
+{{- end -}}
+
+
diff --git a/helm/templates/cluster-role.yaml b/helm/templates/cluster-role.yaml
new file mode 100644
index 0000000..c971318
--- /dev/null
+++ b/helm/templates/cluster-role.yaml
@@ -0,0 +1,34 @@
+# ---------------------------------------------------------------------------
+# 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: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ labels:
+ app: "camel-k"
+ rbac.authorization.k8s.io/aggregate-to-admin: "true"
+ rbac.authorization.k8s.io/aggregate-to-edit: "true"
+ {{- include "camel-k.labels" . | nindent 4 }}
+ name: camel-k:edit
+rules:
+- apiGroups:
+ - camel.apache.org
+ resources:
+ - '*'
+ verbs:
+ - '*'
+
diff --git a/helm/templates/operator-role-binding.yaml b/helm/templates/operator-role-binding.yaml
new file mode 100644
index 0000000..df55af3
--- /dev/null
+++ b/helm/templates/operator-role-binding.yaml
@@ -0,0 +1,31 @@
+# ---------------------------------------------------------------------------
+# 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.
+# ---------------------------------------------------------------------------
+
+kind: RoleBinding
+apiVersion: rbac.authorization.k8s.io/v1beta1
+metadata:
+ name: camel-k-operator
+ labels:
+ app: "camel-k"
+ {{- include "camel-k.labels" . | nindent 4 }}
+subjects:
+- kind: ServiceAccount
+ name: camel-k-operator
+roleRef:
+ kind: Role
+ name: camel-k-operator
+ apiGroup: rbac.authorization.k8s.io
diff --git a/helm/templates/operator-role.yaml b/helm/templates/operator-role.yaml
new file mode 100644
index 0000000..a9d6c6a
--- /dev/null
+++ b/helm/templates/operator-role.yaml
@@ -0,0 +1,214 @@
+# ---------------------------------------------------------------------------
+# 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.
+# ---------------------------------------------------------------------------
+
+kind: Role
+apiVersion: rbac.authorization.k8s.io/v1beta1
+metadata:
+ name: camel-k-operator
+ labels:
+ app: "camel-k"
+ {{- include "camel-k.labels" . | nindent 4 }}
+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:
+ - 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
+ attributeRestrictions: null
+ 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
+ attributeRestrictions: null
+ 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
+ resources:
+ - "*"
+ verbs:
+ - create
+ - delete
+ - deletecollection
+ - get
+ - list
+ - patch
+ - update
+ - watch
diff --git a/helm/templates/operator-service-account.yaml b/helm/templates/operator-service-account.yaml
new file mode 100644
index 0000000..c91ab3a
--- /dev/null
+++ b/helm/templates/operator-service-account.yaml
@@ -0,0 +1,24 @@
+# ---------------------------------------------------------------------------
+# 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: v1
+kind: ServiceAccount
+metadata:
+ name: camel-k-operator
+ labels:
+ app: "camel-k"
+ {{- include "camel-k.labels" . | nindent 4 }}
diff --git a/helm/templates/operator.yaml b/helm/templates/operator.yaml
new file mode 100644
index 0000000..5638eb1
--- /dev/null
+++ b/helm/templates/operator.yaml
@@ -0,0 +1,48 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ creationTimestamp: null
+ labels:
+ app: camel-k
+ camel.apache.org/component: operator
+ {{- include "camel-k.labels" . | nindent 4 }}
+ name: camel-k-operator
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ name: camel-k-operator
+ strategy:
+ type: Recreate
+ template:
+ metadata:
+ creationTimestamp: null
+ 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.namespace
+ - name: OPERATOR_NAME
+ value: camel-k
+ - name: POD_NAME
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.name
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ image: {{ .Values.operator.image }}
+ imagePullPolicy: IfNotPresent
+ name: camel-k-operator
+ resources: {}
+ serviceAccountName: camel-k-operator
diff --git a/helm/templates/platform.yaml b/helm/templates/platform.yaml
new file mode 100644
index 0000000..3dcf257
--- /dev/null
+++ b/helm/templates/platform.yaml
@@ -0,0 +1,26 @@
+# ---------------------------------------------------------------------------
+# 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: camel.apache.org/v1
+kind: IntegrationPlatform
+metadata:
+ labels:
+ app: "camel-k"
+ {{- include "camel-k.labels" . | nindent 4 }}
+ name: camel-k
+spec:
+ {{- toYaml .Values.platform | nindent 2}}
\ No newline at end of file
diff --git a/helm/values.yaml b/helm/values.yaml
new file mode 100644
index 0000000..814b797
--- /dev/null
+++ b/helm/values.yaml
@@ -0,0 +1,14 @@
+# Default values for camel-k.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+nameOverride: ""
+fullnameOverride: ""
+
+platform:
+ build:
+ registry:
+ insecure: false
+
+operator:
+ image: docker.io/apache/camel-k:1.0.0-RC2-SNAPSHOT