Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/workflows/pr_generate_manifests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# =============
# This file is automatically generated from the templates in stackabletech/operator-templating
# DON'T MANUALLY EDIT THIS FILE
# =============
name: Update Manifest files

on:
pull_request:

jobs:
manifests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
token: ${{ secrets.STACKY_MC_STACKFACE_TOKEN }}
- name: Set up Helm
uses: azure/setup-helm@v1
with:
version: v3.6.2
- name: update manifests
run: make generate-manifests
- name: Add & Commit
uses: EndBug/add-and-commit@v7
with:
default_author: user_info
author_name: Stacky McStackface
author_email: stackable-bot@users.noreply.github.com
pathspec_error_handling: exitImmediately
pull: NO-PULL
add: 'deploy'
message: 'Github Actions: Generated k8s manifest files'
8 changes: 8 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,11 @@ deploy/helm/kafka-operator/crds/crds.yaml:

chart-lint: compile-chart
docker run -it -v $(shell pwd):/build/helm-charts -w /build/helm-charts quay.io/helmpack/chart-testing:v3.4.0 ct lint --config deploy/helm/chart_testing.yaml

## Manifest related targets
clean-manifests:
mkdir -p deploy/manifests
rm -rf $$(find deploy/manifests -maxdepth 1 -mindepth 1 -not -name Kustomization)

generate-manifests: clean-manifests compile-chart
./scripts/generate-manifests.sh
9 changes: 2 additions & 7 deletions deploy/helm/kafka-operator/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@
# This file is automatically generated from the templates in stackabletech/operator-templating
# DON'T MANUALLY EDIT THIS FILE
# =============

apiVersion: v2
name: kafka-operator
description: The Stackable Operator for Apache Kafka

# 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
Expand All @@ -16,18 +14,15 @@ description: The Stackable Operator for Apache Kafka
# 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.
type: application

maintainers:
- name: stackable
url: github.com/stackabletech

# 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: <version_placeholder>

version: 0.4.0-nightly
# 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: <version_placeholder>
appVersion: 0.4.0-nightly
174 changes: 174 additions & 0 deletions deploy/helm/kafka-operator/configs/properties.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
version: 0.1.0
spec:
units:
- unit: &unitPort
name: "port"
regex: "^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$"

- unit: &unitUrl
name: "url"
regex: "^((https?|ftp|file)://)?[-a-zA-Z0-9+&@#}/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]"
examples:
- "https://www.stackable.de/blog/"

- unit: &unitCapacity
name: "capacity"
regex: "^[1-9]\\d*$"

- unit: &unitMilliseconds
name: "milliseconds"
regex: "^[1-9]\\d*$"

properties:
- property: &zookeeperConnect
propertyNames:
- name: "zookeeper.connect"
kind:
type: "file"
file: "server.properties"
datatype:
type: "string"
unit: *unitUrl
defaultValues:
- fromVersion: "0.0.0"
value: "localhost:2181"
roles:
- name: "broker"
required: true
asOfVersion: "0.0.0"
description: "The zookeeper connection string"

- property: &zookeeperTimeout
propertyNames:
- name: "zookeeper.connection.timeout.ms"
kind:
type: "file"
file: "server.properties"
datatype:
type: "integer"
unit: *unitMilliseconds
defaultValues:
- fromVersion: "0.0.0"
value: "18000"
roles:
- name: "broker"
required: true
asOfVersion: "0.0.0"
description: "Zookeeper connection timeout in milliseconds."

- property: &opaAuthorizerClassName
propertyNames:
- name: "authorizer.class.name"
kind:
type: "file"
file: "server.properties"
datatype:
type: "string"
defaultValues:
- fromVersion: "0.0.0"
value: "com.bisnode.kafka.authorization.OpaAuthorizer"
roles:
- name: "broker"
required: false
asOfVersion: "0.0.0"
description: "OPA Authorizer class name"

- property: &opaAuthorizerUrl
propertyNames:
- name: "opa.authorizer.url"
kind:
type: "file"
file: "server.properties"
datatype:
type: "string"
unit: *unitUrl
roles:
- name: "broker"
required: false
asOfVersion: "0.0.0"
description: "OPA Authorizer URL"

- property: &opaAuthorizerInitialCacheCapacity
propertyNames:
- name: "opa.authorizer.cache.initial.capacity"
kind:
type: "file"
file: "server.properties"
datatype:
type: "integer"
unit: *unitCapacity
defaultValues:
- fromVersion: "0.0.0"
value: "0"
roles:
- name: "broker"
required: false
asOfVersion: "0.0.0"
description: "OPA Authorizer initial cache capacity"

- property: &opaAuthorizerMaxCacheSize
propertyNames:
- name: "opa.authorizer.cache.maximum.size"
kind:
type: "file"
file: "server.properties"
datatype:
type: "integer"
unit: *unitCapacity
defaultValues:
- fromVersion: "0.0.0"
value: "0"
roles:
- name: "broker"
required: false
asOfVersion: "0.0.0"
description: "OPA authorizer max cache size"

- property: &opaAuthorizerCacheExpireAfterSeconds
propertyNames:
- name: "opa.authorizer.cache.expire.after.seconds"
kind:
type: "file"
file: "server.properties"
datatype:
type: "integer"
unit: *unitCapacity
defaultValues:
- fromVersion: "0.0.0"
value: "0"
roles:
- name: "broker"
required: false
asOfVersion: "0.0.0"
description: "The number of seconds after which the OPA authorizer cache expires"

- property: &logDirs
propertyNames:
- name: "log.dirs"
kind:
type: "file"
file: "server.properties"
datatype:
type: "string"
roles:
- name: "server"
required: false
asOfVersion: "0.0.0"
description: "A comma separated list of directories under which to store log files"

- property: &metricsPort
propertyNames:
- name: "metricsPort"
kind:
type: "env"
datatype:
type: "integer"
unit: *unitPort
min: "1024"
max: "65535"
roles:
- name: "server"
required: false
asOfVersion: "0.0.0"
description: "The port where Kafka metrics are exposed as a Prometheus endpoint."

Loading