Skip to content

Commit 015c079

Browse files
committed
feat: add strimzi chart for s3-connector
1 parent 650a7a0 commit 015c079

File tree

17 files changed

+730
-0
lines changed

17 files changed

+730
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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+
.vscode/
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
dependencies:
2+
- name: common
3+
repository: https://radar-base.github.io/radar-helm-charts
4+
version: 2.27.0
5+
digest: sha256:397fd12e07f1aa1a5280579406a75b169f8262ac4214584ea366460277288546
6+
generated: "2024-12-27T18:49:31.278906468+01:00"
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
apiVersion: v2
2+
appVersion: 3.9.0
3+
description: A Helm chart for RADAR-base s3 connector. This connector uses Confluent s3 connector with a custom data transformers. These configurations enable a sink connector. See full list of properties here https://docs.confluent.io/kafka-connect-s3-sink/current/configuration_options.html#s3-configuration-options
4+
name: radar-s3-connector-strimzi
5+
version: 0.0.1
6+
icon: "http://radar-base.org/wp-content/uploads/2022/09/Logo_RADAR-Base-RGB.png"
7+
sources:
8+
- https://github.com/RADAR-base/radar-helm-charts/tree/main/charts/radar-s3-connector
9+
- https://github.com/RADAR-base/kafka-connect-transform-keyvalue
10+
- https://docs.confluent.io/kafka-connect-s3-sink/current/configuration_options.html#s3-configuration-options
11+
keywords:
12+
- radar-base
13+
- remote-trial
14+
annotations:
15+
artifacthub.io/license: Apache-2.0
16+
type: application
17+
home: "https://radar-base.org"
18+
maintainers:
19+
- email: pim@thehyve.nl
20+
name: Pim van Nierop
21+
url: https://www.thehyve.nl/experts/pim-van-nierop
22+
dependencies:
23+
- name: common
24+
repository: https://radar-base.github.io/radar-helm-charts
25+
tags:
26+
- bitnami-common
27+
version: 2.x.x

charts/radar-s3-connector-strimzi/DOCS.md.gotmpl

