├── .gitignore ├── .travis.yml ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── charts ├── .gitignore ├── azure-persistent-volume-claims-disk │ ├── Chart.yaml │ ├── templates │ │ └── persistent-volume-claims.yaml │ └── values.yaml ├── azure-persistent-volume-claims-file │ ├── Chart.yaml │ ├── templates │ │ └── persistent-volume-claims.yaml │ └── values.yaml ├── azure-persistent-volumes-file │ ├── Chart.yaml │ ├── templates │ │ └── persistent-volumes.yaml │ └── values.yaml ├── azure-storage-class │ ├── .helmignore │ ├── Chart.yaml │ ├── templates │ │ └── storage-class.yaml │ └── values.yaml ├── kafka-connect-blockchain-source │ ├── .helmignore │ ├── Chart.yaml │ ├── ci │ │ ├── deployment.yaml │ │ └── values.yaml │ ├── coyote.yml.old │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-bloomberg-source │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-cassandra-sink │ ├── .helmignore │ ├── Chart.yaml │ ├── ci │ │ ├── cassandra │ │ │ └── Dockerfile │ │ ├── deployment.yaml │ │ ├── producer.sh │ │ └── values.yaml │ ├── coyote.yml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-cassandra-source │ ├── .helmignore │ ├── Chart.yaml │ ├── ci │ │ ├── cassandra │ │ │ └── Dockerfile │ │ ├── deployment.yaml │ │ └── values.yaml │ ├── coyote.yml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-coap-sink │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-coap-source │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-documentdb-sink │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-druid-sink │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-elastic-sink │ ├── .helmignore │ ├── Chart.yaml │ ├── ci │ │ ├── deployment.yaml │ │ ├── producer.sh │ │ └── values.yaml │ ├── coyote.yml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-elastic5-sink │ ├── .helmignore │ ├── Chart.yaml │ ├── ci │ │ ├── deployment.yaml │ │ ├── producer.sh │ │ └── values.yaml │ ├── coyote.yml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-elastic6-sink │ ├── .helmignore │ ├── Chart.yaml │ ├── ci │ │ ├── deployment.yaml │ │ ├── producer.sh │ │ └── values.yaml │ ├── coyote.yml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-ftp-source │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-hazelcast-sink │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-hbase-sink │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-hive-sink │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-hive-source │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-influx-sink │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-jms-sink │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-jms-source │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-kudu-sink │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-mongo-sink │ ├── .helmignore │ ├── Chart.yaml │ ├── ci │ │ ├── deployment.yaml │ │ ├── producer.sh │ │ └── values.yaml │ ├── coyote.yml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-mqtt-sink │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-mqtt-source │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-pulsar-sink │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-pulsar-source │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-redis-sink │ ├── .helmignore │ ├── Chart.yaml │ ├── ci │ │ ├── deployment.yaml │ │ ├── producer.sh │ │ └── values.yaml │ ├── coyote.yml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-rethink-sink │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-rethink-source │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-connect-volt-sink │ ├── Chart.yaml │ ├── templates │ │ ├── _helper.tpl │ │ ├── configmap.yaml │ │ ├── deployment.yaml │ │ ├── kafka-secrets.yaml │ │ ├── secret.yaml │ │ └── service-headless.yaml │ └── values.yaml ├── kafka-secrets │ ├── Chart.yaml │ ├── templates │ │ └── secrets.yaml │ └── values.yaml ├── services-external-name │ ├── .helmignore │ ├── Chart.yaml │ ├── templates │ │ └── services-external-name.yaml │ └── values.yaml └── services │ ├── Chart.yaml │ ├── templates │ ├── _helper.tpl │ ├── endpoints.yaml │ └── services.yaml │ └── values.yaml ├── docs ├── _config.yml ├── azure-persistent-volume-claims-disk-0.0.2.tgz ├── azure-persistent-volume-claims-file-0.0.2.tgz ├── azure-persistent-volumes-file-0.0.2.tgz ├── azure-storage-class-0.0.2.tgz ├── index.html ├── index.yaml ├── kafka-connect-blockchain-source-1.7.tgz ├── kafka-connect-bloomberg-source-1.7.tgz ├── kafka-connect-cassandra-sink-1.7.1.tgz ├── kafka-connect-cassandra-source-1.7.tgz ├── kafka-connect-coap-sink-1.7.tgz ├── kafka-connect-coap-source-1.7.tgz ├── kafka-connect-documentdb-sink-1.7.tgz ├── kafka-connect-druid-sink-1.7.tgz ├── kafka-connect-elastic-sink-1.7.tgz ├── kafka-connect-elastic5-sink-1.7.tgz ├── kafka-connect-elastic6-sink-1.7.tgz ├── kafka-connect-ftp-source-1.7.tgz ├── kafka-connect-hazelcast-sink-1.7.tgz ├── kafka-connect-hbase-sink-1.7.tgz ├── kafka-connect-hive-sink-1.7.1.tgz ├── kafka-connect-hive-source-1.7.1.tgz ├── kafka-connect-influx-sink-1.7.tgz ├── kafka-connect-jms-sink-1.7.tgz ├── kafka-connect-jms-source-1.7.tgz ├── kafka-connect-kudu-sink-1.7.tgz ├── kafka-connect-mongo-sink-1.7.tgz ├── kafka-connect-mqtt-sink-1.7.tgz ├── kafka-connect-mqtt-source-1.7.tgz ├── kafka-connect-pulsar-sink-1.7.tgz ├── kafka-connect-pulsar-source-1.7.tgz ├── kafka-connect-redis-sink-1.7.tgz ├── kafka-connect-rethink-sink-1.7.tgz ├── kafka-connect-rethink-source-1.7.tgz ├── kafka-connect-volt-sink-1.7.tgz ├── kafka-secrets-0.0.2.tgz ├── lenses-2.2.14.tgz ├── lenses-sql-processor-runner-2.2.0.tgz ├── services-0.2.0.tgz └── services-external-name-0.2.0.tgz ├── key.gpg.enc ├── package.sh └── scripts ├── ci-test.sh └── lint.sh /.gitignore: -------------------------------------------------------------------------------- 1 | packages 2 | .vscode 3 | .idea 4 | landoop 5 | *.compare 6 | .history/ 7 | *.gpg 8 | build/ 9 | charts/*/coyote.html -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | dist: xenial 3 | go: 4 | - go1.13 5 | 6 | sudo: required 7 | install: true 8 | 9 | env: 10 | - CHANGE_MINIKUBE_NONE_USER=true 11 | 12 | before_install: 13 | - make before_install 14 | 15 | before_script: 16 | - make before_script 17 | 18 | script: 19 | - make script 20 | 21 | deploy: 22 | - provider: script 23 | script: make deploy 24 | on: 25 | branch: master 26 | - provider: pages 27 | local-dir: build 28 | skip-cleanup: true 29 | keep-history: true 30 | github-token: $GITHUB_TOKEN 31 | committer-from-gh: true 32 | on: 33 | branch: master -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: before_install before_script script deploy 2 | 3 | before_install: 4 | openssl aes-256-cbc -k "$(HELM_KEY_PASSPHRASE)" -in key.gpg.enc -out key.gpg -d 5 | 6 | before_script: 7 | sudo apt-get update 8 | sudo apt-get install -y socat 9 | go get -u github.com/landoop/coyote 10 | sudo mount --make-rshared / 11 | curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/v1.17.3/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/ 12 | curl -Lo minikube https://storage.googleapis.com/minikube/releases/v1.6.2/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/ 13 | sudo minikube start --vm-driver=none --bootstrapper=kubeadm --kubernetes-version=v1.17.0 --memory 4096 14 | minikube update-context 15 | until kubectl get nodes -o jsonpath='{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.type}={@.status};{end}{end}' 2>&1 | grep -q "Ready=True"; do sleep 1; done 16 | curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh 17 | chmod 700 get_helm.sh 18 | sudo ./get_helm.sh 19 | rm get_helm.sh 20 | 21 | script: 22 | # Linting Helms 23 | ./scripts/lint.sh 24 | # Testing Helms 25 | kubectl cluster-info 26 | until kubectl -n kube-system get pods -lcomponent=kube-addon-manager -o jsonpath='{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.type}={@.status};{end}{end}' 2>&1 | grep -q "Ready=True"; do sleep 1;echo "waiting for kube-addon-manager to be available"; kubectl get pods --all-namespaces; done 27 | until kubectl -n kube-system get pods -lk8s-app=kube-dns -o jsonpath='{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.type}={@.status};{end}{end}' 2>&1 | grep -q "Ready=True"; do sleep 1;echo "waiting for kube-dns to be available"; kubectl get pods --all-namespaces; done 28 | helm init 29 | until kubectl -n kube-system get pods -lname=tiller -o jsonpath='{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.type}={@.status};{end}{end}' 2>&1 | grep -q "Ready=True"; do sleep 1;echo "waiting for tiller to be available"; kubectl get pods --all-namespaces; done 30 | #./scripts/ci-test.sh 31 | 32 | deploy: 33 | ./package.sh 34 | -------------------------------------------------------------------------------- /charts/.gitignore: -------------------------------------------------------------------------------- 1 | /*.yaml 2 | packages -------------------------------------------------------------------------------- /charts/azure-persistent-volume-claims-disk/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart containing the persistent volumes for azure 3 | name: azure-persistent-volume-claims-disk 4 | version: 0.0.2 5 | -------------------------------------------------------------------------------- /charts/azure-persistent-volume-claims-disk/templates/persistent-volume-claims.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: "v1" 3 | kind: PersistentVolumeClaim 4 | metadata: 5 | name: {{ .Values.name | quote }} 6 | spec: 7 | storageClassName: {{ .Values.storageClassName | quote }} 8 | accessModes: 9 | - {{ .Values.accessMode | quote }} 10 | resources: 11 | requests: 12 | storage: {{ .Values.capacity | quote }} 13 | # selector: 14 | # matchLabels: 15 | # pvc : {{ .Values.name | quote }} -------------------------------------------------------------------------------- /charts/azure-persistent-volume-claims-disk/values.yaml: -------------------------------------------------------------------------------- 1 | name: "__REQUIRED__" 2 | # storageClass name of the storage class 3 | storageClassName: "__REQUIRED__" 4 | # capacity of the storage e.g. 10Gi 5 | capacity: "__REQUIRED__" 6 | # Access mode, read and write from many pods, needs to match the volume spec 7 | accessMode: "ReadWriteMany" -------------------------------------------------------------------------------- /charts/azure-persistent-volume-claims-file/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart containing the persistent volumes for azure 3 | name: azure-persistent-volume-claims-file 4 | version: 0.0.2 5 | -------------------------------------------------------------------------------- /charts/azure-persistent-volume-claims-file/templates/persistent-volume-claims.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: "v1" 3 | kind: PersistentVolumeClaim 4 | metadata: 5 | name: {{ .Values.name | quote }} 6 | spec: 7 | storageClassName: {{ .Values.storageClassName | quote }} 8 | accessModes: 9 | - {{ .Values.accessMode | quote }} 10 | resources: 11 | requests: 12 | storage: {{ .Values.capacity | quote }} 13 | # selector: 14 | # matchLabels: 15 | # pvc : {{ .Values.name | quote }} -------------------------------------------------------------------------------- /charts/azure-persistent-volume-claims-file/values.yaml: -------------------------------------------------------------------------------- 1 | name: "__REQUIRED__" 2 | # storageClass name of the storage class 3 | storageClassName: "__REQUIRED__" 4 | # capacity of the storage e.g. 10Gi 5 | capacity: "__REQUIRED__" 6 | # Access mode, read and write from many pods, needs to match the volume spec 7 | accessMode: "ReadWriteMany" -------------------------------------------------------------------------------- /charts/azure-persistent-volumes-file/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart containing the persistent volume claims for azure 3 | name: azure-persistent-volumes-file 4 | version: 0.0.2 5 | -------------------------------------------------------------------------------- /charts/azure-persistent-volumes-file/templates/persistent-volumes.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: "v1" 3 | kind: "PersistentVolume" 4 | metadata: 5 | name: {{ .Values.name | quote }} 6 | labels: 7 | pvc: {{ .Values.persistentVolumeClaimLabel }} 8 | spec: 9 | storageClassName: {{ .Values.storageClassName | quote }} 10 | capacity: 11 | storage: {{ .Values.capacity | quote }} 12 | accessModes: 13 | - {{ .Values.accessMode | quote }} 14 | azureFile: 15 | secretName: {{ .Values.secretsRef | quote }} 16 | shareName: {{ .Values.azureFile.shareName | quote }} 17 | readOnly: {{ .Values.azureFile.readOnly }} -------------------------------------------------------------------------------- /charts/azure-persistent-volumes-file/values.yaml: -------------------------------------------------------------------------------- 1 | # secretRef for the landscaper 2 | secretsRef: 3 | # persistentVolumeClaim label for pvc to find and bind to 4 | persistentVolumeClaimLabel: "__REQUIRED__" 5 | name: "__REQUIRED__" 6 | # storageClass name of the storage class 7 | storageClassName: "__REQUIRED__" 8 | # capacity of the storage e.g. 10Gi 9 | capacity: "__REQUIRED__" 10 | # Access mode, read and write from many pods 11 | accessMode: "ReadWriteMany" 12 | # accesMode Conditional Azure file configuration if secretsRef is set. Secret name is the secrets reference provided by the landscaper 13 | azureFile: 14 | shareName: "__REQUIRED__" 15 | readOnly: false -------------------------------------------------------------------------------- /charts/azure-storage-class/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | 23 | -------------------------------------------------------------------------------- /charts/azure-storage-class/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart containing the storage class for azure 3 | name: azure-storage-class 4 | version: 0.0.2 5 | 6 | -------------------------------------------------------------------------------- /charts/azure-storage-class/templates/storage-class.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | apiVersion: storage.k8s.io/v1 3 | kind: StorageClass 4 | metadata: 5 | name: {{ .Values.name }} 6 | provisioner: {{ .Values.provisioner }} 7 | parameters: 8 | skuName: {{ .Values.parameters.skuName }} 9 | location: {{ .Values.parameters.location }} 10 | storageAccount: {{ .Values.parameters.storageAccount }} 11 | 12 | -------------------------------------------------------------------------------- /charts/azure-storage-class/values.yaml: -------------------------------------------------------------------------------- 1 | # Name of the storage class for reference by volumes and claims 2 | name: "__REQUIRED__" 3 | # Provisioner type, disk or fil 4 | provisioner: "__REQUIRED__" 5 | parameters: 6 | # Azure SKU .e.g. 7 | skuName: "Standard_LRS" 8 | location: "westeurope" 9 | storageAccount: "__REQUIRED__" 10 | 11 | -------------------------------------------------------------------------------- /charts/kafka-connect-blockchain-source/.helmignore: -------------------------------------------------------------------------------- 1 | ci/ 2 | coyote.* 3 | .DS_Store -------------------------------------------------------------------------------- /charts/kafka-connect-blockchain-source/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-blockchain-source 3 | name: kafka-connect-blockchain-source 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-blockchain-source/ci/deployment.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: kafka 5 | spec: 6 | selector: 7 | app: test-kafka-connect-blockchain 8 | ports: 9 | - name: broker 10 | protocol: TCP 11 | port: 9092 12 | - name: connect 13 | protocol: TCP 14 | port: 8083 15 | - name: zk 16 | protocol: TCP 17 | port: 2181 18 | - name: zk-jmx 19 | protocol: TCP 20 | port: 9585 21 | - name: schema 22 | protocol: TCP 23 | port: 8081 24 | - name: schema-jmx 25 | protocol: TCP 26 | port: 9582 27 | --- 28 | apiVersion: apps/v1 29 | kind: Deployment 30 | metadata: 31 | name: test-kafka-connect-blockchain 32 | labels: 33 | app: test-kafka-connect-blockchain 34 | spec: 35 | selector: 36 | matchLabels: 37 | app: test-kafka-connect-blockchain 38 | replicas: 1 39 | template: 40 | metadata: 41 | name: test-deployment 42 | labels: 43 | app: test-kafka-connect-blockchain 44 | spec: 45 | containers: 46 | - name: kafka 47 | image: landoop/fast-data-dev 48 | env: 49 | - name: ADV_HOST 50 | valueFrom: 51 | fieldRef: 52 | fieldPath: status.podIP 53 | - name: FORWARDLOGS 54 | value: "0" 55 | - name: SAMPLEDATA 56 | value: "0" 57 | - name: RUNTESTS 58 | value: "0" 59 | - name: CONNECTORS 60 | value: "blockchain" 61 | - name: CONNECTOR_GROUP_ID 62 | value: "blockchain-test" 63 | ports: 64 | - name: broker 65 | containerPort: 9092 66 | - name: connect 67 | containerPort: 8083 68 | - name: zk 69 | containerPort: 2181 70 | - name: zk-jmx 71 | containerPort: 9585 72 | - name: schema 73 | containerPort: 8081 74 | - name: schema-jmx 75 | containerPort: 9582 -------------------------------------------------------------------------------- /charts/kafka-connect-blockchain-source/ci/values.yaml: -------------------------------------------------------------------------------- 1 | # Basic info 2 | replicaCount: 1 3 | 4 | image: 5 | repository: streamreactor/blockchain 6 | tag: 1.2.3 7 | pullPolicy: IfNotPresent 8 | 9 | # Resource management 10 | resources: 11 | limits: 12 | memory: 512Mi 13 | requests: 14 | memory: 256Mi 15 | 16 | # Monitoring 17 | monitoring: 18 | pipeline: "test-blockchain" 19 | enabled: true 20 | port: 9102 21 | path: "/metrics" 22 | 23 | podManagementPolicy: OrderedReady 24 | 25 | kafka: 26 | replicationFactor: 1 27 | bootstrapServers: 28 | - name: kafka 29 | port: 9092 30 | image: 31 | repository: landoop/fast-data-dev 32 | tag: 2.0.0 33 | pullPolicy: IfNotPresent 34 | 35 | schemaRegistries: 36 | enabled: true 37 | hosts: 38 | - host: kafka 39 | protocol: http 40 | port: 8081 41 | jmxPort: 9582 42 | 43 | # clusterName The connect cluster name. This is the consumer group id for the backing topics 44 | clusterName: "blockchain-test" 45 | 46 | # restPort The rest port of Connect 47 | restPort: 8083 48 | 49 | # logLevel The log4j level 50 | logLevel: INFO 51 | 52 | # keyConverter The key converter to/from Connects struct 53 | keyConverter: "io.confluent.connect.avro.AvroConverter" 54 | 55 | # valueConverter The key converter to/from Connects struct 56 | valueConverter: "io.confluent.connect.avro.AvroConverter" 57 | 58 | # connectorClass the connector class to use 59 | connectorClass: "com.datamountaineer.streamreactor.connect.blockchain.source.BlockchainSourceConnector" 60 | 61 | # applicationId name of the connector 62 | applicationId: "com.datamountaineer.streamreactor.connect.blockchain.source.BlockchainSourceConnector" 63 | 64 | # sourceKafkaTopic Specifies the kafka topic to sent the records to. type: STRING importance: HIGH 65 | sourceKafkaTopic: "blockchain" 66 | 67 | # enabled Enables the output for how many records have been processed type: BOOLEAN importance: MEDIUM 68 | progressEnabled: true -------------------------------------------------------------------------------- /charts/kafka-connect-blockchain-source/coyote.yml.old: -------------------------------------------------------------------------------- 1 | - name: coyote 2 | title: kafka-connect-blockchain 3 | 4 | - name: Run PODs 5 | entries: 6 | - name: Deploy Blockchain and Fast Data Dev 7 | command: kubectl apply -f ci/deployment.yaml 8 | - name: Wait for Connect to get up 9 | command: > 10 | bash -c ' 11 | for ((i=0;i<50;i++)); do 12 | sleep 10; 13 | POD=`kubectl get pods --field-selector=status.phase=Running -l=app=test-kafka-connect-blockchain -o jsonpath='{.items[0].metadata.name}'` 14 | kubectl exec $POD -c kafka -- curl "http://localhost:8083/connectors" && break; 15 | done' 16 | nolog: true 17 | 18 | - name: coyote 19 | vars: 20 | POD_NAME: kubectl get pods --field-selector=status.phase=Running -l=app=test-kafka-connect-blockchain -o jsonpath='{.items[0].metadata.name}' 21 | 22 | - name: Prepare Blockchain 23 | entries: 24 | - name: Create Topic 25 | command: >- 26 | bash -c ' 27 | POD=`%POD_NAME%` 28 | kubectl exec -i $POD -c kafka -- kafka-topics --zookeeper $ADV_HOST:2181 --topic blockchain --partitions 1 --replication-factor 1 --create' 29 | 30 | - name: Deploy Helm Blockchain Distributed Connector 31 | entries: 32 | - name: Run helm chart 33 | command: > 34 | helm install -f ci/values.yaml . 35 | - command: sleep 125 36 | nolog: true 37 | 38 | - name: Test Blockchain 39 | entries: 40 | - name: Write Entries into Topic 41 | command: >- 42 | bash -c ' 43 | POD=`%POD_NAME%` 44 | kubectl exec -i $POD -c kafka -- kafka-avro-console-consumer --bootstrap-server localhost:9092 --topic blockchain --from-beginning' 45 | ignore_exit_code: true 46 | stdout_has: [ 'lock_time', 'sequence', '"tx_index":[0-9]{5,5}' ] 47 | timeout: 45s 48 | 49 | - name: Cleanup K8 50 | entries: 51 | - name: Delete Deployments 52 | command: > 53 | kubectl delete deployments --all 54 | - name: Delete Stateful Apps 55 | command: > 56 | kubectl delete statefulsets.apps --all 57 | - name: Delete Service 58 | command: > 59 | kubectl delete services --all 60 | -------------------------------------------------------------------------------- /charts/kafka-connect-blockchain-source/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-blockchain-source/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-blockchain-source/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-bloomberg-source/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-bloomberg-source 3 | name: kafka-connect-bloomberg-source 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-bloomberg-source/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-bloomberg-source/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-bloomberg-source/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-sink/.helmignore: -------------------------------------------------------------------------------- 1 | ci/ 2 | coyote.* 3 | .DS_Store -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-cassandra-sink 3 | name: kafka-connect-cassandra-sink 4 | version: 1.9.1 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-sink/ci/cassandra/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM cassandra:3.0 2 | MAINTAINER Spiros Economakis 3 | 4 | RUN sed -e 's/authenticator: AllowAllAuthenticator/authenticator: PasswordAuthenticator/' \ 5 | -i /etc/cassandra/cassandra.yaml -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-sink/ci/deployment.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: kafka 5 | spec: 6 | selector: 7 | app: test-kafka-connect-cassandra 8 | ports: 9 | - name: broker 10 | protocol: TCP 11 | port: 9092 12 | - name: connect 13 | protocol: TCP 14 | port: 8083 15 | - name: zk 16 | protocol: TCP 17 | port: 2181 18 | - name: zk-jmx 19 | protocol: TCP 20 | port: 9585 21 | - name: schema 22 | protocol: TCP 23 | port: 8081 24 | - name: schema-jmx 25 | protocol: TCP 26 | port: 9582 27 | --- 28 | kind: Service 29 | apiVersion: v1 30 | metadata: 31 | name: cassandra 32 | spec: 33 | selector: 34 | app: test-kafka-connect-cassandra 35 | ports: 36 | - name: cassandra 37 | protocol: TCP 38 | port: 9042 39 | --- 40 | apiVersion: apps/v1 41 | kind: Deployment 42 | metadata: 43 | name: test-kafka-connect-cassandra 44 | labels: 45 | app: test-kafka-connect-cassandra 46 | spec: 47 | selector: 48 | matchLabels: 49 | app: test-kafka-connect-cassandra 50 | replicas: 1 51 | template: 52 | metadata: 53 | name: test-deployment 54 | labels: 55 | app: test-kafka-connect-cassandra 56 | spec: 57 | containers: 58 | - name: cassandra 59 | image: lenses/cassandra 60 | imagePullPolicy: Never 61 | env: 62 | - name: CASSANDRA_USER 63 | value: "cassandra" 64 | - name: CASSANDRA_PASSWORD 65 | value: "cassandra" 66 | ports: 67 | - containerPort: 9042 68 | - name: kafka 69 | image: landoop/fast-data-dev 70 | env: 71 | - name: ADV_HOST 72 | valueFrom: 73 | fieldRef: 74 | fieldPath: status.podIP 75 | - name: FORWARDLOGS 76 | value: "0" 77 | - name: SAMPLEDATA 78 | value: "0" 79 | - name: RUNTESTS 80 | value: "0" 81 | - name: CONNECTORS 82 | value: "cassandra" 83 | - name: CONNECTOR_GROUP_ID 84 | value: "cassandra-test" 85 | ports: 86 | - name: broker 87 | containerPort: 9092 88 | - name: connect 89 | containerPort: 8083 90 | - name: zk 91 | containerPort: 2181 92 | - name: zk-jmx 93 | containerPort: 9585 94 | - name: schema 95 | containerPort: 8081 96 | - name: schema-jmx 97 | containerPort: 9582 -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-sink/ci/producer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | POD=$(kubectl get pods --field-selector=status.phase=Running -l=app=test-kafka-connect-cassandra -o jsonpath='{.items[0].metadata.name}') 4 | 5 | kubectl exec -i $POD -c kafka -- kafka-avro-console-producer --broker-list localhost:9092 --topic cassandra-sink --property value.schema='{"type":"record","name":"myrecord","fields":[{"name":"id","type":"int"},{"name":"created", "type": "string"}, {"name":"product", "type": "string"}, {"name":"price", "type": "double"}]}' 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-sink/ci/values.yaml: -------------------------------------------------------------------------------- 1 | # Basic info 2 | replicaCount: 1 3 | 4 | image: 5 | repository: streamreactor/cassandra 6 | tag: 1.2.3 7 | pullPolicy: IfNotPresent 8 | 9 | # Resource management 10 | resources: 11 | limits: 12 | memory: 512Mi 13 | requests: 14 | memory: 256Mi 15 | 16 | # Monitoring 17 | monitoring: 18 | pipeline: "test-cassandra" 19 | enabled: true 20 | port: 9102 21 | path: "/metrics" 22 | 23 | podManagementPolicy: OrderedReady 24 | 25 | kafka: 26 | replicationFactor: 1 27 | bootstrapServers: 28 | - name: kafka 29 | port: 9092 30 | image: 31 | repository: landoop/fast-data-dev 32 | tag: 2.0.0 33 | pullPolicy: IfNotPresent 34 | 35 | schemaRegistries: 36 | enabled: true 37 | hosts: 38 | - host: kafka 39 | protocol: http 40 | port: 8081 41 | jmxPort: 9582 42 | 43 | secretsProvider: env 44 | 45 | consistencyLevel: "" 46 | 47 | # javaHeap options 48 | javaHeap: 256M 49 | 50 | # clusterName The connect cluster name. This is the consumer group id for the backing topics 51 | clusterName: "cassandra-test" 52 | 53 | # restPort The rest port of Connect 54 | restPort: "8083" 55 | 56 | # logLevel The log4j level 57 | logLevel: INFO 58 | 59 | keySpace: "test" 60 | 61 | # keyConverter The key converter to/from Connects struct 62 | keyConverter: "io.confluent.connect.avro.AvroConverter" 63 | 64 | # valueConverter The key converter to/from Connects struct 65 | valueConverter: "io.confluent.connect.avro.AvroConverter" 66 | 67 | # connectorClass 68 | connectorClass: "com.datamountaineer.streamreactor.connect.cassandra.sink.CassandraSinkConnector" 69 | 70 | # applicationId name of the connector 71 | applicationId: "com.datamountaineer.streamreactor.connect.cassandra.sink.CassandraSinkConnector" 72 | 73 | # topics to sink 74 | topics: "cassandra-sink" 75 | 76 | # kcql KCQL expression describing field selection and routes. type: STRING importance: HIGH 77 | kcql: "INSERT INTO orders SELECT * FROM cassandra-sink" 78 | 79 | # contact points 80 | contactPoints: "cassandra" 81 | 82 | # username Username to connect to Cassandra with. type: STRING importance: HIGH 83 | username: "cassandra" 84 | 85 | # password Password key for cassandra 86 | password: "cassandra" 87 | 88 | # mappingCollectionToJson Mapping columns with type Map, List and Set like json 89 | mappingCollectionToJson: true -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-sink/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.cassandra.password: {{ .Values.password | b64enc }} 15 | {{- if .Values.sslEnabled }} 16 | connect.cassandra.key.store.password: {{ .Values.keyStorePassword | b64enc }} 17 | connect.cassandra.trust.store.password: {{ .Values.trustStorePassword | b64enc }} 18 | client.truststore.jks: {{ .Values.trustStoreFileData }} 19 | client.keystore.jks: {{ .Values.keyStoreFileData }} 20 | {{- end -}} 21 | -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-source/.helmignore: -------------------------------------------------------------------------------- 1 | ci/ 2 | coyote.* 3 | .DS_Store -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-source/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-cassandra-source 3 | name: kafka-connect-cassandra-source 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-source/ci/cassandra/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM cassandra:3.0 2 | MAINTAINER Spiros Economakis 3 | 4 | RUN sed -e 's/authenticator: AllowAllAuthenticator/authenticator: PasswordAuthenticator/' \ 5 | -i /etc/cassandra/cassandra.yaml -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-source/ci/deployment.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: kafka 5 | spec: 6 | selector: 7 | app: test-kafka-connect-cassandra 8 | ports: 9 | - name: broker 10 | protocol: TCP 11 | port: 9092 12 | - name: connect 13 | protocol: TCP 14 | port: 8083 15 | - name: zk 16 | protocol: TCP 17 | port: 2181 18 | - name: zk-jmx 19 | protocol: TCP 20 | port: 9585 21 | - name: schema 22 | protocol: TCP 23 | port: 8081 24 | - name: schema-jmx 25 | protocol: TCP 26 | port: 9582 27 | --- 28 | kind: Service 29 | apiVersion: v1 30 | metadata: 31 | name: cassandra 32 | spec: 33 | selector: 34 | app: test-kafka-connect-cassandra 35 | ports: 36 | - name: cassandra 37 | protocol: TCP 38 | port: 9042 39 | --- 40 | apiVersion: apps/v1 41 | kind: Deployment 42 | metadata: 43 | name: test-kafka-connect-cassandra 44 | labels: 45 | app: test-kafka-connect-cassandra 46 | spec: 47 | selector: 48 | matchLabels: 49 | app: test-kafka-connect-cassandra 50 | replicas: 1 51 | template: 52 | metadata: 53 | name: test-deployment 54 | labels: 55 | app: test-kafka-connect-cassandra 56 | spec: 57 | containers: 58 | - name: cassandra 59 | image: lenses/cassandra 60 | imagePullPolicy: Never 61 | env: 62 | - name: MAX_HEAP_SIZE 63 | value: "1G" 64 | - name: HEAP_NEWSIZE 65 | value: "200M" 66 | ports: 67 | - containerPort: 9042 68 | - name: kafka 69 | image: landoop/fast-data-dev 70 | env: 71 | - name: ADV_HOST 72 | valueFrom: 73 | fieldRef: 74 | fieldPath: status.podIP 75 | - name: FORWARDLOGS 76 | value: "0" 77 | - name: SAMPLEDATA 78 | value: "0" 79 | - name: RUNTESTS 80 | value: "0" 81 | - name: CONNECTORS 82 | value: "cassandra" 83 | - name: CONNECTOR_GROUP_ID 84 | value: "cassandra-test" 85 | ports: 86 | - name: broker 87 | containerPort: 9092 88 | - name: connect 89 | containerPort: 8083 90 | - name: zk 91 | containerPort: 2181 92 | - name: zk-jmx 93 | containerPort: 9585 94 | - name: schema 95 | containerPort: 8081 96 | - name: schema-jmx 97 | containerPort: 9582 -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-source/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-source/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-source/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.cassandra.password: {{ .Values.password | b64enc }} 15 | {{- if .Values.sslEnabled }} 16 | connect.cassandra.key.store.password: {{ .Values.keyStorePassword | b64enc }} 17 | connect.cassandra.trust.store.password: {{ .Values.trustStorePassword | b64enc }} 18 | client.truststore.jks: {{ .Values.trustStoreFileData }} 19 | client.keystore.jks: {{ .Values.keyStoreFileData }} 20 | {{- end -}} 21 | -------------------------------------------------------------------------------- /charts/kafka-connect-cassandra-source/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-coap-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-coap-sink 3 | name: kafka-connect-coap-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-coap-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-coap-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-coap-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-coap-sink/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.coap.password: {{ .Values.password | b64enc }} 15 | {{- if .Values.sslEnabled }} 16 | connect.coap.truststore.pass: {{ .Values.trustStorePass | b64enc }} 17 | connect.coap.keystore.pass: {{ .Values.keyStorePass | b64enc }} 18 | client.truststore.jks: {{ .Values.trustStoreFileData }} 19 | client.keystore.jks: {{ .Values.keyStoreFileData }} 20 | private-key.pem: {{ toYaml .Values.privateKeyFileData | indent 2 }} 21 | public-key.pem: {{ toYaml .Values.publicKeyFileData | indent 2 }} 22 | {{- end -}} 23 | -------------------------------------------------------------------------------- /charts/kafka-connect-coap-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-coap-source/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-coap-source 3 | name: kafka-connect-coap-source 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-coap-source/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-coap-source/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-coap-source/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-coap-source/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.coap.password: {{ .Values.password | b64enc }} 15 | {{- if .Values.sslEnabled }} 16 | connect.coap.truststore.pass: {{ .Values.trustStorePass | b64enc }} 17 | connect.coap.keystore.pass: {{ .Values.keyStorePass | b64enc }} 18 | client.truststore.jks: {{ .Values.trustStoreFileData }} 19 | client.keystore.jks: {{ .Values.keyStoreFileData }} 20 | private-key.pem: {{ toYaml .Values.privateKeyFileData | b64enc | indent 2 }} 21 | public-key.pem: {{ toYaml .Values.publicKeyFileData | b64enc | indent 2 }} 22 | {{- end -}} 23 | -------------------------------------------------------------------------------- /charts/kafka-connect-coap-source/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-documentdb-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-documentdb-sink 3 | name: kafka-connect-documentdb-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-documentdb-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-documentdb-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-documentdb-sink/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.docummentdb.master.key: {{ .Values.masterKey | b64enc }} 15 | -------------------------------------------------------------------------------- /charts/kafka-connect-documentdb-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-druid-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-druid-sink 3 | name: kafka-connect-druid-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-druid-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-druid-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | 2 | kind: ConfigMap 3 | Metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | app: {{ include "fullname" . }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: "{{ .Release.Name }}" 9 | heritage: "{{ .Release.Service }}" 10 | data: 11 | {{ .Values.dataSource | indent 2 }} 12 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 13 | krb5.conf: |- 14 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 15 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-druid-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-druid-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-elastic-sink/.helmignore: -------------------------------------------------------------------------------- 1 | ci/ 2 | coyote.* 3 | .DS_Store -------------------------------------------------------------------------------- /charts/kafka-connect-elastic-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-elastic-sink 3 | name: kafka-connect-elastic-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic-sink/ci/deployment.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: kafka 5 | spec: 6 | selector: 7 | app: test-kafka-connect-elastic 8 | ports: 9 | - name: broker 10 | protocol: TCP 11 | port: 9092 12 | - name: connect 13 | protocol: TCP 14 | port: 8083 15 | - name: zk 16 | protocol: TCP 17 | port: 2181 18 | - name: zk-jmx 19 | protocol: TCP 20 | port: 9585 21 | - name: schema 22 | protocol: TCP 23 | port: 8081 24 | - name: schema-jmx 25 | protocol: TCP 26 | port: 9582 27 | --- 28 | kind: Service 29 | apiVersion: v1 30 | metadata: 31 | name: elastic 32 | spec: 33 | selector: 34 | app: test-kafka-connect-elastic 35 | ports: 36 | - name: elastic 37 | protocol: TCP 38 | port: 9300 39 | - name: elastic-http 40 | protocol: TCP 41 | port: 9200 42 | --- 43 | apiVersion: apps/v1 44 | kind: Deployment 45 | metadata: 46 | name: test-kafka-connect-elastic 47 | labels: 48 | app: test-kafka-connect-elastic 49 | spec: 50 | selector: 51 | matchLabels: 52 | app: test-kafka-connect-elastic 53 | replicas: 1 54 | template: 55 | metadata: 56 | name: test-deployment 57 | labels: 58 | app: test-kafka-connect-elastic 59 | spec: 60 | containers: 61 | - name: elastic 62 | image: elasticsearch:2.4 63 | args: ["--cluster.name", "elasticsearch"] 64 | ports: 65 | - name: tcp-port 66 | containerPort: 9300 67 | - name: http-port 68 | containerPort: 9200 69 | - name: kafka 70 | image: landoop/fast-data-dev 71 | env: 72 | - name: ADV_HOST 73 | valueFrom: 74 | fieldRef: 75 | fieldPath: status.podIP 76 | - name: FORWARDLOGS 77 | value: "0" 78 | - name: SAMPLEDATA 79 | value: "0" 80 | - name: RUNTESTS 81 | value: "0" 82 | - name: CONNECTORS 83 | value: "elastic" 84 | - name: CONNECTOR_GROUP_ID 85 | value: "elastic-test" 86 | ports: 87 | - name: broker 88 | containerPort: 9092 89 | - name: connect 90 | containerPort: 8083 91 | - name: zk 92 | containerPort: 2181 93 | - name: zk-jmx 94 | containerPort: 9585 95 | - name: schema 96 | containerPort: 8081 97 | - name: schema-jmx 98 | containerPort: 9582 -------------------------------------------------------------------------------- /charts/kafka-connect-elastic-sink/ci/producer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | timeout 20 4 | POD=$(kubectl get pods --field-selector=status.phase=Running -l=app=test-kafka-connect-elastic -o jsonpath='{.items[0].metadata.name}') 5 | 6 | kubectl exec -i $POD -c kafka -- kafka-avro-console-producer --broker-list localhost:9092 --topic elastic-sink --property value.schema='{"type":"record","name":"myrecord","fields":[{"name":"id","type":"int"},{"name":"random_field","type":"string"}]}' 7 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic-sink/coyote.yml: -------------------------------------------------------------------------------- 1 | - name: coyote 2 | title: kafka-connect-elastic-sink 3 | 4 | - name: Run PODs 5 | entries: 6 | - name: Deploy elastic and Fast Data Dev 7 | command: kubectl apply -f ci/deployment.yaml 8 | - name: Wait for Connect to get up 9 | command: > 10 | bash -c ' 11 | for ((i=0;i<50;i++)); do 12 | sleep 10; 13 | POD=`kubectl get pods --field-selector=status.phase=Running -l=app=test-kafka-connect-elastic -o jsonpath='{.items[0].metadata.name}'` 14 | kubectl exec $POD -c kafka -- curl "http://localhost:8083/connectors" && break; 15 | done' 16 | nolog: true 17 | 18 | - name: coyote 19 | vars: 20 | POD_NAME: kubectl get pods --field-selector=status.phase=Running -l=app=test-kafka-connect-elastic -o jsonpath='{.items[0].metadata.name}' 21 | 22 | - name: Prepare topic 23 | entries: 24 | - name: Create Sink Topic 25 | command: >- 26 | bash -c ' 27 | POD=`%POD_NAME%` 28 | kubectl exec -i $POD -c kafka -- kafka-topics --zookeeper $ADV_HOST:2181 --topic elastic-sink --partitions 1 --replication-factor 1 --create' 29 | timeout: 5s 30 | 31 | - name: Deploy Helm elastic Sink Distributed Connector 32 | entries: 33 | - name: Run helm chart 34 | command: > 35 | helm install -f ci/values.yaml . 36 | - command: sleep 80 37 | nolog: true 38 | 39 | - name: Test Elastic Sink Connector 40 | entries: 41 | - name: Write Entries into Topic 42 | command: >- 43 | bash -c './ci/producer.sh' 44 | stdin: | 45 | {"id": 999, "random_field": "foo"} 46 | {"id": 888, "random_field": "bar"} 47 | - command: sleep 60 48 | nolog: true 49 | - name: Verify first entry 50 | command: > 51 | bash -c ' 52 | POD=`%POD_NAME%` 53 | kubectl exec -i $POD -c elastic -- curl -XGET "http://localhost:9200/sink-index/_search?q=id:999"' 54 | stdout_has: [ 'random_field', 'foo' ] 55 | - name: Verify second entry 56 | command: > 57 | bash -c ' 58 | POD=`%POD_NAME%` 59 | kubectl exec -i $POD -c elastic -- curl -XGET "http://localhost:9200/sink-index/_search?q=id:888"' 60 | stdout_has: [ 'random_field', 'bar' ] 61 | 62 | # - name: Cleanup K8 63 | # entries: 64 | # - name: Delete Deployments 65 | # command: > 66 | # kubectl delete deployments --all 67 | # - name: Delete Stateful Apps 68 | # command: > 69 | # kubectl delete statefulsets.apps --all 70 | # - name: Delete Service 71 | # command: > 72 | # kubectl delete services --all 73 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-elastic-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-elastic5-sink/.helmignore: -------------------------------------------------------------------------------- 1 | ci/ 2 | coyote.* 3 | .DS_Store -------------------------------------------------------------------------------- /charts/kafka-connect-elastic5-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-elastic5-sink 3 | name: kafka-connect-elastic5-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic5-sink/ci/producer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | timeout 20 4 | POD=$(kubectl get pods --field-selector=status.phase=Running -l=app=test-kafka-connect-elastic -o jsonpath='{.items[0].metadata.name}') 5 | 6 | kubectl exec -i $POD -c kafka -- kafka-avro-console-producer --broker-list localhost:9092 --topic elastic-sink --property value.schema='{"type":"record","name":"myrecord","fields":[{"name":"id","type":"int"},{"name":"random_field","type":"string"}]}' 7 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic5-sink/ci/values.yaml: -------------------------------------------------------------------------------- 1 | # Basic info 2 | replicaCount: 1 3 | 4 | image: 5 | repository: streamreactor/elastic5 6 | tag: 1.2.3 7 | pullPolicy: IfNotPresent 8 | 9 | # Resource management 10 | resources: 11 | limits: 12 | memory: 512Mi 13 | requests: 14 | memory: 256Mi 15 | 16 | # Monitoring 17 | monitoring: 18 | pipeline: "test-elastic" 19 | enabled: true 20 | port: 9102 21 | path: "/metrics" 22 | 23 | podManagementPolicy: OrderedReady 24 | 25 | kafka: 26 | replicationFactor: 1 27 | bootstrapServers: 28 | - name: kafka 29 | port: 9092 30 | 31 | schemaRegistries: 32 | enabled: true 33 | hosts: 34 | - host: kafka 35 | protocol: http 36 | port: 8081 37 | jmxPort: 9582 38 | 39 | secretsProvider: env 40 | 41 | # javaHeap options 42 | javaHeap: 256M 43 | 44 | # clusterName The connect cluster name. This is the consumer group id for the backing topics 45 | clusterName: "elastic-test" 46 | 47 | # restPort The rest port of Connect 48 | restPort: "8083" 49 | 50 | # logLevel The log4j level 51 | logLevel: INFO 52 | 53 | # keyConverter The key converter to/from Connects struct 54 | keyConverter: "io.confluent.connect.avro.AvroConverter" 55 | 56 | # valueConverter The key converter to/from Connects struct 57 | valueConverter: "io.confluent.connect.avro.AvroConverter" 58 | 59 | # connectorClass 60 | connectorClass: "com.datamountaineer.streamreactor.connect.elastic5.ElasticSinkConnector" 61 | 62 | # applicationId name of the connector 63 | applicationId: "com.datamountaineer.streamreactor.connect.elastic5.ElasticSinkConnector" 64 | 65 | # xpack configuration 66 | xpackSettings: |- 67 | "xpack.security.user=elastic:changeme" 68 | 69 | # topics to sink 70 | topics: "elastic-sink" 71 | 72 | # kcql KCQL expression describing field selection and routes. type: STRING importance: HIGH 73 | kcql: "INSERT INTO sink-index SELECT id, random_field FROM elastic-sink" 74 | 75 | # errorThrow Throws the exception on write. Default is 'true' type: BOOLEAN importance: MEDIUM 76 | errorThrow: true 77 | 78 | # clusterName Name of the elastic search cluster, used in local mode for setting the connection type: STRING importance: HIGH 79 | elasticClusterName: elasticsearch 80 | 81 | # uriPrefix URL connection string prefix type: STRING importance: LOW 82 | urlPrefix: elasticsearch 83 | 84 | # uri Url including port for Elastic Search cluster node. type: STRING importance: HIGH 85 | url: elastic5:9300 -------------------------------------------------------------------------------- /charts/kafka-connect-elastic5-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic5-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-elastic5-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic5-sink/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.elastic.xpack.settings: {{ .Values.xpackSettings | b64enc }} 15 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic5-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-elastic6-sink/.helmignore: -------------------------------------------------------------------------------- 1 | ci/ 2 | coyote.* 3 | .DS_Store -------------------------------------------------------------------------------- /charts/kafka-connect-elastic6-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-elastic6-sink 3 | name: kafka-connect-elastic6-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic6-sink/ci/producer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | timeout 20 4 | POD=$(kubectl get pods --field-selector=status.phase=Running -l=app=test-kafka-connect-elastic -o jsonpath='{.items[0].metadata.name}') 5 | 6 | kubectl exec -i $POD -c kafka -- kafka-avro-console-producer --broker-list localhost:9092 --topic elastic-sink --property value.schema='{"type":"record","name":"myrecord","fields":[{"name":"id","type":"int"},{"name":"random_field","type":"string"}]}' 7 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic6-sink/ci/values.yaml: -------------------------------------------------------------------------------- 1 | # Basic info 2 | replicaCount: 1 3 | 4 | image: 5 | repository: streamreactor/elastic6 6 | tag: 1.2.3 7 | pullPolicy: IfNotPresent 8 | 9 | # Resource management 10 | resources: 11 | limits: 12 | memory: 512Mi 13 | requests: 14 | memory: 256Mi 15 | 16 | # Monitoring 17 | monitoring: 18 | pipeline: "test-elastic" 19 | enabled: true 20 | port: 9102 21 | path: "/metrics" 22 | 23 | podManagementPolicy: OrderedReady 24 | 25 | kafka: 26 | replicationFactor: 1 27 | bootstrapServers: 28 | - name: kafka 29 | port: 9092 30 | 31 | schemaRegistries: 32 | enabled: true 33 | hosts: 34 | - host: kafka 35 | protocol: http 36 | port: 8081 37 | jmxPort: 9582 38 | 39 | secretsProvider: env 40 | 41 | # javaHeap options 42 | javaHeap: 256M 43 | 44 | # clusterName The connect cluster name. This is the consumer group id for the backing topics 45 | clusterName: "elastic-test" 46 | 47 | # restPort The rest port of Connect 48 | restPort: "8083" 49 | 50 | # logLevel The log4j level 51 | logLevel: INFO 52 | 53 | # keyConverter The key converter to/from Connects struct 54 | keyConverter: "io.confluent.connect.avro.AvroConverter" 55 | 56 | # valueConverter The key converter to/from Connects struct 57 | valueConverter: "io.confluent.connect.avro.AvroConverter" 58 | 59 | # connectorClass 60 | connectorClass: "com.datamountaineer.streamreactor.connect.elastic6.ElasticSinkConnector" 61 | 62 | # applicationId name of the connector 63 | applicationId: "com.datamountaineer.streamreactor.connect.elastic6.ElasticSinkConnector" 64 | 65 | # xpack configuration 66 | xpackSettings: |- 67 | "xpack.security.user=elastic:changeme" 68 | 69 | # topics to sink 70 | topics: "elastic-sink" 71 | 72 | # kcql KCQL expression describing field selection and routes. type: STRING importance: HIGH 73 | kcql: "INSERT INTO sink-index SELECT id, random_field FROM elastic-sink" 74 | 75 | # errorThrow Throws the exception on write. Default is 'true' type: BOOLEAN importance: MEDIUM 76 | errorThrow: true 77 | 78 | # clusterName Name of the elastic search cluster, used in local mode for setting the connection type: STRING importance: HIGH 79 | elasticClusterName: elasticsearch 80 | 81 | # uriPrefix URL connection string prefix type: STRING importance: LOW 82 | urlPrefix: elasticsearch 83 | 84 | # uri Url including port for Elastic Search cluster node. type: STRING importance: HIGH 85 | url: elastic6:9300 -------------------------------------------------------------------------------- /charts/kafka-connect-elastic6-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic6-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-elastic6-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic6-sink/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.elastic.xpack.settings: {{ .Values.xpackSettings | b64enc }} 15 | -------------------------------------------------------------------------------- /charts/kafka-connect-elastic6-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-ftp-source/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-ftp-source 3 | name: kafka-connect-ftp-source 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-ftp-source/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-ftp-source/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-ftp-source/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-ftp-source/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.ftp.password: {{ .Values.password | b64enc }} 15 | -------------------------------------------------------------------------------- /charts/kafka-connect-ftp-source/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-hazelcast-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-hazelcast-sink 3 | name: kafka-connect-hazelcast-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-hazelcast-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-hazelcast-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-hazelcast-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-hazelcast-sink/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | annotations: 11 | "helm.sh/hook": pre-install 12 | data: 13 | hazelcast.group.password: {{ .Values.groupPassword | b64enc }} 14 | -------------------------------------------------------------------------------- /charts/kafka-connect-hazelcast-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-hbase-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-hbase-sink 3 | name: kafka-connect-hbase-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-hbase-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-hbase-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-hbase-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-hbase-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-hive-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-hive-sink 3 | name: kafka-connect-hive-sink 4 | version: 1.9.1 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-hive-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-hive-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-hive-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-hive-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-hive-source/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-hive-source 3 | name: kafka-connect-hive-source 4 | version: 1.9.1 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-hive-source/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-hive-source/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-hive-source/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-hive-source/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-influx-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-influx-sink 3 | name: kafka-connect-influx-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-influx-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-influx-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-influx-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-influx-sink/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.influx.password: {{ .Values.password | b64enc }} 15 | -------------------------------------------------------------------------------- /charts/kafka-connect-influx-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-jms-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-jms-sink 3 | name: kafka-connect-jms-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-jms-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-jms-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-jms-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-jms-sink/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.jms.password: {{ .Values.password | b64enc }} 15 | -------------------------------------------------------------------------------- /charts/kafka-connect-jms-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-jms-source/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-jms-source 3 | name: kafka-connect-jms-source 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-jms-source/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-jms-source/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-jms-source/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-jms-source/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.jms.password: {{ .Values.password | b64enc }} 15 | -------------------------------------------------------------------------------- /charts/kafka-connect-jms-source/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-kudu-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-kudu-sink 3 | name: kafka-connect-kudu-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-kudu-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-kudu-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-kudu-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-kudu-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-mongo-sink/.helmignore: -------------------------------------------------------------------------------- 1 | ci/ 2 | coyote.* 3 | .DS_Store -------------------------------------------------------------------------------- /charts/kafka-connect-mongo-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-mongo-sink 3 | name: kafka-connect-mongo-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-mongo-sink/ci/deployment.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: kafka 5 | spec: 6 | selector: 7 | app: test-kafka-connect-mongo 8 | ports: 9 | - name: broker 10 | protocol: TCP 11 | port: 9092 12 | - name: connect 13 | protocol: TCP 14 | port: 8083 15 | - name: zk 16 | protocol: TCP 17 | port: 2181 18 | - name: zk-jmx 19 | protocol: TCP 20 | port: 9585 21 | - name: schema 22 | protocol: TCP 23 | port: 8081 24 | - name: schema-jmx 25 | protocol: TCP 26 | port: 9582 27 | --- 28 | kind: Service 29 | apiVersion: v1 30 | metadata: 31 | name: mongo 32 | spec: 33 | selector: 34 | app: test-kafka-connect-mongo 35 | ports: 36 | - name: mongo 37 | protocol: TCP 38 | port: 27017 39 | --- 40 | apiVersion: apps/v1 41 | kind: Deployment 42 | metadata: 43 | name: test-kafka-connect-mongo 44 | labels: 45 | app: test-kafka-connect-mongo 46 | spec: 47 | selector: 48 | matchLabels: 49 | app: test-kafka-connect-mongo 50 | replicas: 1 51 | template: 52 | metadata: 53 | name: test-deployment 54 | labels: 55 | app: test-kafka-connect-mongo 56 | spec: 57 | containers: 58 | - name: mongo 59 | image: mongo 60 | ports: 61 | - containerPort: 27017 62 | - name: kafka 63 | image: landoop/fast-data-dev 64 | env: 65 | - name: ADV_HOST 66 | valueFrom: 67 | fieldRef: 68 | fieldPath: status.podIP 69 | - name: FORWARDLOGS 70 | value: "0" 71 | - name: SAMPLEDATA 72 | value: "0" 73 | - name: RUNTESTS 74 | value: "0" 75 | - name: CONNECTORS 76 | value: "mongodb" 77 | - name: CONNECTOR_GROUP_ID 78 | value: "mongodb-test" 79 | ports: 80 | - name: broker 81 | containerPort: 9092 82 | - name: connect 83 | containerPort: 8083 84 | - name: zk 85 | containerPort: 2181 86 | - name: zk-jmx 87 | containerPort: 9585 88 | - name: schema 89 | containerPort: 8081 90 | - name: schema-jmx 91 | containerPort: 9582 -------------------------------------------------------------------------------- /charts/kafka-connect-mongo-sink/ci/producer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | POD=$(kubectl get pods --field-selector=status.phase=Running -l=app=test-kafka-connect-mongo -o jsonpath='{.items[0].metadata.name}') 4 | 5 | kubectl exec -i $POD -c kafka -- kafka-avro-console-producer --broker-list localhost:9092 --topic mongo-sink --property value.schema='{"type":"record","name":"myrecord","fields":[{"name":"id","type":"int"},{"name":"created", "type": "string"}, {"name":"product", "type": "string"}, {"name":"price", "type": "double"}]}' -------------------------------------------------------------------------------- /charts/kafka-connect-mongo-sink/ci/values.yaml: -------------------------------------------------------------------------------- 1 | # Basic info 2 | replicaCount: 1 3 | 4 | image: 5 | repository: streamreactor/mongodb 6 | tag: 1.2.3 7 | pullPolicy: IfNotPresent 8 | 9 | # Resource management 10 | resources: 11 | limits: 12 | memory: 512Mi 13 | requests: 14 | memory: 256Mi 15 | 16 | # Monitoring 17 | monitoring: 18 | pipeline: "test-mongo" 19 | enabled: true 20 | port: 9102 21 | path: "/metrics" 22 | 23 | podManagementPolicy: OrderedReady 24 | 25 | kafka: 26 | replicationFactor: 1 27 | bootstrapServers: 28 | - name: kafka 29 | port: 9092 30 | image: 31 | repository: landoop/fast-data-dev 32 | tag: 2.0.0 33 | pullPolicy: IfNotPresent 34 | 35 | schemaRegistries: 36 | enabled: true 37 | hosts: 38 | - host: kafka 39 | protocol: http 40 | port: 8081 41 | jmxPort: 9582 42 | 43 | secretsProvider: env 44 | 45 | # javaHeap options 46 | javaHeap: 256M 47 | 48 | # clusterName The connect cluster name. This is the consumer group id for the backing topics 49 | clusterName: "mongo-test" 50 | 51 | # restPort The rest port of Connect 52 | restPort: "8083" 53 | 54 | # logLevel The log4j level 55 | logLevel: INFO 56 | 57 | # keyConverter The key converter to/from Connects struct 58 | keyConverter: "io.confluent.connect.avro.AvroConverter" 59 | 60 | # valueConverter The key converter to/from Connects struct 61 | valueConverter: "io.confluent.connect.avro.AvroConverter" 62 | 63 | # connectorClass 64 | connectorClass: "com.datamountaineer.streamreactor.connect.mongodb.sink.MongoSinkConnector" 65 | 66 | # applicationId name of the connector 67 | applicationId: "com.datamountaineer.streamreactor.connect.mongodb.sink.MongoSinkConnector" 68 | 69 | # topics to sink 70 | topics: "mongo-sink" 71 | 72 | # kcql KCQL expression describing field selection and routes. type: STRING importance: HIGH 73 | kcql: "INSERT INTO orders SELECT * FROM mongo-sink" 74 | 75 | # connection The mongodb connection in the format mongodb://[username:password@]host1[:port1][,host2[:port2],..[,hostN[:portN]]][/[database][?options]]. type: STRING importance: HIGH 76 | connection: "mongodb://mongo:27017" 77 | 78 | username: "" 79 | 80 | # db The mongodb target database. type: STRING importance: HIGH 81 | db: "landoop" -------------------------------------------------------------------------------- /charts/kafka-connect-mongo-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-mongo-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-mongo-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-mongo-sink/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.mongo.password: {{ .Values.password | b64enc }} 15 | {{- if .Values.sslEnabled }} 16 | connect.mongo.key.store.password: {{ .Values.keyStorePassword | b64enc }} 17 | connect.mongo.trust.store.password: {{ .Values.trustStorePassword | b64enc }} 18 | client.truststore.jks: {{ .Values.trustStoreFileData }} 19 | client.keystore.jks: {{ .Values.keyStoreFileData }} 20 | {{- end -}} 21 | -------------------------------------------------------------------------------- /charts/kafka-connect-mongo-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-mqtt-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-mqtt-sink 3 | name: kafka-connect-mqtt-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-mqtt-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-mqtt-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-mqtt-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-mqtt-sink/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.mqtt.password: {{ .Values.password | b64enc }} 15 | {{- if .Values.tlsEnabled }} 16 | server.crt: {{ .Values.serverCrt | b64enc }} 17 | ca.crt: {{ .Values.caCert | b64enc }} 18 | server.key: {{ .Values.serverKey | b64enc }} 19 | {{- end -}} 20 | -------------------------------------------------------------------------------- /charts/kafka-connect-mqtt-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-mqtt-source/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-mqtt-source 3 | name: kafka-connect-mqtt-source 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-mqtt-source/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-mqtt-source/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-mqtt-source/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-mqtt-source/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.mqtt.password: {{ .Values.password | b64enc }} 15 | {{- if .Values.tlsEnabled }} 16 | server.crt: {{ .Values.serverCrt | b64enc }} 17 | ca.crt: {{ .Values.caCert | b64enc }} 18 | server.key: {{ .Values.serverKey | b64enc }} 19 | {{- end -}} 20 | -------------------------------------------------------------------------------- /charts/kafka-connect-mqtt-source/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-pulsar-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-pulsar-sink 3 | name: kafka-connect-pulsar-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-pulsar-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-pulsar-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-pulsar-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-pulsar-sink/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: "{{ include "fullname" . }}" 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: "{{ include "fullname" . }}" 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | client-cert.pem: {{ .Values.tlsCert | b64enc }} 15 | ca-cert.pem: {{ .Values.tlsCaCert | b64enc }} 16 | client-key.pem: {{ .Values.tlsKey | b64enc }} 17 | -------------------------------------------------------------------------------- /charts/kafka-connect-pulsar-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-pulsar-source/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-pulsar-source 3 | name: kafka-connect-pulsar-source 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-pulsar-source/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-pulsar-source/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-pulsar-source/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-pulsar-source/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: "{{ include "fullname" . }}" 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: "{{ include "fullname" . }}" 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | client-cert.pem: {{ .Values.tlsCert | b64enc }} 15 | ca-cert.pem: {{ .Values.tlsCaCert | b64enc }} 16 | client-key.pem: {{ .Values.tlsKey | b64enc }} 17 | -------------------------------------------------------------------------------- /charts/kafka-connect-pulsar-source/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-redis-sink/.helmignore: -------------------------------------------------------------------------------- 1 | ci/ 2 | coyote.* 3 | .DS_Store -------------------------------------------------------------------------------- /charts/kafka-connect-redis-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-redis-sink 3 | name: kafka-connect-redis-sink 4 | version: 1.9.1 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-redis-sink/ci/deployment.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: kafka 5 | spec: 6 | selector: 7 | app: test-kafka-connect-redis 8 | ports: 9 | - name: broker 10 | protocol: TCP 11 | port: 9092 12 | - name: connect 13 | protocol: TCP 14 | port: 8083 15 | - name: zk 16 | protocol: TCP 17 | port: 2181 18 | - name: zk-jmx 19 | protocol: TCP 20 | port: 9585 21 | - name: schema 22 | protocol: TCP 23 | port: 8081 24 | - name: schema-jmx 25 | protocol: TCP 26 | port: 9582 27 | --- 28 | kind: Service 29 | apiVersion: v1 30 | metadata: 31 | name: redis 32 | spec: 33 | selector: 34 | app: test-kafka-connect-redis 35 | ports: 36 | - name: redis 37 | protocol: TCP 38 | port: 6379 39 | --- 40 | apiVersion: apps/v1 41 | kind: Deployment 42 | metadata: 43 | name: test-kafka-connect-redis 44 | labels: 45 | app: test-kafka-connect-redis 46 | spec: 47 | selector: 48 | matchLabels: 49 | app: test-kafka-connect-redis 50 | replicas: 1 51 | template: 52 | metadata: 53 | name: test-deployment 54 | labels: 55 | app: test-kafka-connect-redis 56 | spec: 57 | containers: 58 | - name: redis 59 | image: redis 60 | args: ["--requirepass", "redis"] 61 | ports: 62 | - containerPort: 6379 63 | - name: kafka 64 | image: landoop/fast-data-dev 65 | env: 66 | - name: ADV_HOST 67 | valueFrom: 68 | fieldRef: 69 | fieldPath: status.podIP 70 | - name: FORWARDLOGS 71 | value: "0" 72 | - name: SAMPLEDATA 73 | value: "0" 74 | - name: RUNTESTS 75 | value: "0" 76 | - name: CONNECTORS 77 | value: "redis" 78 | - name: CONNECTOR_GROUP_ID 79 | value: "redis-test" 80 | ports: 81 | - name: broker 82 | containerPort: 9092 83 | - name: connect 84 | containerPort: 8083 85 | - name: zk 86 | containerPort: 2181 87 | - name: zk-jmx 88 | containerPort: 9585 89 | - name: schema 90 | containerPort: 8081 91 | - name: schema-jmx 92 | containerPort: 9582 -------------------------------------------------------------------------------- /charts/kafka-connect-redis-sink/ci/producer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | POD=$(kubectl get pods --field-selector=status.phase=Running -l=app=test-kafka-connect-redis -o jsonpath='{.items[0].metadata.name}') 4 | 5 | kubectl exec -i $POD -c kafka -- kafka-avro-console-producer --broker-list localhost:9092 --topic redis-sink --property value.schema='{"type":"record","name":"User","namespace":"com.datamountaineer.streamreactor.connect.redis","fields":[{"name":"firstName","type":"string"},{"name":"lastName","type":"string"},{"name":"age","type":"int"},{"name":"salary","type":"double"}]}' 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-redis-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: |- 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-redis-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-redis-sink/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.redis.password: {{ .Values.password | b64enc }} 15 | {{- if .Values.sslEnabled }} 16 | connect.redis.truststore.pass: {{ .Values.trustStorePass | default "" | b64enc }} 17 | connect.redis.keystore.pass: {{ .Values.keyStorePass | default "" | b64enc }} 18 | client.truststore.jks: |- 19 | {{ .Values.trustStoreFileData | indent 4 }} 20 | client.keystore.jks: |- 21 | {{ .Values.keyStoreFileData | indent 4 }} 22 | {{- end }} 23 | -------------------------------------------------------------------------------- /charts/kafka-connect-redis-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-rethink-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-rethink-sink 3 | name: kafka-connect-rethink-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-rethink-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | apiVersion: v1 5 | metadata: 6 | name: "{{ include "fullname" . }}" 7 | labels: 8 | app: "{{ include "fullname" . }}" 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | data: 13 | krb5.conf: |- 14 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 15 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-rethink-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | metadata: 5 | name: {{ include "fullname" . }}-kafka-secrets 6 | labels: 7 | app: {{ include "fullname" . }} 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | lenses.io/app.type: lenses-secret 12 | data: 13 | {{- if .Values.kafka.ssl.enabled }} 14 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 15 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 16 | {{- end }} 17 | stringData: 18 | {{- if .Values.kafka.sasl.enabled }} 19 | jaas.conf: |- 20 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 21 | keytab: |- 22 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 23 | {{- end }} 24 | {{- end -}} 25 | -------------------------------------------------------------------------------- /charts/kafka-connect-rethink-sink/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.rethink.password: {{ .Values.password | b64enc }} 15 | connect.rethink.rethink.auth.key: {{ .Values.rethinkAuth | b64enc }} 16 | {{- if .Values.tlsEnabled }} 17 | ca.crt: {{ .Values.rethinkCertFileData | b64enc }} 18 | {{- end -}} 19 | -------------------------------------------------------------------------------- /charts/kafka-connect-rethink-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-rethink-source/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-rethink-source 3 | name: kafka-connect-rethink-source 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-rethink-source/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-rethink-source/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-rethink-source/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | connect.rethink.password: {{ .Values.password | b64enc }} 15 | connect.rethink.rethink.auth.key: {{ .Values.rethinkAuth | b64enc }} 16 | {{- if .Values.tlsEnabled }} 17 | ca.crt: {{ .Values.rethinkCertFileData | b64enc }} 18 | {{- end -}} 19 | -------------------------------------------------------------------------------- /charts/kafka-connect-rethink-source/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-connect-volt-sink/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for kafka-connect-volt-sink 3 | name: kafka-connect-volt-sink 4 | version: 1.9 5 | appversion: 1.2.3 6 | -------------------------------------------------------------------------------- /charts/kafka-connect-volt-sink/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} 16 | 17 | {{- define "securityProtocol" -}} 18 | {{- if and .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled -}} 19 | SASL_SSL 20 | {{- end -}} 21 | {{- if and .Values.kafka.sasl.enabled (not .Values.kafka.ssl.enabled) -}} 22 | SASL_PLAINTEXT 23 | {{- end -}} 24 | {{- if and .Values.kafka.ssl.enabled (not .Values.kafka.sasl.enabled) -}} 25 | SSL 26 | {{- end -}} 27 | {{- if and (not .Values.kafka.ssl.enabled) (not .Values.kafka.sasl.enabled) -}} 28 | PLAINTEXT 29 | {{- end -}} 30 | {{- end -}} 31 | 32 | 33 | 34 | {{- define "bootstrapBrokers" -}} 35 | {{- $protocol := include "securityProtocol" . -}} 36 | {{ range $index, $element := .Values.kafka.bootstrapServers }} 37 | {{- if $index -}} 38 | {{- if eq $protocol "PLAINTEXT" -}} 39 | ,{{$protocol}}://{{$element.name}}:{{$element.port}} 40 | {{- end -}} 41 | {{- if eq $protocol "SSL" -}} 42 | ,{{$protocol}}://{{$element.name}}:{{$element.sslPort}} 43 | {{- end -}} 44 | {{- if eq $protocol "SASL_SSL" -}} 45 | ,{{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 46 | {{- end -}} 47 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 48 | ,{{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 49 | {{- end -}} 50 | {{- else -}} 51 | {{- if eq $protocol "PLAINTEXT" -}} 52 | {{$protocol}}://{{$element.name}}:{{$element.port}} 53 | {{- end -}} 54 | {{- if eq $protocol "SSL" -}} 55 | {{$protocol}}://{{$element.name}}:{{$element.sslPort}} 56 | {{- end -}} 57 | {{- if eq $protocol "SASL_SSL" -}} 58 | {{$protocol}}://{{$element.name}}:{{$element.saslSslPort}} 59 | {{- end -}} 60 | {{- if eq $protocol "SASL_PLAINTEXT" -}} 61 | {{$protocol}}://{{$element.name}}:{{$element.saslPlainTextPort}} 62 | {{- end -}} 63 | {{- end -}} 64 | {{end}} 65 | {{- end -}} 66 | 67 | {{- define "registries" -}} 68 | {{- if .Values.schemaRegistries.enabled -}} 69 | {{ range $index, $element := .Values.schemaRegistries.hosts }} 70 | {{- if not $index -}}{{$element.protocol}}://{{$element.host}}:{{$element.port}} 71 | {{- else}},{{$element.protocol}}://{{$element.host}}:{{$element.port}} 72 | {{- end}} 73 | {{- end}} 74 | {{- end -}} 75 | {{- end -}} 76 | 77 | 78 | -------------------------------------------------------------------------------- /charts/kafka-connect-volt-sink/templates/configmap.yaml: -------------------------------------------------------------------------------- 1 | {{- if and .Values.kafka.sasl.enabled (eq .Values.kafka.sasl.mechanism "GSSAPI") }} 2 | 3 | kind: ConfigMap 4 | metadata: 5 | name: "{{ include "fullname" . }}" 6 | labels: 7 | app: "{{ include "fullname" . }}" 8 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 9 | release: "{{ .Release.Name }}" 10 | heritage: "{{ .Release.Service }}" 11 | data: 12 | krb5.conf: 13 | {{ .Values.kafka.sasl.krb5Conf | indent 4 }} 14 | {{- end -}} -------------------------------------------------------------------------------- /charts/kafka-connect-volt-sink/templates/kafka-secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.kafka.ssl.enabled .Values.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }}-kafka-secrets 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | lenses.io/app.type: lenses-secret 13 | data: 14 | {{- if .Values.kafka.ssl.enabled }} 15 | client.truststore.jks: {{ .Values.kafka.ssl.trustStoreFileData }} 16 | client.keystore.jks: {{ .Values.kafka.ssl.keyStoreFileData }} 17 | {{- end }} 18 | stringData: 19 | {{- if .Values.kafka.sasl.enabled }} 20 | jaas.conf: |- 21 | {{ .Values.kafka.sasl.jaasFileData | default "" | indent 4 }} 22 | keytab: |- 23 | {{ .Values.kafka.sasl.keyTabData | default "" | indent 4 }} 24 | {{- end }} 25 | {{- end -}} 26 | -------------------------------------------------------------------------------- /charts/kafka-connect-volt-sink/templates/secret.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Secret 3 | metadata: 4 | name: {{ include "fullname" . }} 5 | labels: 6 | heritage: {{ .Release.Service }} 7 | release: {{ .Release.Name }} 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | lenses.io/app.type: lenses-secret 11 | annotations: 12 | "helm.sh/hook": pre-install 13 | data: 14 | password: {{ .Values.password | b64enc }} 15 | -------------------------------------------------------------------------------- /charts/kafka-connect-volt-sink/templates/service-headless.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: Service 3 | metadata: 4 | name: {{ template "fullname" . }}-headless 5 | labels: 6 | app: {{ include "fullname" . | quote }} 7 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 8 | release: {{ .Release.Name | quote }} 9 | heritage: {{ .Release.Service | quote }} 10 | lenses: lenses-service 11 | annotations: 12 | service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" 13 | spec: 14 | ports: 15 | - name: worker 16 | port: 8083 17 | clusterIP: None 18 | selector: 19 | app: {{ include "fullname" . | quote }} 20 | release: {{ .Release.Name | quote }} -------------------------------------------------------------------------------- /charts/kafka-secrets/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart for Kafka SSL and SASL. Base64 encode the key/truststores 3 | name: kafka-secrets 4 | version: 0.0.2 5 | -------------------------------------------------------------------------------- /charts/kafka-secrets/templates/secrets.yaml: -------------------------------------------------------------------------------- 1 | {{- if or .Values.exports.kafka.ssl.enabled .Values.exports.kafka.sasl.enabled }} 2 | 3 | kind: Secret 4 | apiVersion: v1 5 | metadata: 6 | name: {{ include "fullname" . }} 7 | labels: 8 | app: {{ include "fullname" . }} 9 | chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" 10 | release: "{{ .Release.Name }}" 11 | heritage: "{{ .Release.Service }}" 12 | data: 13 | {{- if .Values.exports.kafka.ssl.enabled }} 14 | client.truststore.jks: {{ .Values.exports.kafka.ssl.trustStoreFileData }} 15 | client.keystore.jks: {{ .Values.exports.kafka.ssl.keyStoreFileData }} 16 | {{- end }} 17 | stringData: 18 | {{- if .Values.exports.kafka.sasl.enabled }} 19 | jaas.conf: |- 20 | {{ .Values.exports.kafka.sasl.jaasFileData | default "" | indent 4 }} 21 | keytab: |- 22 | {{ .Values.exports.kafka.sasl.keyTabData | default "" | indent 4}} 23 | {{- end }} 24 | {{- end -}} 25 | -------------------------------------------------------------------------------- /charts/kafka-secrets/values.yaml: -------------------------------------------------------------------------------- 1 | # exports make available to parent charts 2 | exports: 3 | # kafka ssl 4 | # The key and truststores file data are the base64 encoded contents of the files. YOU MUST PROVIDE THE DATA BASE64 encoded 5 | # The passwords will be base64enc by the secret include 6 | kafka: 7 | ssl: 8 | enabled: false 9 | trustStoreFileData: 10 | keyStoreFileData: 11 | trustStorePassword: 12 | keyStorePassword: 13 | keyPassword: 14 | sasl: 15 | enabled: false 16 | # keyTabData is the contents kerberos keytab file is using kerberos 17 | keyTabData: |- 18 | # jaasFileData is the contents of the kafka jaas file 19 | jaasFileData: |- 20 | #GSSAPI, SCRAM or PLAIN 21 | mechanism: 22 | 23 | -------------------------------------------------------------------------------- /charts/services-external-name/.helmignore: -------------------------------------------------------------------------------- 1 | # Patterns to ignore when building packages. 2 | # This supports shell glob matching, relative path matching, and 3 | # negation (prefixed with !). Only one pattern per line. 4 | .DS_Store 5 | # Common VCS dirs 6 | .git/ 7 | .gitignore 8 | .bzr/ 9 | .bzrignore 10 | .hg/ 11 | .hgignore 12 | .svn/ 13 | # Common backup files 14 | *.swp 15 | *.bak 16 | *.tmp 17 | *~ 18 | # Various IDEs 19 | .project 20 | .idea/ 21 | *.tmproj 22 | 23 | -------------------------------------------------------------------------------- /charts/services-external-name/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | description: A chart containing the services and endpoints of an environment 3 | name: services-external-name 4 | version: 0.2.0 5 | 6 | -------------------------------------------------------------------------------- /charts/services-external-name/templates/services-external-name.yaml: -------------------------------------------------------------------------------- 1 | 2 | kind: Service 3 | metadata: 4 | name: {{ .Values.serviceName | quote }} 5 | spec: 6 | type: "ExternalName" 7 | externalName: {{ .Values.externalName | quote }} 8 | ports: 9 | {{- range .Values.ports }} 10 | - port: {{ .port }} 11 | {{- end }} 12 | 13 | -------------------------------------------------------------------------------- /charts/services-external-name/values.yaml: -------------------------------------------------------------------------------- 1 | externalName: __REQUIRED__ 2 | serviceName: __REQUIRED__ 3 | ports: 4 | - port: __REQUIRED__ 5 | -------------------------------------------------------------------------------- /charts/services/Chart.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: "v1" 2 | name: services 3 | description: A chart containing the services and endpoints of an environment 4 | version: 0.2.0 -------------------------------------------------------------------------------- /charts/services/templates/_helper.tpl: -------------------------------------------------------------------------------- 1 | {{/* vim: set filetype=mustache: */}} 2 | {{/* 3 | Expand the name of the chart. 4 | */}} 5 | {{- define "name" -}} 6 | {{- default .Chart.Name .Values.nameOverride -}} 7 | {{- end -}} 8 | 9 | {{/* 10 | Create a default fully qualified app name. 11 | We truncate at 24 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). 12 | */}} 13 | {{- define "fullname" -}} 14 | {{- printf "%s" .Release.Name -}} 15 | {{- end -}} -------------------------------------------------------------------------------- /charts/services/templates/endpoints.yaml: -------------------------------------------------------------------------------- 1 | 2 | {{- $name := .Chart.Name -}} 3 | {{- $version := .Chart.Version -}} 4 | {{- $releaseName := .Release.Name -}} 5 | {{- $releaseService := .Release.Service -}} 6 | {{- range .Values.services }} 7 | kind: Endpoints 8 | metadata: 9 | name: {{ .host }} 10 | labels: 11 | chart: "{{ $name }}-{{ $version}}" 12 | release: "{{ $releaseName }}" 13 | heritage: "{{ $releaseService }}" 14 | subsets: 15 | - addresses: 16 | {{- range .endpoints }} 17 | - ip: {{ . }} 18 | {{- end }} 19 | ports: 20 | {{- range .ports }} 21 | - name: {{ .name }} 22 | port: {{ .port }} 23 | protocol: TCP 24 | {{- end }} 25 | --- 26 | {{- end }} 27 | 28 | -------------------------------------------------------------------------------- /charts/services/templates/services.yaml: -------------------------------------------------------------------------------- 1 | {{- $name := .Chart.Name -}} 2 | {{- $version := .Chart.Version -}} 3 | {{- $releaseName := .Release.Name -}} 4 | {{- $releaseService := .Release.Service -}} 5 | {{- range .Values.services }} 6 | kind: Service 7 | metadata: 8 | name: {{ .host }} 9 | {{- if .annotations }} 10 | annotations: 11 | {{- range $key, $value := .annotations }} 12 | {{ $key }}: {{ $value | quote }} 13 | {{- end }} 14 | {{- end }} 15 | labels: 16 | chart: "{{ $name }}-{{ $version}}" 17 | release: "{{ $releaseName }}" 18 | heritage: "{{ $releaseService }}" 19 | spec: 20 | sessionAffinity: ClientIP 21 | ports: 22 | {{- range .ports }} 23 | - name: {{ .name }} 24 | port: {{ .port }} 25 | targetPort: {{ .port }} 26 | protocol: TCP 27 | {{- end }} 28 | --- 29 | {{- end }} 30 | 31 | -------------------------------------------------------------------------------- /charts/services/values.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | - host: __REQUIRED__ 3 | endpoints: 4 | - 0.0.0.0 5 | ports: 6 | - name: __REQUIRED__ 7 | port: 0 8 | 9 | -------------------------------------------------------------------------------- /docs/_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-slate -------------------------------------------------------------------------------- /docs/azure-persistent-volume-claims-disk-0.0.2.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/azure-persistent-volume-claims-disk-0.0.2.tgz -------------------------------------------------------------------------------- /docs/azure-persistent-volume-claims-file-0.0.2.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/azure-persistent-volume-claims-file-0.0.2.tgz -------------------------------------------------------------------------------- /docs/azure-persistent-volumes-file-0.0.2.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/azure-persistent-volumes-file-0.0.2.tgz -------------------------------------------------------------------------------- /docs/azure-storage-class-0.0.2.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/azure-storage-class-0.0.2.tgz -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Landoop Helm Chart repository 4 | 5 | 6 | 7 | 8 |
9 |

