diff --git a/charts/burrow/README.md b/charts/burrow/README.md index fea242a..4e3dca7 100644 --- a/charts/burrow/README.md +++ b/charts/burrow/README.md @@ -61,18 +61,21 @@ Parameter | Description | Default `burrow.config.zookeeper.rootPath` | A full path to the znode that Burrow is allow to write under. The path will be created if it does not already exist | `/burrow` `burrow.config.httpserver.default.address` | Specifies what the server should listen on | `:8000` `burrow.config.httpserver.default.timeout` | The timeout and keepalive setting for connections, in seconds | `300` -`burrow.config.cluster.` | The `` part is the name by which this cluster will be referred to in other parts of the configuration, as well as in HTTP requests and notifications. You may configure as many cluster sections as you want (and Burrow is efficient at handling multiple Kafka clusters). Note that the cluster configuration only retrieves the topic list and cluster offsets. | `{}` +`burrow.config.cluster.` | The `` part is the name by which this cluster will be referred to in other parts of the configuration (if not overriden by `burrow.config.cluster..clusterName`), as well as in HTTP requests and notifications. You may configure as many cluster sections as you want (and Burrow is efficient at handling multiple Kafka clusters). Note that the cluster configuration only retrieves the topic list and cluster offsets. | `{}` +`burrow.config.cluster..clusterName` | Overrides the cluster name which default to the map key `` | + `burrow.config.cluster..className` | This is the name of the cluster module type. The only available class is `kafka` | `kafka` `burrow.config.cluster..servers` | A list of strings in the form "hostname:port" that point to the servers in the Kafka cluster. At least one is required | `burrow.config.cluster..topicRefresh` | How often to refresh the list of all topics in the cluster, in seconds | `60` `burrow.config.cluster..offsetRefresh` | How often to refresh the broker offset for each partition, in seconds | `10` +`burrow.config.consumer..clusterName` | If `burrow.config.cluster..clusterName` is set then this setting must be set to the same value | `burrow.config.consumer..className` | This is the name of the cluster module type. The available classes are: `kafka` or `kafka_zk` | `kafka` `burrow.config.consumer..servers` | A list of strings in the form "hostname:port" that point to the servers in the Kafka cluster. At least one is required | `burrow.config.consumer..groupWhitelist` | If specified, only send offsets for groups that match this regular expression | `.*` `burrow.config.consumer..groupBlacklist` | If specified, only send offsets for groups that DO NOT match this regular expression. This is processed after the whitelist (if specified) | `^.*(console-consumer-|python-kafka-consumer-).*` `burrow.config.notifier..className` | This is the name of the cluster module type. The available classes are: `http` or `email` | `http` `burrow.config.notifier..interval` | The number of seconds to wait between sending notifications for a single group | `60` -`burrow.config.notifier..threshold` | The minimum group status to send out notifications for (refer to [StatusConstant](https://godoc.org/github.com/linkedin/Burrow/core/protocol#StatusConstant) for values). | `2` +`burrow.config.notifier..threshold` | The minimum group status to send out notifications for (refer to [StatusConstant](https://godoc.org/github.com/linkedin/Burrow/core/protocol#StatusConstant) for values). | `1` `burrow.config.notifier..groupBlacklist` | If specified, only send notifications for groups that DO NOT match this regular expression. This is processed after the whitelist (if specified) | `^.*(console-consumer-|python-kafka-consumer-).*$` `burrow.config.notifier..groupWhitelist` | If specified, only send notifications for groups that match this regular expression | `^.*$` `burrow.config.notifier..extras` | A string representation of a JSON object that will be available when compiling the template for the message to send | `'{}'` diff --git a/charts/burrow/templates/burrow-configmap.yaml b/charts/burrow/templates/burrow-configmap.yaml index 7f82624..1e17cb9 100644 --- a/charts/burrow/templates/burrow-configmap.yaml +++ b/charts/burrow/templates/burrow-configmap.yaml @@ -23,7 +23,7 @@ data: {{- $root := . }} {{ range $key, $value := .Values.burrow.config.cluster }} - [cluster.{{ $key }}] + [cluster.{{ $value.clusterName | default $key }}] class-name={{ $value.className | default "kafka" | quote }} servers={{ include "burrow.servers" $value.servers }} topic-refresh={{ $value.topicRefresh | default 60 }} @@ -31,9 +31,9 @@ data: {{ end }} {{- range $key, $value := .Values.burrow.config.consumer }} - [consumer.{{ $key }}] + [consumer.{{ $value.clusterName | default $key }}] class-name={{ $value.className | default "kafka" | quote }} - cluster="{{ $key }}" + cluster="{{ $value.clusterName | default $key }}" servers={{ include "burrow.servers" $value.servers }} group-blacklist={{ $value.groupBlacklist | default "^.*(console-consumer-|python-kafka-consumer-).*$" | quote }} group-whitelist={{ $value.groupWhitelist | default ".*" | quote }} @@ -43,7 +43,7 @@ data: [notifier.{{ $key }}] class-name={{ $value.className | default "http" | quote }} interval={{ $value.interval | default 60 }} - threshold={{ $value.threshold | default 2 }} + threshold={{ $value.threshold | default 1 }} group-blacklist={{ $value.groupBlacklist | default "^.*(console-consumer-|python-kafka-consumer-).*$" | quote }} group-whitelist={{ $value.groupWhitelist | default "^.*$" | quote }} {{- if $value.extras }} diff --git a/charts/karrot/Chart.yaml b/charts/karrot/Chart.yaml index 7826f90..4a7f481 100644 --- a/charts/karrot/Chart.yaml +++ b/charts/karrot/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -appVersion: "1.0" +appVersion: "1.0.0" description: A Helm chart for Kubernetes name: karrot version: 0.1.0 diff --git a/charts/karrot/README.md b/charts/karrot/README.md index 919e8cd..8df6ea2 100644 --- a/charts/karrot/README.md +++ b/charts/karrot/README.md @@ -9,7 +9,7 @@ $ helm repo add lowess-helm https://lowess.github.io/helm-charts -# Install burrow +# Install karrot $ helm install lowess-helm/karrot ``` diff --git a/charts/karrot/templates/karrot-deployment.yaml b/charts/karrot/templates/karrot-deployment.yaml index f02a966..1a3d4e3 100644 --- a/charts/karrot/templates/karrot-deployment.yaml +++ b/charts/karrot/templates/karrot-deployment.yaml @@ -12,6 +12,10 @@ spec: app.kubernetes.io/instance: {{ .Release.Name }} template: metadata: + {{- if .Values.karrot.podAnnotations }} + annotations: +{{ toYaml .Values.karrot.podAnnotations | indent 8 }} + {{- end }} labels: app.kubernetes.io/name: {{ include "karrot.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} @@ -31,7 +35,7 @@ spec: value: prod {{- range $key, $value := .Values.karrot.env }} - name: {{ $key }} - value: {{ $value }} + value: {{ $value | quote }} {{- end }} args: - "karrot:create_app()" diff --git a/charts/karrot/templates/karrot-service.yaml b/charts/karrot/templates/karrot-service.yaml index cb7d529..309b3cf 100644 --- a/charts/karrot/templates/karrot-service.yaml +++ b/charts/karrot/templates/karrot-service.yaml @@ -4,6 +4,10 @@ metadata: name: {{ include "karrot.fullname" . }} labels: {{ include "karrot.labels" . | indent 4 }} +{{- if .Values.service.annotations }} + annotations: +{{ toYaml .Values.service.annotations | indent 4 }} +{{- end }} spec: type: {{ .Values.service.type }} ports: diff --git a/charts/karrot/values.yaml b/charts/karrot/values.yaml index 8359911..5fc213d 100644 --- a/charts/karrot/values.yaml +++ b/charts/karrot/values.yaml @@ -6,7 +6,7 @@ replicaCount: 1 image: repository: lowess/karrot - tag: v0.0.1 + tag: v1.0.0 pullPolicy: IfNotPresent imagePullSecrets: [] @@ -16,6 +16,8 @@ fullnameOverride: "" service: type: NodePort port: 80 + annotations: {} + # prometheus.io/scrape: "true" ingress: enabled: true @@ -44,6 +46,12 @@ resources: {} # memory: 128Mi karrot: + ## Annotations to be added to Karrot pods + ## + podAnnotations: {} + + ## Environment variables to be added to Karrot pods + ## env: AWS_DEFAULT_REGION: us-east-1