Klaw Documentation
website·Indexed 31 days ago
https://www.klaw-project.ioDocumentation for Klaw, a governance and administration tool for Apache Kafka® ecosystems. Klaw provides features for managing topics, schemas, and subscriptions, including environment promotion, consumer lag viewing, and request-based workflows for creating or deleting Kafka resources. It supports multi-tenant configuration, team-based access control, and various authentication methods including Azure AD and SSO.
What's inside Klaw
- Klaw is a free and open-source one-stop solution designed to simplify the management of Apache Kafka topics, schemas, and associated governance tasks for developers and administrators, replacing fragmented manual tracking methods like Excel, Confluence, or partial GitOps implementations.
Overview of Klaw for Apache Kafka Governance
Klaw is an open-source toolkit designed to manage Apache Kafka governance, compliance, and security. It addresses common challenges in large-scale Kafka deployments, such as managing thousands of topics, ensuring data security (GDPR/HIPAA), and automating the promotion of configurations across environments. Klaw is built on four pillars: Governance (audit trails, ownership), Self-service (dashboards, reporting), Security (RBAC, SSO), and Automation (resource provisioning, backup/restore).Overview of Klaw Architecture
Klaw is a Java-based web application (compatible with JDK 17/19) designed for Apache Kafka governance. It uses Spring Boot for the backend and is transitioning its frontend from AngularJS to React JS. Klaw uses an RDBMS-based data store for metadata, defaulting to a file-based H2 database.Understand schema management in Klaw
Klaw manages schemas for Apache Kafka topics to ensure data structure clarity between producers and consumers. It supports JSON, Avro, and Protobuf formats and integrates with Aiven's Karapace and Confluent schema registries.
Key operational rules in Klaw include:
- Ownership: Schema ownership is managed via the 'Team' concept. The team that owns a topic is responsible for approving or declining schema-related requests.
- Naming Strategy: Klaw enforces the
TopicNameStrategy, ensuring only one schema is applied per topic by using the topic name as the schema subject for lookups.
Monitor cluster and tenant usage via Klaw Analytics
The Klaw Analytics screen provides visibility into cluster status and usage metrics. Users can track requests from teams, monitor topics, analyze consumer groups, and review ACL ownership through various charts. The available data is role-dependent: SUPERADMINs have access to a tenant overview, while USERs see data scoped to their permissions. Detailed statistics reports can be downloaded directly from the Analytics screen.Configure user authentication for Klaw
Klaw supports multiple authentication methods for user login. Available options include Windows Active Directory (AD), Single Sign-On (SSO) providers such as Azure AD and Google Accounts, third-party login accounts, and internal database-backed user accounts.Manage Kafka topic details and cluster connections in the Overview tab
The Overview tab provides a holistic view of a selected topic, divided into three main sections:
- Topic details: View partitions, replication factors, and advanced configurations.
- Cluster details: Access the Bootstrap server address, protocol, Apache Kafka® version, cluster name, status, and REST API details.
- Subscriptions & schemas: View the total count of producers, consumers, and associated schemas. From here, you can trigger requests for new subscriptions or schemas, or navigate to the detailed subscriptions and schema views.
Understand Klaw's Request and Approval Workflow
Klaw implements the 'Four Eyes Principle' for applying configurations to Apache Kafka clusters. Instead of direct modification, users must raise a request and obtain approval from another authorized user before changes are implemented.
Key constraints:
- A user who raises a request cannot approve their own request.
- By default, only users with the
USERrole can make requests. - Users with the
SUPERADMINrole manage users and teams but cannot initiate requests.
Validate topic names using Regex patterns
In Klaw 2.3.0, topic requests can now be validated using regex patterns. This replaces the previous limitation where only prefix or suffix validation was available for topic names.Manage Access Control Lists (ACLs) using Group ACLs
Klaw 2.3.0 allows users to group Access Control Lists (ACLs) by team. This feature provides a more concise and user-friendly way to view and manage ACL information across the organization.Access the new React UI in Klaw v2.10.0
Klaw v2.10.0 introduces a redesigned user interface built with React. Access to the new UI, including the form to add a new cluster, is restricted to users with theSUPERADMINrole.Use the enhanced Topic overview
The Topic overview in Klaw 2.3.0 has been updated to display one environment at a time to improve readability. Users can switch between different environments using a drop-down menu.