Helm Charts for Apache Kafka and eco-system

10 | 11 | For a complete list of Helm charts check index.yaml 12 | 13 | To use 14 |
15 | helm repo add landoop https://landoop.github.io/kafka-helm-charts/
16 | helm repo update
17 |         
18 | 19 | 20 | -------------------------------------------------------------------------------- /docs/kafka-connect-blockchain-source-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-blockchain-source-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-bloomberg-source-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-bloomberg-source-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-cassandra-sink-1.7.1.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-cassandra-sink-1.7.1.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-cassandra-source-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-cassandra-source-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-coap-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-coap-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-coap-source-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-coap-source-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-documentdb-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-documentdb-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-druid-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-druid-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-elastic-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-elastic-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-elastic5-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-elastic5-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-elastic6-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-elastic6-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-ftp-source-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-ftp-source-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-hazelcast-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-hazelcast-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-hbase-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-hbase-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-hive-sink-1.7.1.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-hive-sink-1.7.1.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-hive-source-1.7.1.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-hive-source-1.7.1.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-influx-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-influx-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-jms-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-jms-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-jms-source-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-jms-source-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-kudu-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-kudu-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-mongo-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-mongo-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-mqtt-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-mqtt-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-mqtt-source-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-mqtt-source-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-pulsar-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-pulsar-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-pulsar-source-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-pulsar-source-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-redis-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-redis-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-rethink-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-rethink-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-rethink-source-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-rethink-source-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-connect-volt-sink-1.7.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-connect-volt-sink-1.7.tgz -------------------------------------------------------------------------------- /docs/kafka-secrets-0.0.2.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/kafka-secrets-0.0.2.tgz -------------------------------------------------------------------------------- /docs/lenses-2.2.14.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/lenses-2.2.14.tgz -------------------------------------------------------------------------------- /docs/lenses-sql-processor-runner-2.2.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/lenses-sql-processor-runner-2.2.0.tgz -------------------------------------------------------------------------------- /docs/services-0.2.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/services-0.2.0.tgz -------------------------------------------------------------------------------- /docs/services-external-name-0.2.0.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/docs/services-external-name-0.2.0.tgz -------------------------------------------------------------------------------- /key.gpg.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lensesio/kafka-helm-charts/50cbe071613eb49c953acd2e390d43c27269b308/key.gpg.enc -------------------------------------------------------------------------------- /package.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -o errexit 3 | set -o pipefail 4 | 5 | GREEN='\033[0;32m' 6 | ARTIFACTORY_URL=https://lensesio.github.io/kafka-helm-charts/ 7 | 8 | # Fetch packages 9 | git clone -b gh-pages https://github.com/lensesio/kafka-helm-charts.git build 10 | 11 | # decrypt gpg key 12 | openssl aes-256-cbc -k "${HELM_KEY_PASSPHRASE}" -in key.gpg.enc -out key.gpg -d 13 | 14 | echo "Packaging charts..." 15 | # Iterate over all charts are package them 16 | for dir in ${TRAVIS_BUILD_DIR}/charts/*; do 17 | helm dep update $dir 18 | helm package --sign --key 'Lenses.io Helm Charts' --keyring key.gpg -d ${TRAVIS_BUILD_DIR}/build $dir 19 | done 20 | 21 | # Indexing of charts 22 | if [ -f index.yaml ]; then 23 | helm repo index --url ${ARTIFACTORY_URL} --merge index.yaml ${TRAVIS_BUILD_DIR}/build 24 | else 25 | helm repo index --url ${ARTIFACTORY_URL} ${TRAVIS_BUILD_DIR}/build 26 | fi 27 | echo "${GREEN}Success!${NC}" 28 | -------------------------------------------------------------------------------- /scripts/ci-test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -o errexit 4 | set -o nounset 5 | set -o pipefail 6 | 7 | FILES=$(find . -type f -name 'coyote.yml') 8 | 9 | for f in $FILES; do 10 | echo "----------$f----------" 11 | echo "----------------------" 12 | cd $(dirname $f) 13 | coyote 14 | cd ../../ 15 | sleep 20; 16 | done -------------------------------------------------------------------------------- /scripts/lint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | error=0 3 | RED='\033[0;31m' 4 | NC='\033[0m' # No Color 5 | GREEN='\033[0;32m' 6 | 7 | echo -e "==> ${GREEN}Linting charts..${NC}." 8 | for chart in `ls -1 charts`; do 9 | echo -e "==> ${GREEN}Linting chart: $chart ${NC}" 10 | output=`helm lint charts/$chart --debug 2> /dev/null` 11 | if [ $? -ne 0 ]; then 12 | echo -e "===> ${RED} Liniting errors for chart $chart ${NC}" 13 | echo -e "$output" | grep "\\[" 14 | exit 1 15 | fi 16 | echo -e "$output" | grep "\\[" 17 | done 18 | echo -e "==> ${GREEN} No linting errors${NC}" 19 | 20 | exit $error 21 | --------------------------------------------------------------------------------