Skip to content

Commit

Permalink
feat: install bitnami/kafka dependency helm chart
Browse files Browse the repository at this point in the history
- Install kafka cluster with 3 brokers

Fixes issue #1
  • Loading branch information
sydrawat01 authored and rishabNeu committed Nov 10, 2023
1 parent 3d8fd16 commit b5c54f3
Show file tree
Hide file tree
Showing 9 changed files with 108 additions and 144 deletions.
6 changes: 6 additions & 0 deletions Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dependencies:
- name: kafka
repository: https://charts.bitnami.com/bitnami
version: 26.4.0
digest: sha256:3abfbc36f193cb62d0e1c0b1b866bd665e215e8b9ad5368ff855d4eedee30b3f
generated: "2023-11-10T08:43:13.934774-05:00"
36 changes: 17 additions & 19 deletions Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
apiVersion: v2
name: infra-helm-chart
description: A Helm chart for Kubernetes

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
description: A Helm chart for Kubernetes to install dependencies
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "1.16.0"
home: https://github.com/csye7125-fall2023-group05/infra-helm-chart
keywords:
- CSYE-7125 Infrastructure HELM Chart
- dependency helm chart
maintainers:
- name: Siddharth Rawat
email: [email protected]
url: https://sydrawat.live
- name: Rishab Rajesh Agarwal
email: [email protected]
- name: Karan Wadhwa
email: [email protected]
dependencies:
- name: kafka
version: "26.4.x"
repository: "https://charts.bitnami.com/bitnami"
46 changes: 46 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,49 @@ This helm chart is to deploy a highly reliable and highly available [Kafka](http

This makes use of [Bitnami's Kafka Helm Chart](https://github.com/bitnami/charts/tree/main/bitnami/kafka) as a dependency.

- Adding the `bitnami/kafka` chart as a dependency:

```yaml
# Chart.yaml
dependencies:
- name: kafka
version: "26.4.x"
repository: "https://charts.bitnami.com/bitnami"
```
- Install/update dependencies:
```bash
# adds the bitnami/kafka dependency chart in charts/ directory
helm dependency update
```

- The `values.yaml` overrides the configurations for the `kafka` dependency chart to create 3 brokers (along with other configurations).

```yaml
# values.yaml
kafka:
listeners:
client:
protocol: PLAINTEXT
controller:
protocol: PLAINTEXT
interbroker:
protocol: PLAINTEXT
external:
protocol: PLAINTEXT
controller:
replicaCount: 0
broker:
replicaCount: 3
persistence:
size: 1Gi
serviceAccount:
create: false
kraft:
enabled: false
zookeeper:
enabled: true
persistence:
size: 1Gi
```
Binary file added charts/kafka-26.4.0.tgz
Binary file not shown.
32 changes: 0 additions & 32 deletions templates/hpa.yaml

This file was deleted.

61 changes: 0 additions & 61 deletions templates/ingress.yaml

This file was deleted.

15 changes: 0 additions & 15 deletions templates/service.yaml

This file was deleted.

13 changes: 0 additions & 13 deletions templates/serviceaccount.yaml

This file was deleted.

43 changes: 39 additions & 4 deletions values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,12 @@ serviceAccount:
podAnnotations: {}
podLabels: {}

podSecurityContext: {}
podSecurityContext:
{}
# fsGroup: 2000

securityContext: {}
securityContext:
{}
# capabilities:
# drop:
# - ALL
Expand All @@ -46,7 +48,8 @@ service:
ingress:
enabled: false
className: ""
annotations: {}
annotations:
{}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
Expand All @@ -59,7 +62,8 @@ ingress:
# hosts:
# - chart-example.local

resources: {}
resources:
{}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
Expand Down Expand Up @@ -96,3 +100,34 @@ nodeSelector: {}
tolerations: []

affinity: {}

kafka:
listeners:
client:
protocol: PLAINTEXT
controller:
protocol: PLAINTEXT
interbroker:
protocol: PLAINTEXT
external:
protocol: PLAINTEXT
controller:
replicaCount: 0
broker:
replicaCount: 3
persistence:
size: 1Gi
# externalAccess:
# enabled: true
# autoDiscovery:
# enabled: true
serviceAccount:
create: false
# rbac:
# create: true
kraft:
enabled: false
zookeeper:
enabled: true
persistence:
size: 1Gi

0 comments on commit b5c54f3

Please sign in to comment.