From 3d5a3e06530c1250d48f7d838c619f3bfbcd019d Mon Sep 17 00:00:00 2001 From: Dileep Ranganathan Date: Thu, 30 May 2019 12:38:37 -0700 Subject: 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 --- ...10-ServiceAccount-strimzi-cluster-operator.yaml | 10 + ...-ClusterRole-strimzi-cluster-operator-role.yaml | 259 +++ .../020-RoleBinding-strimzi-cluster-operator.yaml | 25 + ...-ClusterRole-strimzi-cluster-operator-role.yaml | 21 + ...lusterRoleBinding-strimzi-cluster-operator.yaml | 18 + .../030-ClusterRole-strimzi-kafka-broker.yaml | 17 + ...i-cluster-operator-kafka-broker-delegation.yaml | 18 + .../031-ClusterRole-strimzi-entity-operator.yaml | 52 + ...luster-operator-entity-operator-delegation.yaml | 25 + .../032-ClusterRole-strimzi-topic-operator.yaml | 29 + ...cluster-operator-topic-operator-delegation.yaml | 25 + .../templates/040-Crd-kafka.yaml | 2123 ++++++++++++++++++++ .../templates/041-Crd-kafkaconnect.yaml | 559 ++++++ .../templates/042-Crd-kafkaconnects2i.yaml | 561 ++++++ .../templates/043-Crd-kafkatopic.yaml | 44 + .../templates/044-Crd-kafkauser.yaml | 100 + .../templates/045-Crd-kafkamirrormaker.yaml | 526 +++++ .../050-Deployment-strimzi-cluster-operator.yaml | 74 + .../strimzi-kafka-operator/templates/NOTES.txt | 5 + .../strimzi-kafka-operator/templates/_helpers.tpl | 49 + .../templates/_kafka_image_map.tpl | 28 + 21 files changed, 4568 insertions(+) create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/010-ServiceAccount-strimzi-cluster-operator.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/020-ClusterRole-strimzi-cluster-operator-role.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/020-RoleBinding-strimzi-cluster-operator.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/021-ClusterRole-strimzi-cluster-operator-role.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/021-ClusterRoleBinding-strimzi-cluster-operator.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/030-ClusterRole-strimzi-kafka-broker.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/030-ClusterRoleBinding-strimzi-cluster-operator-kafka-broker-delegation.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/031-ClusterRole-strimzi-entity-operator.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/031-RoleBinding-strimzi-cluster-operator-entity-operator-delegation.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/032-ClusterRole-strimzi-topic-operator.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/032-RoleBinding-strimzi-cluster-operator-topic-operator-delegation.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/040-Crd-kafka.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/041-Crd-kafkaconnect.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/042-Crd-kafkaconnects2i.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/043-Crd-kafkatopic.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/044-Crd-kafkauser.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/045-Crd-kafkamirrormaker.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/050-Deployment-strimzi-cluster-operator.yaml create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/NOTES.txt create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/_helpers.tpl create mode 100644 vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates/_kafka_image_map.tpl (limited to 'vnfs/DAaaS/deploy/messaging/charts/strimzi-kafka-operator/templates') 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 -}} -- cgit 1.2.3-korg