diff options
author | Dileep Ranganathan <dileep.ranganathan@intel.com> | 2019-05-30 12:38:37 -0700 |
---|---|---|
committer | Dileep Ranganathan <dileep.ranganathan@intel.com> | 2019-05-30 21:11:52 +0000 |
commit | 3d5a3e06530c1250d48f7d838c619f3bfbcd019d (patch) | |
tree | 349e370c43ce7318b3f7eb7736345de6872cbef2 /vnfs/DAaaS/deploy/messaging/charts | |
parent | 31802660dfe74a8671ae29789f0018f0f887ea1a (diff) |
Refactor Distributed Analytics project structure
Modified the project structure to improve maintainability and to add future CI and
integration test support.
Change-Id: Id30bfb1f83f23785a6b5f99e81f42f752d59c0f8
Issue-ID: ONAPARC-280
Signed-off-by: Dileep Ranganathan <dileep.ranganathan@intel.com>
Diffstat (limited to 'vnfs/DAaaS/deploy/messaging/charts')
30 files changed, 4898 insertions, 0 deletions
diff --git a/vnfs/DAaaS/deploy/messaging/charts/kafka/.helmignore b/vnfs/DAaaS/deploy/messaging/charts/kafka/.helmignore new file mode 100644 index 00000000..50af0317 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/kafka/.helmignore @@ -0,0 +1,22 @@ +# 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 +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/vnfs/DAaaS/deploy/messaging/charts/kafka/Chart.yaml b/vnfs/DAaaS/deploy/messaging/charts/kafka/Chart.yaml new file mode 100644 index 00000000..b0558bb8 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/kafka/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: "1.0" +description: Helm chart for kafka operator +name: kafka +version: 0.1.0 diff --git a/vnfs/DAaaS/deploy/messaging/charts/kafka/templates/kafka-cluster.yaml b/vnfs/DAaaS/deploy/messaging/charts/kafka/templates/kafka-cluster.yaml new file mode 100644 index 00000000..cf71fca7 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/kafka/templates/kafka-cluster.yaml @@ -0,0 +1,29 @@ +apiVersion: kafka.strimzi.io/v1alpha1 +kind: Kafka +metadata: + name: {{ .Values.cluster_name }} +spec: + kafka: + version: {{ .Values.version }} + replicas: {{ .Values.replicas }} + listeners: + plain: {} + tls: {} + config: + offsets.topic.replication.factor: {{ .Values.topic.replicationFactor }} + transaction.state.log.replication.factor: 3 + transaction.state.log.min.isr: 2 + log.message.format.version: "2.1" + storage: + type: persistent-claim + size: {{ .Values.storage }} + deleteClaim: false + zookeeper: + replicas: {{ .Values.zookeeper.replicas }} + storage: + type: persistent-claim + size: {{ .Values.zookeeper.storage }} + deleteClaim: false + entityOperator: + topicOperator: {} + userOperator: {} diff --git a/vnfs/DAaaS/deploy/messaging/charts/kafka/values.yaml b/vnfs/DAaaS/deploy/messaging/charts/kafka/values.yaml new file mode 100644 index 00000000..a5e615c9 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/kafka/values.yaml @@ -0,0 +1,30 @@ +# Default values for kafka. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +cluster_name: my-cluster +version: 2.1.0 +replicas: 3 +topic: + replicationFactor: 3 +storage: 100Gi +zookeeper: + replicas: 3 + storage: 100Gi +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/.helmignore b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/.helmignore new file mode 100644 index 00000000..f0c13194 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/.helmignore @@ -0,0 +1,21 @@ +# 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 +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/Chart.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/Chart.yaml new file mode 100644 index 00000000..64915c66 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/Chart.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +appVersion: "0.1.0" +description: "Strimzi: Kafka as a Service" +name: strimzi-kafka-operator +version: 0.1.0 +icon: https://raw.githubusercontent.com/strimzi/strimzi-kafka-operator/master/documentation/logo/strimzi_logo.png +keywords: +- kafka +- queue +- stream +- event +- messaging +- datastore +- topic +home: http://strimzi.io/ +sources: +- https://github.com/strimzi/strimzi-kafka-operator +maintainers: +- name: ppatierno +- name: scholzj +- name: tombentley
\ No newline at end of file diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/OWNERS b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/OWNERS new file mode 100644 index 00000000..2aeed6e5 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/OWNERS @@ -0,0 +1,8 @@ +approvers: +- ppatierno +- scholzj +- tombentley +reviewers: +- ppatierno +- scholzj +- tombentley
\ No newline at end of file diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/README.md b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/README.md new file mode 100644 index 00000000..35226be0 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/README.md @@ -0,0 +1,105 @@ +# Strimzi: Kafka as a Service + +Strimzi provides a way to run an [Apache Kafka](https://kafka.apache.org/) cluster on +[Kubernetes](https://kubernetes.io/) or [OpenShift](https://www.openshift.com/) in various deployment configurations. +See our [website](https://github.com/strimzi/strimzi-kafka-operator) for more details about the project. + +## Introduction + +This chart bootstraps the Strimzi Cluster Operator Deployment, Cluster Roles, Cluster Role Bindings, Service Accounts, and +Custom Resource Definitions for running [Apache Kafka](https://kafka.apache.org/) on [Kubernetes](http://kubernetes.io) +cluster using the [Helm](https://helm.sh) package manager. + +## Prerequisites + +- Kubernetes 1.9+ +- PV provisioner support in the underlying infrastructure + +## Installing the Chart + +Add the Strimzi Helm Chart repository: + +```bash +$ helm repo add strimzi http://strimzi.io/charts/ +``` + +To install the chart with the release name `my-release`: + +```bash +$ helm install --name my-release strimzi/strimzi-kafka-operator +``` + +The command deploys the Strimzi Cluster Operator on the Kubernetes cluster with the default configuration. +The [configuration](#configuration) section lists the parameters that can be configured during installation. + +## Uninstalling the Chart + +To uninstall/delete the `my-release` deployment: + +```bash +$ helm delete my-release +``` + +The command removes all the Kubernetes components associated with the operator and deletes the release. + +## Configuration + +The following table lists the configurable parameters of the Strimzi chart and their default values. Runtime +configuration of Kafka and other components are defined within their respective Custom Resource Definitions. See +the documentation for more details. + +| Parameter | Description | Default | +| ------------------------------------ | ----------------------------------------- | ---------------------------------------------------- | +| `watchNamespaces` | Comma separated list of additional namespaces for the strimzi-operator to watch | [] | +| `image.repository` | Cluster Operator image repository | `strimzi` | +| `image.name` | Cluster Operator image name | `cluster-operator` | +| `image.tag` | Cluster Operator image tag | `0.11.0` | +| `image.imagePullPolicy` | Cluster Operator image pull policy | `IfNotPresent` | +| `logLevel` | Cluster Operator log level | `INFO` | +| `fullReconciliationIntervalMs` | Full reconciliation interval in milliseconds | 120000 | +| `operationTimeoutMs` | Operation timeout in milliseconds | 300000 | +| `zookeeper.image.repository` | ZooKeeper image repository | `strimzi` | +| `zookeeper.image.name` | ZooKeeper image name | `zookeeper` | +| `zookeeper.image.tag` | ZooKeeper image tag | `0.11.0` | +| `kafka.image.repository` | Kafka image repository | `strimzi` | +| `kafka.image.name` | Kafka image name | `kafka` | +| `kafka.image.tagPrefix` | Kafka image tag prefix | `0.11.0` | +| `kafkaConnect.image.repository` | Kafka Connect image repository | `strimzi` | +| `kafkaConnect.image.name` | Kafka Connect image name | `kafka-connect` | +| `kafkaConnect.image.tagPrefix` | Kafka Connect image tag prefix | `0.11.0` | +| `kafkaConnects2i.image.repository` | Kafka Connect s2i image repository | `strimzi` | +| `kafkaConnects2i.image.name` | Kafka Connect s2i image name | `kafka-connect-s2i` | +| `kafkaConnects2i.image.tagPrefix` | Kafka Connect s2i image tag prefix | `0.11.0` | +| `kafkaMirrorMaker.image.repository` | Kafka Mirror Maker image repository | `strimzi` | +| `kafkaMirrorMaker.image.name` | Kafka Mirror Maker image name | `kafka` | +| `kafkaMirrorMaker.image.tagPrefix` | Kafka Mirror Maker image tag prefix | `0.11.0` | +| `topicOperator.image.repository` | Topic Operator image repository | `strimzi` | +| `topicOperator.image.name` | Topic Operator s2i image name | `topic-operator` | +| `topicOperator.image.tag` | Topic Operator s2i image tag | `0.11.0` | +| `kafkaInit.image.repository` | Init Kafka image repository | `strimzi` | +| `kafkaInit.image.name` | Init Kafka image name | `kafka-init` | +| `kafkaInit.image.tag` | Init Kafka image tag | `0.11.0` | +| `tlsSidecarZookeeper.image.repository` | TLS Sidecar for ZooKeeper image repository | `strimzi` | +| `tlsSidecarZookeeper.image.name` | TLS Sidecar for ZooKeeper image name | `zookeeper-stunnel` | +| `tlsSidecarZookeeper.image.tag` | TLS Sidecar for ZooKeeper image tag | `0.11.0` | +| `tlsSidecarKafka.image.repository` | TLS Sidecar for Kafka image repository | `strimzi` | +| `tlsSidecarKafka.image.name` | TLS Sidecar for Kafka image name | `kafka-stunnel` | +| `tlsSidecarKafka.image.tag` | TLS Sidecar for Kafka image tag | `0.11.0` | +| `tlsSidecarTopicOperator.image.repository` | TLS Sidecar for Topic Operator image repository | `strimzi` | +| `tlsSidecarTopicOperator.image.name` | TLS Sidecar for Topic Operator image name | `topic-operator-stunnel` | +| `tlsSidecarTopicOperator.image.tag` | TLS Sidecar for Topic Operator image tag | `0.11.0` | +| `resources.limits.memory` | Memory constraint for limits | `256Mi` | +| `resources.limits.cpu` | CPU constraint for limits | `1000m` | +| `resources.requests.memory` | Memory constraint for requests | `256Mi` | +| `livenessProbe.initialDelaySeconds` | Liveness probe initial delay in seconds | 10 | +| `livenessProbe.periodSeconds` | Liveness probe period in seconds | 30 | +| `readinessProbe.initialDelaySeconds` | Readiness probe initial delay in seconds | 10 | +| `readinessProbe.periodSeconds` | Readiness probe period in seconds | 30 | +| `imageRepositoryOverride` | Override all image repository config | `nil` | +| `imageTagOverride` | Override all image tag config | `nil` | + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, + +```bash +$ helm install --name my-release --set logLevel=DEBUG,fullReconciliationIntervalMs=240000 strimzi/strimzi-kafka-operator +``` diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/010-ServiceAccount-strimzi-cluster-operator.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/010-ServiceAccount-strimzi-cluster-operator.yaml new file mode 100644 index 00000000..45367ad2 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/010-ServiceAccount-strimzi-cluster-operator.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: strimzi-cluster-operator + labels: + app: {{ template "strimzi.name" . }} + chart: {{ template "strimzi.chart" . }} + component: service-account + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/020-ClusterRole-strimzi-cluster-operator-role.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/020-ClusterRole-strimzi-cluster-operator-role.yaml new file mode 100644 index 00000000..12663c74 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/020-ClusterRole-strimzi-cluster-operator-role.yaml @@ -0,0 +1,259 @@ +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRole +metadata: + name: strimzi-cluster-operator-namespaced + labels: + app: {{ template "strimzi.name" . }} + chart: {{ template "strimzi.chart" . }} + component: role + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +rules: +- apiGroups: + - "" + resources: + - serviceaccounts + verbs: + - get + - create + - delete + - patch + - update +- apiGroups: + - "rbac.authorization.k8s.io" + resources: + - rolebindings + verbs: + - get + - create + - delete + - patch + - update +- apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - create + - delete + - patch + - update +- apiGroups: + - "kafka.strimzi.io" + resources: + - kafkas + - kafkaconnects + - kafkaconnects2is + - kafkamirrormakers + verbs: + - get + - list + - watch + - create + - delete + - patch + - update +- apiGroups: + - "" + resources: + - pods + verbs: + - get + - list + - watch + - delete +- apiGroups: + - "" + resources: + - services + verbs: + - get + - list + - watch + - create + - delete + - patch + - update +- apiGroups: + - "" + resources: + - endpoints + verbs: + - get + - list + - watch +- apiGroups: + - "extensions" + resources: + - deployments + - deployments/scale + - replicasets + verbs: + - get + - list + - watch + - create + - delete + - patch + - update +- apiGroups: + - "apps" + resources: + - deployments + - deployments/scale + - deployments/status + - statefulsets + - replicasets + verbs: + - get + - list + - watch + - create + - delete + - patch + - update +- apiGroups: + - "" + resources: + - events + verbs: + - create +# OpenShift S2I requirements +- apiGroups: + - "extensions" + resources: + - replicationcontrollers + verbs: + - get + - list + - watch + - create + - delete + - patch + - update +- apiGroups: + - apps.openshift.io + resources: + - deploymentconfigs + - deploymentconfigs/scale + - deploymentconfigs/status + - deploymentconfigs/finalizers + verbs: + - get + - list + - watch + - create + - delete + - patch + - update +- apiGroups: + - build.openshift.io + resources: + - buildconfigs + - builds + verbs: + - create + - delete + - get + - list + - patch + - watch + - update +- apiGroups: + - image.openshift.io + resources: + - imagestreams + - imagestreams/status + verbs: + - create + - delete + - get + - list + - watch + - patch + - update +- apiGroups: + - "" + resources: + - replicationcontrollers + verbs: + - get + - list + - watch + - create + - delete + - patch + - update +- apiGroups: + - "" + resources: + - secrets + verbs: + - get + - list + - create + - delete + - patch + - update +- apiGroups: + - extensions + resources: + - networkpolicies + verbs: + - get + - list + - watch + - create + - delete + - patch + - update +- apiGroups: + - networking.k8s.io + resources: + - networkpolicies + verbs: + - get + - list + - watch + - create + - delete + - patch + - update +- apiGroups: + - route.openshift.io + resources: + - routes + - routes/custom-host + verbs: + - get + - list + - create + - delete + - patch + - update +- apiGroups: + - "" + resources: + - persistentvolumeclaims + verbs: + - get + - list + - create + - delete + - patch + - update +- apiGroups: + - policy + resources: + - poddisruptionbudgets + verbs: + - get + - list + - watch + - create + - delete + - patch + - update
\ No newline at end of file diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/020-RoleBinding-strimzi-cluster-operator.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/020-RoleBinding-strimzi-cluster-operator.yaml new file mode 100644 index 00000000..647774b5 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/020-RoleBinding-strimzi-cluster-operator.yaml @@ -0,0 +1,25 @@ +{{- $root := . -}} +{{- range append .Values.watchNamespaces .Release.Namespace }} +{{- if ne . "*" -}} +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: strimzi-cluster-operator + namespace: {{ . }} + labels: + app: {{ template "strimzi.name" $root }} + chart: {{ template "strimzi.chart" $root }} + component: role-binding + release: {{ $root.Release.Name }} + heritage: {{ $root.Release.Service }} +subjects: + - kind: ServiceAccount + name: strimzi-cluster-operator + namespace: {{ $root.Release.Namespace }} +roleRef: + kind: ClusterRole + name: strimzi-cluster-operator-namespaced + apiGroup: rbac.authorization.k8s.io +{{- end }} +{{- end }}
\ No newline at end of file diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/021-ClusterRole-strimzi-cluster-operator-role.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/021-ClusterRole-strimzi-cluster-operator-role.yaml new file mode 100644 index 00000000..da7f2cda --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/021-ClusterRole-strimzi-cluster-operator-role.yaml @@ -0,0 +1,21 @@ +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRole +metadata: + name: strimzi-cluster-operator-global + labels: + app: {{ template "strimzi.name" . }} + chart: {{ template "strimzi.chart" . }} + component: role + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +rules: +- apiGroups: + - "rbac.authorization.k8s.io" + resources: + - clusterrolebindings + verbs: + - get + - create + - delete + - patch + - update
\ No newline at end of file diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/021-ClusterRoleBinding-strimzi-cluster-operator.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/021-ClusterRoleBinding-strimzi-cluster-operator.yaml new file mode 100644 index 00000000..5e32c34c --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/021-ClusterRoleBinding-strimzi-cluster-operator.yaml @@ -0,0 +1,18 @@ +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding +metadata: + name: strimzi-cluster-operator + labels: + app: {{ template "strimzi.name" . }} + chart: {{ template "strimzi.chart" . }} + component: role-binding + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +subjects: + - kind: ServiceAccount + name: strimzi-cluster-operator + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: strimzi-cluster-operator-global + apiGroup: rbac.authorization.k8s.io diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/030-ClusterRole-strimzi-kafka-broker.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/030-ClusterRole-strimzi-kafka-broker.yaml new file mode 100644 index 00000000..7ef0faf2 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/030-ClusterRole-strimzi-kafka-broker.yaml @@ -0,0 +1,17 @@ +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRole +metadata: + name: strimzi-kafka-broker + labels: + app: {{ template "strimzi.name" . }} + chart: {{ template "strimzi.chart" . }} + component: broker-role + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +rules: +- apiGroups: + - "" + resources: + - nodes + verbs: + - get diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/030-ClusterRoleBinding-strimzi-cluster-operator-kafka-broker-delegation.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/030-ClusterRoleBinding-strimzi-cluster-operator-kafka-broker-delegation.yaml new file mode 100644 index 00000000..744238c9 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/030-ClusterRoleBinding-strimzi-cluster-operator-kafka-broker-delegation.yaml @@ -0,0 +1,18 @@ +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding +metadata: + name: strimzi-cluster-operator-kafka-broker-delegation + labels: + app: {{ template "strimzi.name" . }} + chart: {{ template "strimzi.chart" . }} + component: broker-role-binding + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +subjects: + - kind: ServiceAccount + name: strimzi-cluster-operator + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: strimzi-kafka-broker + apiGroup: rbac.authorization.k8s.io diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/031-ClusterRole-strimzi-entity-operator.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/031-ClusterRole-strimzi-entity-operator.yaml new file mode 100644 index 00000000..d6d6453a --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/031-ClusterRole-strimzi-entity-operator.yaml @@ -0,0 +1,52 @@ +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRole +metadata: + name: strimzi-entity-operator + labels: + app: {{ template "strimzi.name" . }} + chart: {{ template "strimzi.chart" . }} + component: entity-operator-role + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +rules: +- apiGroups: + - "kafka.strimzi.io" + resources: + - kafkatopics + verbs: + - get + - list + - watch + - create + - patch + - update + - delete +- apiGroups: + - "" + resources: + - events + verbs: + - create +- apiGroups: + - "kafka.strimzi.io" + resources: + - kafkausers + verbs: + - get + - list + - watch + - create + - patch + - update + - delete +- apiGroups: + - "" + resources: + - secrets + verbs: + - get + - list + - create + - patch + - update + - delete diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/031-RoleBinding-strimzi-cluster-operator-entity-operator-delegation.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/031-RoleBinding-strimzi-cluster-operator-entity-operator-delegation.yaml new file mode 100644 index 00000000..20b163de --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/031-RoleBinding-strimzi-cluster-operator-entity-operator-delegation.yaml @@ -0,0 +1,25 @@ +{{- $root := . -}} +{{- range append .Values.watchNamespaces .Release.Namespace }} +{{- if ne . "*" -}} +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: strimzi-cluster-operator-entity-operator-delegation + namespace: {{ . }} + labels: + app: {{ template "strimzi.name" $root }} + chart: {{ template "strimzi.chart" $root }} + component: entity-operator-role-binding + release: {{ $root.Release.Name }} + heritage: {{ $root.Release.Service }} +subjects: + - kind: ServiceAccount + name: strimzi-cluster-operator + namespace: {{ $root.Release.Namespace }} +roleRef: + kind: ClusterRole + name: strimzi-entity-operator + apiGroup: rbac.authorization.k8s.io +{{- end }} +{{- end }} diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/032-ClusterRole-strimzi-topic-operator.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/032-ClusterRole-strimzi-topic-operator.yaml new file mode 100644 index 00000000..4d470e40 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/032-ClusterRole-strimzi-topic-operator.yaml @@ -0,0 +1,29 @@ +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRole +metadata: + name: strimzi-topic-operator + labels: + app: {{ template "strimzi.name" . }} + chart: {{ template "strimzi.chart" . }} + component: topic-operator-role + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +rules: +- apiGroups: + - "kafka.strimzi.io" + resources: + - kafkatopics + verbs: + - get + - list + - watch + - create + - patch + - update + - delete +- apiGroups: + - "" + resources: + - events + verbs: + - create
\ No newline at end of file diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/032-RoleBinding-strimzi-cluster-operator-topic-operator-delegation.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/032-RoleBinding-strimzi-cluster-operator-topic-operator-delegation.yaml new file mode 100644 index 00000000..29f3d36b --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/032-RoleBinding-strimzi-cluster-operator-topic-operator-delegation.yaml @@ -0,0 +1,25 @@ +{{- $root := . -}} +{{- range append .Values.watchNamespaces .Release.Namespace }} +{{- if ne . "*" -}} +--- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding +metadata: + name: strimzi-cluster-operator-topic-operator-delegation + namespace: {{ . }} + labels: + app: {{ template "strimzi.name" $root }} + chart: {{ template "strimzi.chart" $root }} + component: topic-operator-role-binding + release: {{ $root.Release.Name }} + heritage: {{ $root.Release.Service }} +subjects: + - kind: ServiceAccount + name: strimzi-cluster-operator + namespace: {{ $root.Release.Namespace }} +roleRef: + kind: ClusterRole + name: strimzi-topic-operator + apiGroup: rbac.authorization.k8s.io +{{- end }} +{{- end }} diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/040-Crd-kafka.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/040-Crd-kafka.yaml new file mode 100644 index 00000000..d2e72949 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/040-Crd-kafka.yaml @@ -0,0 +1,2123 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: kafkas.kafka.strimzi.io + labels: + app: '{{ template "strimzi.name" . }}' + chart: '{{ template "strimzi.chart" . }}' + component: kafkas.kafka.strimzi.io-crd + release: '{{ .Release.Name }}' + heritage: '{{ .Release.Service }}' + annotations: + "helm.sh/hook": crd-install + "helm.sh/hook-delete-policy": "before-hook-creation" +spec: + group: kafka.strimzi.io + version: v1alpha1 + scope: Namespaced + names: + kind: Kafka + listKind: KafkaList + singular: kafka + plural: kafkas + shortNames: + - k + validation: + openAPIV3Schema: + properties: + spec: + type: object + properties: + kafka: + type: object + properties: + replicas: + type: integer + minimum: 1 + image: + type: string + storage: + type: object + properties: + class: + type: string + deleteClaim: + type: boolean + id: + type: integer + minimum: 0 + selector: + type: object + size: + type: string + type: + type: string + enum: + - ephemeral + - persistent-claim + - jbod + volumes: + type: array + items: + type: object + properties: + class: + type: string + deleteClaim: + type: boolean + id: + type: integer + minimum: 0 + selector: + type: object + size: + type: string + type: + type: string + enum: + - ephemeral + - persistent-claim + required: + - type + required: + - type + listeners: + type: object + properties: + plain: + type: object + properties: + authentication: + type: object + properties: + type: + type: string + enum: + - tls + - scram-sha-512 + required: + - type + networkPolicyPeers: + type: array + items: + type: object + properties: + ipBlock: + type: object + properties: + cidr: + type: string + except: + type: array + items: + type: string + namespaceSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + podSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + tls: + type: object + properties: + authentication: + type: object + properties: + type: + type: string + enum: + - tls + - scram-sha-512 + required: + - type + networkPolicyPeers: + type: array + items: + type: object + properties: + ipBlock: + type: object + properties: + cidr: + type: string + except: + type: array + items: + type: string + namespaceSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + podSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + external: + type: object + properties: + authentication: + type: object + properties: + type: + type: string + enum: + - tls + - scram-sha-512 + required: + - type + networkPolicyPeers: + type: array + items: + type: object + properties: + ipBlock: + type: object + properties: + cidr: + type: string + except: + type: array + items: + type: string + namespaceSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + podSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + overrides: + type: object + properties: + bootstrap: + type: object + properties: + address: + type: string + nodePort: + type: integer + brokers: + type: array + items: + type: object + properties: + broker: + type: integer + advertisedHost: + type: string + advertisedPort: + type: integer + nodePort: + type: integer + tls: + type: boolean + type: + type: string + enum: + - route + - loadbalancer + - nodeport + required: + - type + authorization: + type: object + properties: + superUsers: + type: array + items: + type: string + type: + type: string + enum: + - simple + required: + - type + config: + type: object + rack: + type: object + properties: + topologyKey: + type: string + example: failure-domain.beta.kubernetes.io/zone + required: + - topologyKey + brokerRackInitImage: + type: string + affinity: + type: object + properties: + nodeAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + preference: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchFields: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: object + properties: + nodeSelectorTerms: + type: array + items: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchFields: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + podAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + podAffinityTerm: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + podAntiAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + podAffinityTerm: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + tolerations: + type: array + items: + type: object + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + type: integer + value: + type: string + livenessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + readinessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + jvmOptions: + type: object + properties: + -XX: + type: object + -Xms: + type: string + pattern: '[0-9]+[mMgG]?' + -Xmx: + type: string + pattern: '[0-9]+[mMgG]?' + gcLoggingEnabled: + type: boolean + resources: + type: object + properties: + limits: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + requests: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + metrics: + type: object + logging: + type: object + properties: + loggers: + type: object + name: + type: string + type: + type: string + enum: + - inline + - external + required: + - type + tlsSidecar: + type: object + properties: + image: + type: string + livenessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + logLevel: + type: string + enum: + - emerg + - alert + - crit + - err + - warning + - notice + - info + - debug + readinessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + resources: + type: object + properties: + limits: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + requests: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + template: + type: object + properties: + statefulset: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + pod: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + imagePullSecrets: + type: array + items: + type: object + properties: + name: + type: string + securityContext: + type: object + properties: + fsGroup: + type: integer + runAsGroup: + type: integer + runAsNonRoot: + type: boolean + runAsUser: + type: integer + seLinuxOptions: + type: object + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + supplementalGroups: + type: array + items: + type: integer + sysctls: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + terminationGracePeriodSeconds: + type: integer + minimum: 0 + bootstrapService: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + brokersService: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + externalBootstrapRoute: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + externalBootstrapService: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + perPodRoute: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + perPodService: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + podDisruptionBudget: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + maxUnavailable: + type: integer + minimum: 0 + version: + type: string + required: + - replicas + - storage + - listeners + zookeeper: + type: object + properties: + replicas: + type: integer + minimum: 1 + image: + type: string + storage: + type: object + properties: + class: + type: string + deleteClaim: + type: boolean + id: + type: integer + minimum: 0 + selector: + type: object + size: + type: string + type: + type: string + enum: + - ephemeral + - persistent-claim + required: + - type + config: + type: object + affinity: + type: object + properties: + nodeAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + preference: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchFields: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: object + properties: + nodeSelectorTerms: + type: array + items: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchFields: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + podAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + podAffinityTerm: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + podAntiAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + podAffinityTerm: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + tolerations: + type: array + items: + type: object + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + type: integer + value: + type: string + livenessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + readinessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + jvmOptions: + type: object + properties: + -XX: + type: object + -Xms: + type: string + pattern: '[0-9]+[mMgG]?' + -Xmx: + type: string + pattern: '[0-9]+[mMgG]?' + gcLoggingEnabled: + type: boolean + resources: + type: object + properties: + limits: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + requests: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + metrics: + type: object + logging: + type: object + properties: + loggers: + type: object + name: + type: string + type: + type: string + enum: + - inline + - external + required: + - type + tlsSidecar: + type: object + properties: + image: + type: string + livenessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + logLevel: + type: string + enum: + - emerg + - alert + - crit + - err + - warning + - notice + - info + - debug + readinessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + resources: + type: object + properties: + limits: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + requests: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + template: + type: object + properties: + statefulset: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + pod: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + imagePullSecrets: + type: array + items: + type: object + properties: + name: + type: string + securityContext: + type: object + properties: + fsGroup: + type: integer + runAsGroup: + type: integer + runAsNonRoot: + type: boolean + runAsUser: + type: integer + seLinuxOptions: + type: object + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + supplementalGroups: + type: array + items: + type: integer + sysctls: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + terminationGracePeriodSeconds: + type: integer + minimum: 0 + clientService: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + nodesService: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + podDisruptionBudget: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + maxUnavailable: + type: integer + minimum: 0 + required: + - replicas + - storage + topicOperator: + type: object + properties: + watchedNamespace: + type: string + image: + type: string + reconciliationIntervalSeconds: + type: integer + minimum: 0 + zookeeperSessionTimeoutSeconds: + type: integer + minimum: 0 + affinity: + type: object + properties: + nodeAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + preference: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchFields: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: object + properties: + nodeSelectorTerms: + type: array + items: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchFields: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + podAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + podAffinityTerm: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + podAntiAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + podAffinityTerm: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + resources: + type: object + properties: + limits: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + requests: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + topicMetadataMaxAttempts: + type: integer + minimum: 0 + tlsSidecar: + type: object + properties: + image: + type: string + livenessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + logLevel: + type: string + enum: + - emerg + - alert + - crit + - err + - warning + - notice + - info + - debug + readinessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + resources: + type: object + properties: + limits: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + requests: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + logging: + type: object + properties: + loggers: + type: object + name: + type: string + type: + type: string + enum: + - inline + - external + required: + - type + jvmOptions: + type: object + properties: + gcLoggingEnabled: + type: boolean + entityOperator: + type: object + properties: + topicOperator: + type: object + properties: + watchedNamespace: + type: string + image: + type: string + reconciliationIntervalSeconds: + type: integer + minimum: 0 + zookeeperSessionTimeoutSeconds: + type: integer + minimum: 0 + resources: + type: object + properties: + limits: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + requests: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + topicMetadataMaxAttempts: + type: integer + minimum: 0 + logging: + type: object + properties: + loggers: + type: object + name: + type: string + type: + type: string + enum: + - inline + - external + required: + - type + jvmOptions: + type: object + properties: + gcLoggingEnabled: + type: boolean + userOperator: + type: object + properties: + watchedNamespace: + type: string + image: + type: string + reconciliationIntervalSeconds: + type: integer + minimum: 0 + zookeeperSessionTimeoutSeconds: + type: integer + minimum: 0 + resources: + type: object + properties: + limits: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + requests: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + logging: + type: object + properties: + loggers: + type: object + name: + type: string + type: + type: string + enum: + - inline + - external + required: + - type + jvmOptions: + type: object + properties: + gcLoggingEnabled: + type: boolean + affinity: + type: object + properties: + nodeAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + preference: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchFields: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: object + properties: + nodeSelectorTerms: + type: array + items: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchFields: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + podAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + podAffinityTerm: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + podAntiAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + podAffinityTerm: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + tolerations: + type: array + items: + type: object + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + type: integer + value: + type: string + tlsSidecar: + type: object + properties: + image: + type: string + livenessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + logLevel: + type: string + enum: + - emerg + - alert + - crit + - err + - warning + - notice + - info + - debug + readinessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + resources: + type: object + properties: + limits: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + requests: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + template: + type: object + properties: + deployment: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + pod: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + imagePullSecrets: + type: array + items: + type: object + properties: + name: + type: string + securityContext: + type: object + properties: + fsGroup: + type: integer + runAsGroup: + type: integer + runAsNonRoot: + type: boolean + runAsUser: + type: integer + seLinuxOptions: + type: object + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + supplementalGroups: + type: array + items: + type: integer + sysctls: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + terminationGracePeriodSeconds: + type: integer + minimum: 0 + clusterCa: + type: object + properties: + generateCertificateAuthority: + type: boolean + validityDays: + type: integer + minimum: 1 + renewalDays: + type: integer + minimum: 1 + certificateExpirationPolicy: + type: string + enum: + - renew-certificate + - replace-key + clientsCa: + type: object + properties: + generateCertificateAuthority: + type: boolean + validityDays: + type: integer + minimum: 1 + renewalDays: + type: integer + minimum: 1 + certificateExpirationPolicy: + type: string + enum: + - renew-certificate + - replace-key + maintenanceTimeWindows: + type: array + items: + type: string + required: + - kafka + - zookeeper diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/041-Crd-kafkaconnect.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/041-Crd-kafkaconnect.yaml new file mode 100644 index 00000000..b08ac001 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/041-Crd-kafkaconnect.yaml @@ -0,0 +1,559 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: kafkaconnects.kafka.strimzi.io + labels: + app: '{{ template "strimzi.name" . }}' + chart: '{{ template "strimzi.chart" . }}' + component: kafkaconnects.kafka.strimzi.io-crd + release: '{{ .Release.Name }}' + heritage: '{{ .Release.Service }}' + annotations: + "helm.sh/hook": crd-install + "helm.sh/hook-delete-policy": "before-hook-creation" +spec: + group: kafka.strimzi.io + version: v1alpha1 + scope: Namespaced + names: + kind: KafkaConnect + listKind: KafkaConnectList + singular: kafkaconnect + plural: kafkaconnects + shortNames: + - kc + validation: + openAPIV3Schema: + properties: + spec: + type: object + properties: + replicas: + type: integer + image: + type: string + livenessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + readinessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + jvmOptions: + type: object + properties: + -XX: + type: object + -Xms: + type: string + pattern: '[0-9]+[mMgG]?' + -Xmx: + type: string + pattern: '[0-9]+[mMgG]?' + gcLoggingEnabled: + type: boolean + affinity: + type: object + properties: + nodeAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + preference: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchFields: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: object + properties: + nodeSelectorTerms: + type: array + items: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchFields: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + podAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + podAffinityTerm: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + podAntiAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + podAffinityTerm: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + tolerations: + type: array + items: + type: object + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + type: integer + value: + type: string + logging: + type: object + properties: + loggers: + type: object + name: + type: string + type: + type: string + enum: + - inline + - external + required: + - type + metrics: + type: object + template: + type: object + properties: + deployment: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + pod: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + imagePullSecrets: + type: array + items: + type: object + properties: + name: + type: string + securityContext: + type: object + properties: + fsGroup: + type: integer + runAsGroup: + type: integer + runAsNonRoot: + type: boolean + runAsUser: + type: integer + seLinuxOptions: + type: object + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + supplementalGroups: + type: array + items: + type: integer + sysctls: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + terminationGracePeriodSeconds: + type: integer + minimum: 0 + apiService: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + podDisruptionBudget: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + maxUnavailable: + type: integer + minimum: 0 + authentication: + type: object + properties: + certificateAndKey: + type: object + properties: + certificate: + type: string + key: + type: string + secretName: + type: string + required: + - certificate + - key + - secretName + passwordSecret: + type: object + properties: + password: + type: string + secretName: + type: string + required: + - password + - secretName + type: + type: string + enum: + - tls + - scram-sha-512 + username: + type: string + required: + - type + bootstrapServers: + type: string + config: + type: object + externalConfiguration: + type: object + properties: + env: + type: array + items: + type: object + properties: + name: + type: string + valueFrom: + type: object + properties: + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - name + - valueFrom + volumes: + type: array + items: + type: object + properties: + configMap: + type: object + properties: + defaultMode: + type: integer + items: + type: array + items: + type: object + properties: + key: + type: string + mode: + type: integer + path: + type: string + name: + type: string + optional: + type: boolean + name: + type: string + secret: + type: object + properties: + defaultMode: + type: integer + items: + type: array + items: + type: object + properties: + key: + type: string + mode: + type: integer + path: + type: string + optional: + type: boolean + secretName: + type: string + required: + - name + resources: + type: object + properties: + limits: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + requests: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + tls: + type: object + properties: + trustedCertificates: + type: array + items: + type: object + properties: + certificate: + type: string + secretName: + type: string + required: + - certificate + - secretName + required: + - trustedCertificates + version: + type: string + required: + - bootstrapServers diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/042-Crd-kafkaconnects2i.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/042-Crd-kafkaconnects2i.yaml new file mode 100644 index 00000000..0b95c7ef --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/042-Crd-kafkaconnects2i.yaml @@ -0,0 +1,561 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: kafkaconnects2is.kafka.strimzi.io + labels: + app: '{{ template "strimzi.name" . }}' + chart: '{{ template "strimzi.chart" . }}' + component: kafkaconnects2is.kafka.strimzi.io-crd + release: '{{ .Release.Name }}' + heritage: '{{ .Release.Service }}' + annotations: + "helm.sh/hook": crd-install + "helm.sh/hook-delete-policy": "before-hook-creation" +spec: + group: kafka.strimzi.io + version: v1alpha1 + scope: Namespaced + names: + kind: KafkaConnectS2I + listKind: KafkaConnectS2IList + singular: kafkaconnects2i + plural: kafkaconnects2is + shortNames: + - kcs2i + validation: + openAPIV3Schema: + properties: + spec: + type: object + properties: + replicas: + type: integer + image: + type: string + livenessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + readinessProbe: + type: object + properties: + initialDelaySeconds: + type: integer + minimum: 0 + timeoutSeconds: + type: integer + minimum: 0 + jvmOptions: + type: object + properties: + -XX: + type: object + -Xms: + type: string + pattern: '[0-9]+[mMgG]?' + -Xmx: + type: string + pattern: '[0-9]+[mMgG]?' + gcLoggingEnabled: + type: boolean + affinity: + type: object + properties: + nodeAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + preference: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchFields: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: object + properties: + nodeSelectorTerms: + type: array + items: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchFields: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + podAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + podAffinityTerm: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + podAntiAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + podAffinityTerm: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + logging: + type: object + properties: + loggers: + type: object + name: + type: string + type: + type: string + enum: + - inline + - external + required: + - type + metrics: + type: object + template: + type: object + properties: + deployment: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + pod: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + imagePullSecrets: + type: array + items: + type: object + properties: + name: + type: string + securityContext: + type: object + properties: + fsGroup: + type: integer + runAsGroup: + type: integer + runAsNonRoot: + type: boolean + runAsUser: + type: integer + seLinuxOptions: + type: object + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + supplementalGroups: + type: array + items: + type: integer + sysctls: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + terminationGracePeriodSeconds: + type: integer + minimum: 0 + apiService: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + podDisruptionBudget: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + maxUnavailable: + type: integer + minimum: 0 + authentication: + type: object + properties: + certificateAndKey: + type: object + properties: + certificate: + type: string + key: + type: string + secretName: + type: string + required: + - certificate + - key + - secretName + passwordSecret: + type: object + properties: + password: + type: string + secretName: + type: string + required: + - password + - secretName + type: + type: string + enum: + - tls + - scram-sha-512 + username: + type: string + required: + - type + bootstrapServers: + type: string + config: + type: object + externalConfiguration: + type: object + properties: + env: + type: array + items: + type: object + properties: + name: + type: string + valueFrom: + type: object + properties: + configMapKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + secretKeyRef: + type: object + properties: + key: + type: string + name: + type: string + optional: + type: boolean + required: + - name + - valueFrom + volumes: + type: array + items: + type: object + properties: + configMap: + type: object + properties: + defaultMode: + type: integer + items: + type: array + items: + type: object + properties: + key: + type: string + mode: + type: integer + path: + type: string + name: + type: string + optional: + type: boolean + name: + type: string + secret: + type: object + properties: + defaultMode: + type: integer + items: + type: array + items: + type: object + properties: + key: + type: string + mode: + type: integer + path: + type: string + optional: + type: boolean + secretName: + type: string + required: + - name + insecureSourceRepository: + type: boolean + resources: + type: object + properties: + limits: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + requests: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + tls: + type: object + properties: + trustedCertificates: + type: array + items: + type: object + properties: + certificate: + type: string + secretName: + type: string + required: + - certificate + - secretName + required: + - trustedCertificates + tolerations: + type: array + items: + type: object + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + type: integer + value: + type: string + version: + type: string + required: + - bootstrapServers diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/043-Crd-kafkatopic.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/043-Crd-kafkatopic.yaml new file mode 100644 index 00000000..69bf8efa --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/043-Crd-kafkatopic.yaml @@ -0,0 +1,44 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: kafkatopics.kafka.strimzi.io + labels: + app: '{{ template "strimzi.name" . }}' + chart: '{{ template "strimzi.chart" . }}' + component: kafkatopics.kafka.strimzi.io-crd + release: '{{ .Release.Name }}' + heritage: '{{ .Release.Service }}' + annotations: + "helm.sh/hook": crd-install + "helm.sh/hook-delete-policy": "before-hook-creation" +spec: + group: kafka.strimzi.io + version: v1alpha1 + scope: Namespaced + names: + kind: KafkaTopic + listKind: KafkaTopicList + singular: kafkatopic + plural: kafkatopics + shortNames: + - kt + validation: + openAPIV3Schema: + properties: + spec: + type: object + properties: + partitions: + type: integer + minimum: 1 + replicas: + type: integer + minimum: 1 + maximum: 32767 + config: + type: object + topicName: + type: string + required: + - partitions + - replicas diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/044-Crd-kafkauser.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/044-Crd-kafkauser.yaml new file mode 100644 index 00000000..2c0bd552 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/044-Crd-kafkauser.yaml @@ -0,0 +1,100 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: kafkausers.kafka.strimzi.io + labels: + app: '{{ template "strimzi.name" . }}' + chart: '{{ template "strimzi.chart" . }}' + component: kafkausers.kafka.strimzi.io-crd + release: '{{ .Release.Name }}' + heritage: '{{ .Release.Service }}' + annotations: + "helm.sh/hook": crd-install + "helm.sh/hook-delete-policy": "before-hook-creation" +spec: + group: kafka.strimzi.io + version: v1alpha1 + scope: Namespaced + names: + kind: KafkaUser + listKind: KafkaUserList + singular: kafkauser + plural: kafkausers + shortNames: + - ku + validation: + openAPIV3Schema: + properties: + spec: + type: object + properties: + authentication: + type: object + properties: + type: + type: string + enum: + - tls + - scram-sha-512 + required: + - type + authorization: + type: object + properties: + acls: + type: array + items: + type: object + properties: + host: + type: string + operation: + type: string + enum: + - Read + - Write + - Create + - Delete + - Alter + - Describe + - ClusterAction + - AlterConfigs + - DescribeConfigs + - IdempotentWrite + - All + resource: + type: object + properties: + name: + type: string + patternType: + type: string + enum: + - literal + - prefix + type: + type: string + enum: + - topic + - group + - cluster + - transactionalId + required: + - type + type: + type: string + enum: + - allow + - deny + required: + - operation + - resource + type: + type: string + enum: + - simple + required: + - acls + - type + required: + - authentication diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/045-Crd-kafkamirrormaker.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/045-Crd-kafkamirrormaker.yaml new file mode 100644 index 00000000..eeefe116 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/045-Crd-kafkamirrormaker.yaml @@ -0,0 +1,526 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: kafkamirrormakers.kafka.strimzi.io + labels: + app: '{{ template "strimzi.name" . }}' + chart: '{{ template "strimzi.chart" . }}' + component: kafkamirrormakers.kafka.strimzi.io-crd + release: '{{ .Release.Name }}' + heritage: '{{ .Release.Service }}' + annotations: + "helm.sh/hook": crd-install + "helm.sh/hook-delete-policy": "before-hook-creation" +spec: + group: kafka.strimzi.io + version: v1alpha1 + scope: Namespaced + names: + kind: KafkaMirrorMaker + listKind: KafkaMirrorMakerList + singular: kafkamirrormaker + plural: kafkamirrormakers + shortNames: + - kmm + validation: + openAPIV3Schema: + properties: + spec: + type: object + properties: + replicas: + type: integer + minimum: 1 + image: + type: string + whitelist: + type: string + consumer: + type: object + properties: + numStreams: + type: integer + minimum: 1 + groupId: + type: string + bootstrapServers: + type: string + authentication: + type: object + properties: + certificateAndKey: + type: object + properties: + certificate: + type: string + key: + type: string + secretName: + type: string + required: + - certificate + - key + - secretName + passwordSecret: + type: object + properties: + password: + type: string + secretName: + type: string + required: + - password + - secretName + type: + type: string + enum: + - tls + - scram-sha-512 + username: + type: string + required: + - type + config: + type: object + tls: + type: object + properties: + trustedCertificates: + type: array + items: + type: object + properties: + certificate: + type: string + secretName: + type: string + required: + - certificate + - secretName + required: + - trustedCertificates + required: + - groupId + - bootstrapServers + producer: + type: object + properties: + bootstrapServers: + type: string + authentication: + type: object + properties: + certificateAndKey: + type: object + properties: + certificate: + type: string + key: + type: string + secretName: + type: string + required: + - certificate + - key + - secretName + passwordSecret: + type: object + properties: + password: + type: string + secretName: + type: string + required: + - password + - secretName + type: + type: string + enum: + - tls + - scram-sha-512 + username: + type: string + required: + - type + config: + type: object + tls: + type: object + properties: + trustedCertificates: + type: array + items: + type: object + properties: + certificate: + type: string + secretName: + type: string + required: + - certificate + - secretName + required: + - trustedCertificates + required: + - bootstrapServers + resources: + type: object + properties: + limits: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + requests: + type: object + properties: + cpu: + type: string + pattern: '[0-9]+m?$' + memory: + type: string + pattern: '[0-9]+([kKmMgGtTpPeE]i?)?$' + affinity: + type: object + properties: + nodeAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + preference: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchFields: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: object + properties: + nodeSelectorTerms: + type: array + items: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchFields: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + podAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + podAffinityTerm: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + podAntiAffinity: + type: object + properties: + preferredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + podAffinityTerm: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + weight: + type: integer + requiredDuringSchedulingIgnoredDuringExecution: + type: array + items: + type: object + properties: + labelSelector: + type: object + properties: + matchExpressions: + type: array + items: + type: object + properties: + key: + type: string + operator: + type: string + values: + type: array + items: + type: string + matchLabels: + type: object + namespaces: + type: array + items: + type: string + topologyKey: + type: string + tolerations: + type: array + items: + type: object + properties: + effect: + type: string + key: + type: string + operator: + type: string + tolerationSeconds: + type: integer + value: + type: string + jvmOptions: + type: object + properties: + -XX: + type: object + -Xms: + type: string + pattern: '[0-9]+[mMgG]?' + -Xmx: + type: string + pattern: '[0-9]+[mMgG]?' + gcLoggingEnabled: + type: boolean + logging: + type: object + properties: + loggers: + type: object + name: + type: string + type: + type: string + enum: + - inline + - external + required: + - type + metrics: + type: object + template: + type: object + properties: + deployment: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + pod: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + imagePullSecrets: + type: array + items: + type: object + properties: + name: + type: string + securityContext: + type: object + properties: + fsGroup: + type: integer + runAsGroup: + type: integer + runAsNonRoot: + type: boolean + runAsUser: + type: integer + seLinuxOptions: + type: object + properties: + level: + type: string + role: + type: string + type: + type: string + user: + type: string + supplementalGroups: + type: array + items: + type: integer + sysctls: + type: array + items: + type: object + properties: + name: + type: string + value: + type: string + terminationGracePeriodSeconds: + type: integer + minimum: 0 + podDisruptionBudget: + type: object + properties: + metadata: + type: object + properties: + labels: + type: object + annotations: + type: object + maxUnavailable: + type: integer + minimum: 0 + version: + type: string + required: + - replicas + - whitelist + - consumer + - producer diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/050-Deployment-strimzi-cluster-operator.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/050-Deployment-strimzi-cluster-operator.yaml new file mode 100644 index 00000000..2f9b570d --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/050-Deployment-strimzi-cluster-operator.yaml @@ -0,0 +1,74 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: strimzi-cluster-operator + labels: + app: {{ template "strimzi.name" . }} + chart: {{ template "strimzi.chart" . }} + component: deployment + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: 1 + template: + metadata: + labels: + name: strimzi-cluster-operator + spec: + serviceAccountName: strimzi-cluster-operator + containers: + - name: strimzi-cluster-operator + image: {{ default .Values.image.repository .Values.imageRepositoryOverride }}/{{ .Values.image.name }}:{{ default .Values.image.tag .Values.imageTagOverride }} + imagePullPolicy: {{ .Values.image.imagePullPolicy | quote }} + env: + - name: STRIMZI_NAMESPACE + {{- if .Values.watchNamespaces -}} + {{- $ns := .Values.watchNamespaces -}} + {{- if has "*" $ns }} + value: "*" + {{- else -}} + {{- $ns := append $ns .Release.Namespace }} + value: "{{ join "," $ns }}" + {{- end }} + {{- else }} + valueFrom: + fieldRef: + fieldPath: metadata.namespace + {{- end }} + - name: STRIMZI_FULL_RECONCILIATION_INTERVAL_MS + value: {{ .Values.fullReconciliationIntervalMs | quote }} + - name: STRIMZI_OPERATION_TIMEOUT_MS + value: {{ .Values.operationTimeoutMs | quote }} + - name: STRIMZI_DEFAULT_ZOOKEEPER_IMAGE + value: "{{ default .Values.zookeeper.image.repository .Values.imageRepositoryOverride }}/{{ .Values.zookeeper.image.name }}:{{ default .Values.zookeeper.image.tag .Values.imageTagOverride }}-kafka-2.0.0" + {{- template "strimzi.kafka.image.map" . }} + - name: STRIMZI_DEFAULT_TOPIC_OPERATOR_IMAGE + value: "{{ default .Values.topicOperator.image.repository .Values.imageRepositoryOverride }}/{{ .Values.topicOperator.image.name }}:{{ default .Values.topicOperator.image.tag .Values.imageTagOverride }}" + - name: STRIMZI_DEFAULT_USER_OPERATOR_IMAGE + value: "{{ default .Values.userOperator.image.repository .Values.imageRepositoryOverride }}/{{ .Values.userOperator.image.name }}:{{ default .Values.userOperator.image.tag .Values.imageTagOverride }}" + - name: STRIMZI_DEFAULT_KAFKA_INIT_IMAGE + value: "{{ default .Values.kafkaInit.image.repository .Values.imageRepositoryOverride }}/{{ .Values.kafkaInit.image.name }}:{{ default .Values.kafkaInit.image.tag .Values.imageTagOverride }}" + - name: STRIMZI_DEFAULT_TLS_SIDECAR_ZOOKEEPER_IMAGE + value: "{{ default .Values.tlsSidecarZookeeper.image.repository .Values.imageRepositoryOverride }}/{{ .Values.tlsSidecarZookeeper.image.name }}:{{ default .Values.tlsSidecarZookeeper.image.tag .Values.imageTagOverride }}" + - name: STRIMZI_DEFAULT_TLS_SIDECAR_KAFKA_IMAGE + value: "{{ default .Values.tlsSidecarKafka.image.repository .Values.imageRepositoryOverride }}/{{ .Values.tlsSidecarKafka.image.name }}:{{ default .Values.tlsSidecarKafka.image.tag .Values.imageTagOverride }}" + - name: STRIMZI_DEFAULT_TLS_SIDECAR_ENTITY_OPERATOR_IMAGE + value: "{{ default .Values.tlsSidecarEntityOperator.image.repository .Values.imageRepositoryOverride }}/{{ .Values.tlsSidecarEntityOperator.image.name }}:{{ default .Values.tlsSidecarEntityOperator.image.tag .Values.imageTagOverride }}" + - name: STRIMZI_LOG_LEVEL + value: {{ .Values.logLevel | quote }} + livenessProbe: + httpGet: + path: /healthy + port: 8080 + initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.livenessProbe.periodSeconds }} + readinessProbe: + httpGet: + path: /ready + port: 8080 + initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }} + periodSeconds: {{ .Values.readinessProbe.periodSeconds }} + resources: +{{ toYaml .Values.resources | indent 12 }} + strategy: + type: Recreate diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/NOTES.txt b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/NOTES.txt new file mode 100644 index 00000000..b49a9787 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/NOTES.txt @@ -0,0 +1,5 @@ +Thank you for installing {{ .Chart.Name }}-{{ .Chart.Version }} + +To create a Kafka cluster refer to the following documentation. + +http://strimzi.io/docs/{{ .Chart.Version }}/#kafka-cluster-str diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/_helpers.tpl b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/_helpers.tpl new file mode 100644 index 00000000..c2aac512 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/_helpers.tpl @@ -0,0 +1,49 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "strimzi.name" -}} +{{- default "strimzi" .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 "strimzi.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 "strimzi.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Generate a docker registry prefix or empty string. + +NOTE: Not currently being used. Is this useful? +*/}} +{{- define "dockerRegistryOverride" -}} +{{- if .Values.dockerRegistryOverride -}} +{{- printf "%s/" .Values.image.dockerRegistry -}} +{{- else -}} +{{- "" -}} +{{- end -}} +{{- end -}} + +{{- define "imageRepositoryOverride" -}} +{{- .Values.imageRepositoryOverride -}} +{{- end -}} diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/_kafka_image_map.tpl b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/_kafka_image_map.tpl new file mode 100644 index 00000000..fa22632e --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/_kafka_image_map.tpl @@ -0,0 +1,28 @@ +{{/* vim: set filetype=mustache: */}} + +{{/* This file is generated in helm-charts/Makefile */}} +{{/* DO NOT EDIT BY HAND */}} + +{{/* Generate the kafka image map */}} +{{- define "strimzi.kafka.image.map" }} + - name: STRIMZI_KAFKA_IMAGES + value: | + 2.0.0={{ default .Values.kafka.image.repository .Values.imageRepositoryOverride }}/{{ .Values.kafka.image.name }}:{{ default .Values.kafka.image.tagPrefix .Values.imageTagOverride }}-kafka-2.0.0 + 2.0.1={{ default .Values.kafka.image.repository .Values.imageRepositoryOverride }}/{{ .Values.kafka.image.name }}:{{ default .Values.kafka.image.tagPrefix .Values.imageTagOverride }}-kafka-2.0.1 + 2.1.0={{ default .Values.kafka.image.repository .Values.imageRepositoryOverride }}/{{ .Values.kafka.image.name }}:{{ default .Values.kafka.image.tagPrefix .Values.imageTagOverride }}-kafka-2.1.0 + - name: STRIMZI_KAFKA_CONNECT_IMAGES + value: | + 2.0.0={{ default .Values.kafkaConnect.image.repository .Values.imageRepositoryOverride }}/{{ .Values.kafkaConnect.image.name }}:{{ default .Values.kafkaConnect.image.tagPrefix .Values.imageTagOverride }}-kafka-2.0.0 + 2.0.1={{ default .Values.kafkaConnect.image.repository .Values.imageRepositoryOverride }}/{{ .Values.kafkaConnect.image.name }}:{{ default .Values.kafkaConnect.image.tagPrefix .Values.imageTagOverride }}-kafka-2.0.1 + 2.1.0={{ default .Values.kafkaConnect.image.repository .Values.imageRepositoryOverride }}/{{ .Values.kafkaConnect.image.name }}:{{ default .Values.kafkaConnect.image.tagPrefix .Values.imageTagOverride }}-kafka-2.1.0 + - name: STRIMZI_KAFKA_CONNECT_S2I_IMAGES + value: | + 2.0.0={{ default .Values.kafkaConnects2i.image.repository .Values.imageRepositoryOverride }}/{{ .Values.kafkaConnects2i.image.name }}:{{ default .Values.kafkaConnects2i.image.tagPrefix .Values.imageTagOverride }}-kafka-2.0.0 + 2.0.1={{ default .Values.kafkaConnects2i.image.repository .Values.imageRepositoryOverride }}/{{ .Values.kafkaConnects2i.image.name }}:{{ default .Values.kafkaConnects2i.image.tagPrefix .Values.imageTagOverride }}-kafka-2.0.1 + 2.1.0={{ default .Values.kafkaConnects2i.image.repository .Values.imageRepositoryOverride }}/{{ .Values.kafkaConnects2i.image.name }}:{{ default .Values.kafkaConnects2i.image.tagPrefix .Values.imageTagOverride }}-kafka-2.1.0 + - name: STRIMZI_KAFKA_MIRROR_MAKER_IMAGES + value: | + 2.0.0={{ default .Values.kafkaMirrorMaker.image.repository .Values.imageRepositoryOverride }}/{{ .Values.kafkaMirrorMaker.image.name }}:{{ default .Values.kafkaMirrorMaker.image.tagPrefix .Values.imageTagOverride }}-kafka-2.0.0 + 2.0.1={{ default .Values.kafkaMirrorMaker.image.repository .Values.imageRepositoryOverride }}/{{ .Values.kafkaMirrorMaker.image.name }}:{{ default .Values.kafkaMirrorMaker.image.tagPrefix .Values.imageTagOverride }}-kafka-2.0.1 + 2.1.0={{ default .Values.kafkaMirrorMaker.image.repository .Values.imageRepositoryOverride }}/{{ .Values.kafkaMirrorMaker.image.name }}:{{ default .Values.kafkaMirrorMaker.image.tagPrefix .Values.imageTagOverride }}-kafka-2.1.0 +{{- end -}} diff --git a/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/values.yaml b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/values.yaml new file mode 100644 index 00000000..74a7c581 --- /dev/null +++ b/vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/values.yaml @@ -0,0 +1,89 @@ +# Default values for strimzi-kafka-operator. + +watchNamespaces: + - "*" + +image: + repository: strimzi + name: cluster-operator + tag: 0.11.0 + imagePullPolicy: IfNotPresent +logLevel: INFO +fullReconciliationIntervalMs: 120000 +operationTimeoutMs: 300000 +# Docker images that operator uses to provision various components of Strimzi. To use your own registry prefix the +# repository name with your registry URL. +# Ex) repository: registry.xyzcorp.com/strimzi/zookeeper +zookeeper: + image: + repository: strimzi + name: zookeeper + tag: 0.11.0 +kafka: + image: + repository: strimzi + name: kafka + tagPrefix: 0.11.0 +kafkaConnect: + image: + repository: strimzi + name: kafka-connect + tagPrefix: 0.11.0 +kafkaConnects2i: + image: + repository: strimzi + name: kafka-connect-s2i + tagPrefix: 0.11.0 +topicOperator: + image: + repository: strimzi + name: topic-operator + tag: 0.11.0 +userOperator: + image: + repository: strimzi + name: user-operator + tag: 0.11.0 +kafkaInit: + image: + repository: strimzi + name: kafka-init + tag: 0.11.0 +tlsSidecarZookeeper: + image: + repository: strimzi + name: zookeeper-stunnel + tag: 0.11.0 +tlsSidecarKafka: + image: + repository: strimzi + name: kafka-stunnel + tag: 0.11.0 +tlsSidecarEntityOperator: + image: + repository: strimzi + name: entity-operator-stunnel + tag: 0.11.0 +kafkaMirrorMaker: + image: + repository: strimzi + name: kafka-mirror-maker + tagPrefix: 0.11.0 +resources: + limits: + memory: 256Mi + cpu: 1000m + requests: + memory: 256Mi + cpu: 200m +livenessProbe: + initialDelaySeconds: 10 + periodSeconds: 30 +readinessProbe: + initialDelaySeconds: 10 + periodSeconds: 30 + +# Override the docker image repository used by all Strimzi images +# imageRepositoryOverride: foobar +# Override the docker image tag used by all Strimzi images +# imageTagOverride: latest |