Whitespace-only changes.
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
2+
3+
# radar-s3-connector-strimzi
4+
[![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/radar-s3-connector-strimzi)](https://artifacthub.io/packages/helm/radar-base/radar-s3-connector-strimzi)
5+
6+
![Version: 0.0.1](https://img.shields.io/badge/Version-0.0.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.9.0](https://img.shields.io/badge/AppVersion-3.9.0-informational?style=flat-square)
7+
8+
A Helm chart for RADAR-base s3 connector. This connector uses Confluent s3 connector with a custom data transformers. These configurations enable a sink connector. See full list of properties here https://docs.confluent.io/kafka-connect-s3-sink/current/configuration_options.html#s3-configuration-options
9+
10+
**Homepage:** <https://radar-base.org>
11+
12+
## Maintainers
13+
14+
| Name | Email | Url |
15+
| ---- | ------ | --- |
16+
| Pim van Nierop | <pim@thehyve.nl> | <https://www.thehyve.nl/experts/pim-van-nierop> |
17+
18+
## Source Code
19+
20+
* <https://github.com/RADAR-base/radar-helm-charts/tree/main/charts/radar-s3-connector>
21+
* <https://github.com/RADAR-base/kafka-connect-transform-keyvalue>
22+
* <https://docs.confluent.io/kafka-connect-s3-sink/current/configuration_options.html#s3-configuration-options>
23+
24+
## Prerequisites
25+
* Kubernetes 1.28+
26+
* Kubectl 1.28+
27+
* Helm 3.1.0+
28+
29+
## Requirements
30+
31+
| Repository | Name | Version |
32+
|------------|------|---------|
33+
| https://radar-base.github.io/radar-helm-charts | common | 2.x.x |
34+
35+
## Values
36+
37+
| Key | Type | Default | Description |
38+
|-----|------|---------|-------------|
39+
| replicaCount | int | `1` | Number of radar-s3-connector replicas to deploy |
40+
| image.registry | string | `"docker.io"` | Image registry |
41+
| image.repository | string | `"radarbase/kafka-connect-transform-s3"` | Image repository |
42+
| image.tag | string | `nil` | Image tag (immutable tags are recommended) Overrides the image tag whose default is the chart appVersion. |
43+
| image.digest | string | `""` | Image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag |
44+
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
45+
| image.pullSecrets | list | `[]` | Optionally specify an array of imagePullSecrets. Secrets must be manually created in the namespace. e.g: pullSecrets: - myRegistryKeySecretName |
46+
| nameOverride | string | `""` | String to partially override common.names.fullname template with a string (will prepend the release name) |
47+
| fullnameOverride | string | `""` | String to fully override common.names.fullname template with a string |
48+
| podSecurityContext | object | `{}` | Configure radar-s3-connector pods' Security Context |
49+
| securityContext | object | `{}` | Configure radar-s3-connector containers' Security Context |
50+
| service.type | string | `"ClusterIP"` | Kubernetes Service type |
51+
| service.port | int | `8083` | radar-s3-connector port |
52+
| resources.requests | object | `{"cpu":"100m","memory":"3Gi"}` | CPU/Memory resource requests |
53+
| jvmOptions.xmx | string | `"4g"` | |
54+
| jvmOptions.xms | string | `"3g"` | |
55+
| nodeSelector | object | `{}` | Node labels for pod assignment |
56+
| tolerations | list | `[]` | Toleration labels for pod assignment |
57+
| affinity | object | `{}` | Affinity labels for pod assignment |
58+
| secret.jaas | object | `{"key":"sasl.jaas.config","name":"shared-service-user"}` | Secret for the Kafka SASL JAAS configuration |
59+
| extraEnvVars | list | `[]` | Extra environment variables |
60+
| customLivenessProbe | object | `{}` | Custom livenessProbe that overrides the default one |
61+
| livenessProbe.enabled | bool | `true` | Enable livenessProbe |
62+
| livenessProbe.initialDelaySeconds | int | `5` | Initial delay seconds for livenessProbe |
63+
| livenessProbe.periodSeconds | int | `30` | Period seconds for livenessProbe |
64+
| livenessProbe.timeoutSeconds | int | `5` | Timeout seconds for livenessProbe |
65+
| livenessProbe.successThreshold | int | `1` | Success threshold for livenessProbe |
66+
| livenessProbe.failureThreshold | int | `3` | Failure threshold for livenessProbe |
67+
| customReadinessProbe | object | `{}` | Custom readinessProbe that overrides the default one |
68+
| readinessProbe.enabled | bool | `true` | Enable readinessProbe |
69+
| readinessProbe.initialDelaySeconds | int | `5` | Initial delay seconds for readinessProbe |
70+
| readinessProbe.periodSeconds | int | `30` | Period seconds for readinessProbe |
71+
| readinessProbe.timeoutSeconds | int | `5` | Timeout seconds for readinessProbe |
72+
| readinessProbe.successThreshold | int | `1` | Success threshold for readinessProbe |
73+
| readinessProbe.failureThreshold | int | `3` | Failure threshold for readinessProbe |
74+
| networkpolicy | object | check `values.yaml` | Network policy defines who can access this application and who this applications has access to |
75+
| schema_registry | string | `"http://radar-kafka-schema-registry:8081"` | URL of the Kafka schema registry |
76+
| radar_rest_sources_backend_url | string | `"http://radar-rest-sources-backend:8080/rest-sources/backend/"` | Base URL of the rest-sources-authorizer-backend service |
77+
| connector_num_tasks | string | `"5"` | Number of connector tasks to be used in kafka-connector spec properties |
78+
| catalogServer.url | string | `"http://catalog-server:9010"` | Catalog server URL |
79+
| topics | string | `""` | List of topics to be consumed by the sink connector separated by comma. Topics defined in the catalog server will automatically be loaded if `initTopics.enabled` is true. |
80+
| s3Endpoint | string | `"http://minio:9000/"` | Target S3 endpoint url |
81+
| s3Tagging | bool | `false` | set to true, if S3 objects should be tagged with start and end offsets, as well as record count. |
82+
| s3PartSize | int | `5242880` | The Part Size in S3 Multi-part Uploads. |
83+
| s3Region | string | `nil` | The AWS region to be used the connector. Some compatibility layers require this. |
84+
| flushSize | int | `10000` | Number of records written to store before invoking file commits. |
85+
| rotateInterval | int | `900000` | The time interval in milliseconds to invoke file commits. |
86+
| maxTasks | int | `4` | Number of tasks in the connector |
87+
| bucketAccessKey | string | `"access_key"` | Access key of the target S3 bucket |
88+
| bucketSecretKey | string | `"secret"` | Secret key of the target S3 bucket |
89+
| bucketName | string | `"radar_intermediate_storage"` | Bucket name of the target S3 bucket |
90+
| cc.enabled | bool | `false` | Set to true, if Confluent Cloud is used |
91+
| cc.bootstrapServerurl | string | `""` | Confluent cloud based Kafka broker URL (if Confluent Cloud based Kafka cluster is used) |
92+
| cc.schemaRegistryUrl | string | `""` | Confluent cloud based Schema registry URL (if Confluent Cloud based Schema registry is used) |
93+
| cc.apiKey | string | `"ccApikey"` | API Key of the Confluent Cloud cluster |
94+
| cc.apiSecret | string | `"ccApiSecret"` | API secret of the Confluent Cloud cluster |
95+
| cc.schemaRegistryApiKey | string | `"srApiKey"` | API Key of the Confluent Cloud Schema registry |
96+
| cc.schemaRegistryApiSecret | string | `"srApiSecret"` | API Key of the Confluent Cloud Schema registry |
97+
| initTopics.enabled | bool | `true` | If true, fetch list of topics from catalog server |
98+
| initTopics.image.repository | string | `"linuxserver/yq"` | Image repository to fetch topics with |
99+
| initTopics.image.tag | string | `"3.2.2"` | Image tag to fetch topics with |
100+
| initTopics.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy to fetch topics with |
101+
| log4j | object | `{"rootLogLevel":"INFO"}` | Log4j configuration |
102+
| log4j.rootLogLevel | string | `"INFO"` | Root log level for the Kafka Connect instance |
103+
| sentry.dsn | string | `nil` | DSN (Data Source Name) of the sentry server |
104+
| sentry.level | string | `"ERROR"` | Log level for sentry (TRACE, DEBUG, INFO, WARN, or ERROR) |
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{{ template "common.header" . }}
2+
{{ template "chart.deprecationWarning" . }}
3+
4+
{{ template "chart.badgesSection" . }}
5+
6+
{{ template "chart.description" . }}
7+
8+
{{ template "chart.homepageLine" . }}
9+
10+
{{ template "chart.maintainersSection" . }}
11+
12+
{{ template "chart.sourcesSection" . }}
13+
14+
{{ template "common.prerequisites" . }}
15+
16+
{{ template "chart.requirementsSection" . }}
17+
18+
{{ template "chart.valuesSection" . }}
15.3 KB
Binary file not shown.

charts/radar-s3-connector-strimzi/templates/NOTES.txt

Whitespace-only changes.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{{/*
2+
Return the proper image name
3+
*/}}
4+
{{- define "radar-s3-connector.image" -}}
5+
{{ include "common.images.image" (dict "imageRoot" .Values.image "global" .Values.global "chart" .Chart ) }}
6+
{{- end -}}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# This approach allows to specify dynamic logging configuration for Kafka Connect through an external logging section of KafkaConnect resource specification.
2+
# See: https://strimzi.io/docs/operators/0.45.1/configuring#property-kafka-connect-logging-reference
3+
apiVersion: v1
4+
kind: ConfigMap
5+
metadata:
6+
name: {{ template "common.names.fullname" . }}-log4j
7+
namespace: {{ include "common.names.namespace" . | quote }}
8+
labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }}
9+
{{- if .Values.commonAnnotations }}
10+
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
11+
{{- end }}
12+
data:
13+
log4j.properties: |-
14+
# Root logger configuration
15+
# The sentryAppender is added to the rootLogger if SENTRY_DSN is set
16+
log4j.rootLogger=${env:CONNECT_LOG4J_ROOT_LOGLEVEL:-INFO}, stdout${env:SENTRY_DSN:+, sentryAppender}
17+
18+
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
19+
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
20+
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n
21+
22+
# Appender for Sentry monitoring, only active if SENTRY_DSN is set
23+
log4j.appender.sentryAppender=io.sentry.log4j.SentryAppender
24+
log4j.appender.sentryAppender.threshold=${env:SENTRY_LOG_LEVEL:-ERROR}
25+
26+
# Default log levels
27+
log4j.logger.org.reflections=ERROR
28+
log4j.logger.org.I0Itec.zkclient=ERROR

0 commit comments

Comments
 (0)