Failover clients for SchemaRegistry, Kafka-connect, KSQL:
1. SchemeRegistry openapi client generation
2. WebClient configuration logic moved to WebClientConfigurator class
3. ReactiveFailover utility implemented
4. Connect, Ksql moved to ReactiveFailover usage
1. Add support for predefined (well-known) protobuf types.
2. `preservingProtoFieldNames` mode is enabled for proto messages formatting to fit proto file's message's field names
3. Invalid oneof-processing logic removed
4. Protobuf -> JsonSchema self-reference issue fixed
5. format added to Timestamp protobuf type
* Vite Custom Plugin code initialization , ( not building on js file )
* Fix the lazy loading functionality in vite
* add lazy loading in the Cluster page
* minor comment code cleanup
* Remove un-necessary files for configuration of the vite
* minor naming modifications
* minor code modification to encode a variable in the root
* Drop experimental endpoints
* [FE] Change message timestamp format (#3119)
* remove dayjs from the code base
* remove dayjs library and clean up the hook codes
* minor obsolete fixtures deletion
* minor provider code modifications
* minor provider code modifications
* minor linter code modifications
* minor date local and language code modifications
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
* removing timestamp api from the generated sources
Co-authored-by: Mgrdich <46796009+Mgrdich@users.noreply.github.com>
Co-authored-by: Mgrdich <mgotm13@gmail.com>
* Role based access control
* Fix build + checkstyle
* Refactoring, some bug fixes, review fixes
* Compile permission value patterns
* Make the resource a enum instead of a string
* Refactoring
* Make clusters required
* Fix formatting
* switch the switch case to a smart switch case
* Get rid of topic analysis actions
* Rename endpoints, fix an issue
* Return a flag indicating if rbac is on and a username
* Fix yaml indent in editorconfig
* Fix github & cognito role name fetching
* Fix case matching for actions
* Update readme
* Add an endpoint to determine if a user can create a resource
* Fix tests (I hope so)
* Fix tests
* Use spring configs instead of a separate file, rename endpoints
* Add "ALL" action
Get rid of unnecessary cache, save groups into spring auth
Review fixes
* Make "all" action case-insensitive
* Role based access control / FrontEnd (#2933)
* Initial modifications and mocking the For the RoleAccess
* fix the Suspense issue in the components , comment the Tests to implement later
* minor test comment
* Roles and configuration and santization of data
* initialize RoleCheck hook
* make the App test file visible + minor modification in the permission hook
* Structure the data so the Burger header toggle does not rerender the whole application
* add tests to the NavBar and the Page container , add tests
* NavBar and PageContainer bug fixes
* Roles Testing code modification
* covering Topics create button Actions, and Schema create button Actions
* minor typescript code modifications for the cluster required parameter in the rolesHelper
* minor typescript code modifications for the cluster required parameter in the rolesHelper
* minor code modification to describe the Permission tests more clearly
* Produce message Permissions with Tests Suites for Topic
* Add Schema Edit Permission with tests
* Minor role changes
* Add ActionButton Component to handle the Button with tooltip
* Add ActionButton Component to handle the Button with tooltip
* Add Action Button to every Button create Action
* ActionButton add test suites
* usePermission code modification to include regular expressions
* Abstract Actions Component for code repetition, add Configs Edit button Permission + add the tests suites to it.
* Schema Remove functionality Permission and Test Suites + creation of the ActionDropdownItem for Actions
* Topic Edit Clear and delete Topic , Permissions with test suites
* ActionsCell For Topic Message Overview for permissions with tests suites
* Connector Delete , Consumer Groups Permission + writing test suites
* Add Permissions to the Topics ActionCell
* Topic Table Permissions Tests Suites
* Headless Logic for the Permission Part
* add documentation for the headless Part of the permission + add modification of the data version 2 for efficient algorithmic lookup
* replace modify data logic and isPermitted function to have faster access to the data
* Add Permission helpers tests suites
* usePermission hook test suites
* BatchActionsBar add Permissions + minor modification in TopicTable tests suites
* Statistics and Metrics code Permission + add test suites
* Recreate Topic Permissions in the Topic page, add tests suites
* Actions for the Connector components
* Messages NavLink View Permission
* Test suites messages code modifications
* Permissions comment code modifications
* Replacing the Mock Data With the actual code
* Add ActionNavLink test suites
* BatchActionsBar code smell modifications
* maximizing the permissions tests suites
* maximizing the permissions tests suites
* maximizing the permissions tests suites
* Tooltip code refactoring and fix the positions issue
* permissions increase the tests coverage
* add user info at the navigation header and tests suites
* Add Global Schema Selector Permissions with test suites
* Roles minor code removal
* Change the Action Component form hook mixin approach to declarative props approach
* add isPermitted function for multiple Actions , adding tests suites for this particular case
* remove redundant Permissions test blocks from the components
* remove redundant Permissions test blocks from the components
* Action Buttons test suites' coverage + generalizing the code of the Actions
* add invalid Permission check in Action Components tests suites
* Modularization of Actions Components
* Modularization of Actions Components by adding DropDownAction to it.
* Reflect the BE Changes to the UI , by changing the default behavior or the testing of roles.
* Reflect the BE Changes to the UI , by changing the default behavior or the testing of roles.
* Get rid of not necessary usePermission mocks
* Modifications in the UserInfo data , to consider the UI without any login functionality
* minor code modifications in the BatchActionBar component
* change the Query key for the user info
* change the default message for the tooltip
* Fix the Create Role Access for Topics and Schemas
* ListPage Connector create permissions
* add Headless logic for Create Permission with test suites. + add react hook render-er
* Create Button ActionButton logic implementation
* Remove Code smells , by removing the duplications
* increase the test suites for isPermittedToCreate logic
* increase the test suites for isPermittedToCreate logic
* Change the UserResourceType Enum with the new value
* Apply New Resource Creation validation, for Topic, Schema, Connector
* Apply New Resource Creation validation, for Topic, Schema, Connector
* minor code refactor modifications
* minor code modification in the topics useCreate hook
* Async Validation for all the Create Pages
* caching test for optimal performance in async validation schemas
* Reverting the Front End Validation
* Reverting the Front End Validation
* Authorization API minor syntax modifications
* fix SmokeTests
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
Co-authored-by: Mgrdich <46796009+Mgrdich@users.noreply.github.com>
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
* SeekType fix the value during the offset and timestamp fields
* BE: thread interruption logging added to Emitters
Co-authored-by: iliax <ikuramshin@provectus.com>
* Brokers API improvements:
1. broker io rates stats added
2. active controller property set to node id
3. minor refactoring
4. FE: Add an indicator for an active broker controller
Co-authored-by: Mgrdich <mgotm13@gmail.com>
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Hrant Abrahamyan <113341474+habrahamyanpro@users.noreply.github.com>
Co-authored-by: Mgrdich <mgotm13@gmail.com>
* ISSUE-3024: kui not working when controller not found
1. ReactiveAdminClient::getClusterVersion now takes into account that controller can not be visible
2. Uniq clientId generation added for consumers and adminClients
3. ReactiveAdminClient::toMonoWithExceptionFilter implementation simplified
* uniq adminclient clientId generation
Co-authored-by: iliax <ikuramshin@provectus.com>
* Polling throttling:
1. PollingThrottler class for per-cluster throttle managing
2. UI-publishing throttle for TailingEmitter
3. Elastic scheduler assigned for places where Serde interfaces are used
* int cast fix
* compilation fix
* test threshold fix
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
ReactiveAdminClient::listOffsetsUnsafe now skipping non-initialized partitions. This prevents UnknownTopicOrPartitionException to be leaked to high-level logic levels (preventing TopicService::loadTopicAfterCreation to do retries)
* Feature: Upgrade to Java 17 (Azul Zulu)
Java/OpenJDK 13 has reached end of life (and end of security support)
more than 2.5 years ago: https://endoflife.date/java
This change set updates the build, CI pipeline, and Docker image of Kafka UI to Java 17 (LTS).
* Add back maven-compile-plugin to kafka-ui-e2e-checks
ISSUE-2680: Smart filters stats propagation to UI :
1. DONE event type implemented to flag polling end
2. MessageFilterStats added to emitters context to count filter apply errors
ISSUE-2103: Fixing AdminClient timeout on listOffsets when partition's leader in not available:
1. ReactiveAdminClient.listOffsets methods now check if partitions have leader before executing
2. In all places where ReactiveAdminClient.listOffsets methods are used, we specify what to do if partition leader is not available - fail or skip such partitions
3. AdminClient.listOffsets calls splitted with partitionCalls
* Emitters logic refactoring:
1. consumers seeking moved to SeekOperations class
2. offsets info gathering moved to OffsetsInfo class
* wip
* checkstyle fix
* checkstyle fix
* minor improvements
Co-authored-by: iliax <ikuramshin@provectus.com>
Minor backend fixes:
1. InternalTopic.leader fiels filling fix
2. bytesIn/OutPerSec fields set to TopicDTO
3. "subject" property added to SR SchemaDescription