1.1.0
Release Notes : Klaw 1.1.0
Date: 4th Nov, 2022
Overview
Klaw version 1.1.0 is a minor release with a couple of new features and improvements.
Breaking changes
There are no breaking changes in this release.
New features
-
Authentication protocols: Klaw 1.1.0 includes the authentication protocols SCRAM-SHA-256 and SCRAM-SHA-512, which you can use to connect to Apache Kafka clusters.
-
Enabled JWT-based authentication: Enabled JWT-based authentication to connect to Klaw Cluster API. You can configure klaw.clusterapi.access.base64.secret in both core and cluster-api modules to enable this authentication between APIs.
-
Connect to multiple clusters using SSL: This release includes the functionality to configure Klaw to connect to multiple Apache Kafka clusters with different SSL certificates. In the application.properties file located in the src/main/resources folder, look for the line starting with ssl.* and replace it with .kafkassl.*. You can find the cluster-id from the user interface under the Clusters page.
An example configuration for cluster-id ‘dev1’ is as shown below:
dev1.kafkassl.protocol=TLS
dev1.kafkassl.key.pwd=trustme
dev1.kafkassl.keystore.location=/srv/certs/client.keystore.p12
dev1.kafkassl.keystore.pwd=trustme
dev1.kafkassl.keystore.type=PKCS12
dev1.kafkassl.truststore.location=/srv/certs/client.truststore.jks
dev1.kafkassl.truststore.pwd=trustme
dev1.kafkassl.truststore.type=JKS
Improvements
This release includes the following improvements:
- Klaw as a Maven multi-module project. The modules include
'Core' - Core API with user interface and cluster-api connectivity.
'Cluster-api' - This module is cloned from the main branch of repo https://github.com/aiven/klaw-cluster-api and removes the dependency on this Git repository. - Improved API Exception handling.
- Code refactoring and improvements.
- Fixed a circular dependency issue after migration to the latest Spring version.
- Upgraded Spring boot, Kafka, and other dependencies.
- Makefile to build and run the application
Vulnerabilities and Bug fixes
This release includes the below.
- Removed password authentication on Klaw Cluster API and enabled JWT authentication.
- Actuator endpoints are now exposed for metrics, health, and info, instead of a wildcard.
- Security Configuration endpoint now returns config only to Superusers.
- Security Configuration endpoint now returns limited config instead of whole environment variables.
- ACL commands should not be applied on ‘Aiven for Apache Kafka’ cluster settings. This issue is now fixed.
Upgrade
To upgrade to this release, download the package from https://github.com/aiven/klaw/releases/tag/v1.1.0 and follow the instructions on Klaw documentation to upgrade. You can also refer to the README for information.
Change log
- Fixed principal typos by @dbeech in #61
- Move ObjectMapper to static final by @snuyanzin in #58
- Fix dependabot config name by @snuyanzin in #59
- Removed allowed port range from label by @dbeech in #62
- Bump maven-failsafe-plugin from 2.22.0 to 2.22.2 by @dependabot in #63
- Bump spotless-maven-plugin from 2.23.0 to 2.27.1 by @dependabot in #67
- Bump exec-maven-plugin from 1.6.0 to 3.1.0 by @dependabot in #65
- Bump sonar-maven-plugin from 3.7.0.1746 to 3.9.1.2184 by @dependabot in #66
- Added support for SASL_SSL/SCRAM authentication by @dbeech in #68
- Bump spring-boot-starter-parent from 2.7.3 to 2.7.4 by @dependabot in #64
- Fix Circular dependencies by @muralibasani in #76
- Issue30 builderclasses by @muralibasani in #60
- Bump commons-text from 1.9 to 1.10.0 by @dependabot in #70
- Bump apachepoi.version from 5.2.2 to 5.2.3 by @dependabot in #69
- Bump spotless-maven-plugin from 2.27.1 to 2.27.2 by @dependabot in #77
- Multiple ssl config to connect to multiple clusters with ssl protocols by @muralibasani in #83
- Update permissions bugfix and acl command fix by @muralibasani in #86
- 🙈 Add OS generated files to gitignore. by @programmiri in #89
- 📝 Add doc for accessibility for coral. by @programmiri in #91
- 📝 Add doc for frontend testing for coral. by @programmiri in #92
- 📝 Add doc for documentation for coral. by @programmiri in #90
- Use KafkaClustersType as enum rather than as String by @snuyanzin in #87
- Use getTenantById rather than getAll by @snuyanzin in #88
- 📝 Add doc for directory structure for coral. by @programmiri in #93
- Scaffold react app by @programmiri in #107
- Adding enum for kafka protocols by @muralibasani in #100
- coral: add static linting by @SmuliS in #116
- Setup frontend testing by @programmiri in #117
- Add CODEOWNERS file by @jlprat in #128
- Add aiven design system component library to klaw by @programmiri in #130
- fix[coral]: Include required font weights to Inter import by @SmuliS in #131
- Add contributing doc by @programmiri in #106
- feat[coral]: Introduce GH action for Coral PR check by @SmuliS in #127
- feat[coral]: Showcase css modules with example by @SmuliS in #133
- Add precommit hook by @programmiri in #129
- Add coral readme by @programmiri in #132
- fix: Harden workflow by @jlprat in #134
- fix: put persist-credentials flag properly by @jlprat in #140
- docs: Update README with info about coral. by @programmiri in #146
- New user interface (coral) setup by @SmuliS in #138
- feat[coral]: add first dummy application routes by @SmuliS in #152
- Bump spring-boot-starter-parent from 2.7.4 to 2.7.5 by @dependabot in #135
- Add alias for absolute imports in coral. by @programmiri in #150
- Extend CONTRIBUTING docs. by @programmiri in #153
- misc: exclude coral build artefacts from repository by @SmuliS in #158
- Cluster Api security by @muralibasani in #125
- feat[coral]: no-restricted-imports for page components by @SmuliS in #160
- coral: implement form component [#141] by @programmiri in #159
- docs: add information about squash-merge method. by @programmiri in #167
- feat: Add rudimentary style and behavior for login page. by @programmiri in #168
- coral: setup react query by @programmiri in #170
- feat: run coral inside Klaw springboot application by @SmuliS in #162
- feat(coral): Setup msw to mock api [#144] by @programmiri in #172
- Release 1.1.0 with multi maven modules 'core' and 'cluster-api' by @muralibasani in #169
Full Changelog: 1.0.0...1.1.0
Contributors
Murali Basani
Mirjam Aulbach
Samuli Suortti
Sergey Nuyanzin
Josep Prat
Ahmed Sobeh
Dave Beech
Stefan Arentz
Sebastian Kaiser