gitextract_kz4bsw12/ ├── .devcontainer/ │ └── devcontainer.json ├── .editorconfig ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug.yml │ │ ├── config.yml │ │ └── feature.yml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── dependabot.yml │ ├── release_drafter.yaml │ └── workflows/ │ ├── aws_publisher.yaml │ ├── backend.yml │ ├── block_merge.yml │ ├── branch-deploy.yml │ ├── branch-remove.yml │ ├── build-public-image.yml │ ├── codeql-analysis.yml │ ├── cve.yaml │ ├── delete-public-image.yml │ ├── documentation.yaml │ ├── e2e-automation.yml │ ├── e2e-checks.yaml │ ├── e2e-manual.yml │ ├── e2e-weekly.yml │ ├── frontend.yaml │ ├── master.yaml │ ├── pr-checks.yaml │ ├── release-serde-api.yaml │ ├── release.yaml │ ├── release_drafter.yml │ ├── separate_env_public_create.yml │ ├── separate_env_public_remove.yml │ ├── stale.yaml │ ├── terraform-deploy.yml │ ├── triage_issues.yml │ ├── triage_prs.yml │ ├── welcome-first-time-contributors.yml │ └── workflow_linter.yaml ├── .gitignore ├── .mvn/ │ └── wrapper/ │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── CODE-OF-CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── documentation/ │ └── compose/ │ ├── DOCKER_COMPOSE.md │ ├── connectors/ │ │ ├── github-source.json │ │ ├── s3-sink.json │ │ ├── sink-activities.json │ │ ├── source-activities.json │ │ └── start.sh │ ├── data/ │ │ ├── message.json │ │ └── proxy.conf │ ├── e2e-tests.yaml │ ├── jaas/ │ │ ├── client.properties │ │ ├── kafka_connect.jaas │ │ ├── kafka_connect.password │ │ ├── kafka_server.conf │ │ ├── schema_registry.jaas │ │ ├── schema_registry.password │ │ └── zookeeper_jaas.conf │ ├── jmx/ │ │ ├── clientkeystore │ │ ├── clienttruststore │ │ ├── jmxremote.access │ │ ├── jmxremote.password │ │ ├── serverkeystore │ │ └── servertruststore │ ├── jmx-exporter/ │ │ ├── kafka-broker.yml │ │ └── kafka-prepare-and-run │ ├── kafka-cluster-sr-auth.yaml │ ├── kafka-connect/ │ │ └── Dockerfile │ ├── kafka-ssl-components.yaml │ ├── kafka-ssl.yml │ ├── kafka-ui-acl-with-zk.yaml │ ├── kafka-ui-arm64.yaml │ ├── kafka-ui-auth-context.yaml │ ├── kafka-ui-connectors-auth.yaml │ ├── kafka-ui-jmx-secured.yml │ ├── kafka-ui-sasl.yaml │ ├── kafka-ui-serdes.yaml │ ├── kafka-ui-with-jmx-exporter.yaml │ ├── kafka-ui.yaml │ ├── kafka-with-zookeeper.yaml │ ├── ldap.yaml │ ├── nginx-proxy.yaml │ ├── postgres/ │ │ ├── Dockerfile │ │ └── data.sql │ ├── proto/ │ │ ├── key-types.proto │ │ └── values.proto │ ├── scripts/ │ │ ├── clusterID │ │ ├── create_cluster_id.sh │ │ ├── update_run.sh │ │ └── update_run_cluster.sh │ ├── ssl/ │ │ ├── creds │ │ ├── generate_certs.sh │ │ ├── kafka.keystore.jks │ │ ├── kafka.truststore.jks │ │ └── san.cnf │ ├── traefik/ │ │ └── kafkaui.yaml │ └── traefik-proxy.yaml ├── etc/ │ └── checkstyle/ │ ├── apache-header.txt │ ├── checkstyle-e2e.xml │ └── checkstyle.xml ├── kafka-ui-api/ │ ├── Dockerfile │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── antlr4/ │ │ │ └── ksql/ │ │ │ └── KsqlGrammar.g4 │ │ ├── java/ │ │ │ └── com/ │ │ │ └── provectus/ │ │ │ └── kafka/ │ │ │ └── ui/ │ │ │ ├── KafkaUiApplication.java │ │ │ ├── client/ │ │ │ │ └── RetryingKafkaConnectClient.java │ │ │ ├── config/ │ │ │ │ ├── ClustersProperties.java │ │ │ │ ├── Config.java │ │ │ │ ├── CorsGlobalConfiguration.java │ │ │ │ ├── CustomWebFilter.java │ │ │ │ ├── ReadOnlyModeFilter.java │ │ │ │ ├── WebclientProperties.java │ │ │ │ └── auth/ │ │ │ │ ├── AbstractAuthSecurityConfig.java │ │ │ │ ├── AuthenticatedUser.java │ │ │ │ ├── BasicAuthSecurityConfig.java │ │ │ │ ├── DisabledAuthSecurityConfig.java │ │ │ │ ├── LdapProperties.java │ │ │ │ ├── LdapSecurityConfig.java │ │ │ │ ├── OAuthProperties.java │ │ │ │ ├── OAuthPropertiesConverter.java │ │ │ │ ├── OAuthSecurityConfig.java │ │ │ │ ├── RbacLdapUser.java │ │ │ │ ├── RbacOAuth2User.java │ │ │ │ ├── RbacOidcUser.java │ │ │ │ ├── RbacUser.java │ │ │ │ ├── RoleBasedAccessControlProperties.java │ │ │ │ ├── condition/ │ │ │ │ │ ├── ActiveDirectoryCondition.java │ │ │ │ │ └── CognitoCondition.java │ │ │ │ └── logout/ │ │ │ │ ├── CognitoLogoutSuccessHandler.java │ │ │ │ ├── LogoutSuccessHandler.java │ │ │ │ └── OAuthLogoutSuccessHandler.java │ │ │ ├── controller/ │ │ │ │ ├── AbstractController.java │ │ │ │ ├── AccessController.java │ │ │ │ ├── AclsController.java │ │ │ │ ├── ApplicationConfigController.java │ │ │ │ ├── AuthController.java │ │ │ │ ├── BrokersController.java │ │ │ │ ├── ClustersController.java │ │ │ │ ├── ConsumerGroupsController.java │ │ │ │ ├── KafkaConnectController.java │ │ │ │ ├── KsqlController.java │ │ │ │ ├── MessagesController.java │ │ │ │ ├── SchemasController.java │ │ │ │ ├── StaticController.java │ │ │ │ └── TopicsController.java │ │ │ ├── emitter/ │ │ │ │ ├── AbstractEmitter.java │ │ │ │ ├── BackwardEmitter.java │ │ │ │ ├── ConsumingStats.java │ │ │ │ ├── EnhancedConsumer.java │ │ │ │ ├── ForwardEmitter.java │ │ │ │ ├── MessageFilters.java │ │ │ │ ├── MessagesProcessing.java │ │ │ │ ├── OffsetsInfo.java │ │ │ │ ├── PolledRecords.java │ │ │ │ ├── PollingSettings.java │ │ │ │ ├── PollingThrottler.java │ │ │ │ ├── RangePollingEmitter.java │ │ │ │ ├── ResultSizeLimiter.java │ │ │ │ ├── SeekOperations.java │ │ │ │ └── TailingEmitter.java │ │ │ ├── exception/ │ │ │ │ ├── ClusterNotFoundException.java │ │ │ │ ├── ConnectNotFoundException.java │ │ │ │ ├── CustomBaseException.java │ │ │ │ ├── DuplicateEntityException.java │ │ │ │ ├── ErrorCode.java │ │ │ │ ├── FileUploadException.java │ │ │ │ ├── GlobalErrorWebExceptionHandler.java │ │ │ │ ├── IllegalEntityStateException.java │ │ │ │ ├── InvalidRequestApiException.java │ │ │ │ ├── JsonAvroConversionException.java │ │ │ │ ├── KafkaConnectConflictReponseException.java │ │ │ │ ├── KsqlApiException.java │ │ │ │ ├── KsqlDbNotFoundException.java │ │ │ │ ├── LogDirNotFoundApiException.java │ │ │ │ ├── NotFoundException.java │ │ │ │ ├── ReadOnlyModeException.java │ │ │ │ ├── SchemaCompatibilityException.java │ │ │ │ ├── SchemaFailedToDeleteException.java │ │ │ │ ├── SchemaNotFoundException.java │ │ │ │ ├── TopicAnalysisException.java │ │ │ │ ├── TopicMetadataException.java │ │ │ │ ├── TopicNotFoundException.java │ │ │ │ ├── TopicOrPartitionNotFoundException.java │ │ │ │ ├── TopicRecreationException.java │ │ │ │ ├── UnprocessableEntityException.java │ │ │ │ └── ValidationException.java │ │ │ ├── mapper/ │ │ │ │ ├── ClusterMapper.java │ │ │ │ ├── ConsumerGroupMapper.java │ │ │ │ ├── DescribeLogDirsMapper.java │ │ │ │ ├── KafkaConnectMapper.java │ │ │ │ └── KafkaSrMapper.java │ │ │ ├── model/ │ │ │ │ ├── BrokerMetrics.java │ │ │ │ ├── CleanupPolicy.java │ │ │ │ ├── ClusterFeature.java │ │ │ │ ├── ConsumerPosition.java │ │ │ │ ├── InternalBroker.java │ │ │ │ ├── InternalBrokerConfig.java │ │ │ │ ├── InternalBrokerDiskUsage.java │ │ │ │ ├── InternalClusterMetrics.java │ │ │ │ ├── InternalClusterState.java │ │ │ │ ├── InternalConsumerGroup.java │ │ │ │ ├── InternalLogDirStats.java │ │ │ │ ├── InternalPartition.java │ │ │ │ ├── InternalPartitionsOffsets.java │ │ │ │ ├── InternalReplica.java │ │ │ │ ├── InternalSegmentSizeDto.java │ │ │ │ ├── InternalTopic.java │ │ │ │ ├── InternalTopicConfig.java │ │ │ │ ├── InternalTopicConsumerGroup.java │ │ │ │ ├── KafkaCluster.java │ │ │ │ ├── Metrics.java │ │ │ │ ├── MetricsConfig.java │ │ │ │ ├── PartitionDistributionStats.java │ │ │ │ ├── PartitionsStats.java │ │ │ │ ├── Statistics.java │ │ │ │ ├── connect/ │ │ │ │ │ └── InternalConnectInfo.java │ │ │ │ ├── rbac/ │ │ │ │ │ ├── AccessContext.java │ │ │ │ │ ├── Permission.java │ │ │ │ │ ├── Resource.java │ │ │ │ │ ├── Role.java │ │ │ │ │ ├── Subject.java │ │ │ │ │ ├── permission/ │ │ │ │ │ │ ├── AclAction.java │ │ │ │ │ │ ├── ApplicationConfigAction.java │ │ │ │ │ │ ├── AuditAction.java │ │ │ │ │ │ ├── ClusterConfigAction.java │ │ │ │ │ │ ├── ConnectAction.java │ │ │ │ │ │ ├── ConsumerGroupAction.java │ │ │ │ │ │ ├── KsqlAction.java │ │ │ │ │ │ ├── PermissibleAction.java │ │ │ │ │ │ ├── SchemaAction.java │ │ │ │ │ │ └── TopicAction.java │ │ │ │ │ └── provider/ │ │ │ │ │ └── Provider.java │ │ │ │ └── schemaregistry/ │ │ │ │ ├── ErrorResponse.java │ │ │ │ ├── InternalCompatibilityCheck.java │ │ │ │ ├── InternalCompatibilityLevel.java │ │ │ │ ├── InternalNewSchema.java │ │ │ │ └── SubjectIdResponse.java │ │ │ ├── serdes/ │ │ │ │ ├── BuiltInSerde.java │ │ │ │ ├── ClassloaderUtil.java │ │ │ │ ├── ClusterSerdes.java │ │ │ │ ├── ConsumerRecordDeserializer.java │ │ │ │ ├── CustomSerdeLoader.java │ │ │ │ ├── ProducerRecordCreator.java │ │ │ │ ├── PropertyResolverImpl.java │ │ │ │ ├── RecordHeaderImpl.java │ │ │ │ ├── RecordHeadersImpl.java │ │ │ │ ├── SerdeInstance.java │ │ │ │ ├── SerdesInitializer.java │ │ │ │ └── builtin/ │ │ │ │ ├── AvroEmbeddedSerde.java │ │ │ │ ├── Base64Serde.java │ │ │ │ ├── ConsumerOffsetsSerde.java │ │ │ │ ├── HexSerde.java │ │ │ │ ├── Int32Serde.java │ │ │ │ ├── Int64Serde.java │ │ │ │ ├── ProtobufFileSerde.java │ │ │ │ ├── ProtobufRawSerde.java │ │ │ │ ├── StringSerde.java │ │ │ │ ├── UInt32Serde.java │ │ │ │ ├── UInt64Serde.java │ │ │ │ ├── UuidBinarySerde.java │ │ │ │ └── sr/ │ │ │ │ ├── MessageFormatter.java │ │ │ │ ├── SchemaRegistrySerde.java │ │ │ │ ├── SchemaType.java │ │ │ │ └── Serialize.java │ │ │ ├── service/ │ │ │ │ ├── AdminClientService.java │ │ │ │ ├── AdminClientServiceImpl.java │ │ │ │ ├── ApplicationInfoService.java │ │ │ │ ├── BrokerService.java │ │ │ │ ├── ClusterService.java │ │ │ │ ├── ClustersStatisticsScheduler.java │ │ │ │ ├── ClustersStorage.java │ │ │ │ ├── ConsumerGroupService.java │ │ │ │ ├── DeserializationService.java │ │ │ │ ├── FeatureService.java │ │ │ │ ├── KafkaClusterFactory.java │ │ │ │ ├── KafkaConfigSanitizer.java │ │ │ │ ├── KafkaConnectService.java │ │ │ │ ├── MessagesService.java │ │ │ │ ├── OffsetsResetService.java │ │ │ │ ├── ReactiveAdminClient.java │ │ │ │ ├── SchemaRegistryService.java │ │ │ │ ├── StatisticsCache.java │ │ │ │ ├── StatisticsService.java │ │ │ │ ├── TopicsService.java │ │ │ │ ├── acl/ │ │ │ │ │ ├── AclCsv.java │ │ │ │ │ └── AclsService.java │ │ │ │ ├── analyze/ │ │ │ │ │ ├── AnalysisTasksStore.java │ │ │ │ │ ├── TopicAnalysisService.java │ │ │ │ │ ├── TopicAnalysisStats.java │ │ │ │ │ └── TopicIdentity.java │ │ │ │ ├── audit/ │ │ │ │ │ ├── AuditRecord.java │ │ │ │ │ ├── AuditService.java │ │ │ │ │ └── AuditWriter.java │ │ │ │ ├── integration/ │ │ │ │ │ └── odd/ │ │ │ │ │ ├── ConnectorInfo.java │ │ │ │ │ ├── ConnectorsExporter.java │ │ │ │ │ ├── OddExporter.java │ │ │ │ │ ├── OddExporterScheduler.java │ │ │ │ │ ├── OddIntegrationConfig.java │ │ │ │ │ ├── OddIntegrationProperties.java │ │ │ │ │ ├── Oddrn.java │ │ │ │ │ ├── SchemaReferencesResolver.java │ │ │ │ │ ├── TopicsExporter.java │ │ │ │ │ └── schema/ │ │ │ │ │ ├── AvroExtractor.java │ │ │ │ │ ├── DataSetFieldsExtractors.java │ │ │ │ │ ├── JsonSchemaExtractor.java │ │ │ │ │ └── ProtoExtractor.java │ │ │ │ ├── ksql/ │ │ │ │ │ ├── KsqlApiClient.java │ │ │ │ │ ├── KsqlGrammar.java │ │ │ │ │ ├── KsqlServiceV2.java │ │ │ │ │ └── response/ │ │ │ │ │ ├── DynamicParser.java │ │ │ │ │ └── ResponseParser.java │ │ │ │ ├── masking/ │ │ │ │ │ ├── DataMasking.java │ │ │ │ │ └── policies/ │ │ │ │ │ ├── FieldsSelector.java │ │ │ │ │ ├── Mask.java │ │ │ │ │ ├── MaskingPolicy.java │ │ │ │ │ ├── Remove.java │ │ │ │ │ └── Replace.java │ │ │ │ ├── metrics/ │ │ │ │ │ ├── JmxMetricsFormatter.java │ │ │ │ │ ├── JmxMetricsRetriever.java │ │ │ │ │ ├── JmxSslSocketFactory.java │ │ │ │ │ ├── MetricsCollector.java │ │ │ │ │ ├── MetricsRetriever.java │ │ │ │ │ ├── PrometheusEndpointMetricsParser.java │ │ │ │ │ ├── PrometheusMetricsRetriever.java │ │ │ │ │ ├── RawMetric.java │ │ │ │ │ └── WellKnownMetrics.java │ │ │ │ └── rbac/ │ │ │ │ ├── AbstractProviderCondition.java │ │ │ │ ├── AccessControlService.java │ │ │ │ └── extractor/ │ │ │ │ ├── CognitoAuthorityExtractor.java │ │ │ │ ├── GithubAuthorityExtractor.java │ │ │ │ ├── GoogleAuthorityExtractor.java │ │ │ │ ├── OauthAuthorityExtractor.java │ │ │ │ ├── ProviderAuthorityExtractor.java │ │ │ │ └── RbacLdapAuthoritiesExtractor.java │ │ │ └── util/ │ │ │ ├── ApplicationMetrics.java │ │ │ ├── ApplicationRestarter.java │ │ │ ├── DynamicConfigOperations.java │ │ │ ├── EmptyRedirectStrategy.java │ │ │ ├── GithubReleaseInfo.java │ │ │ ├── KafkaServicesValidation.java │ │ │ ├── KafkaVersion.java │ │ │ ├── ReactiveFailover.java │ │ │ ├── ResourceUtil.java │ │ │ ├── SslPropertiesUtil.java │ │ │ ├── WebClientConfigurator.java │ │ │ ├── annotation/ │ │ │ │ └── KafkaClientInternalsDependant.java │ │ │ └── jsonschema/ │ │ │ ├── AnyFieldSchema.java │ │ │ ├── ArrayFieldSchema.java │ │ │ ├── AvroJsonSchemaConverter.java │ │ │ ├── EnumJsonType.java │ │ │ ├── FieldSchema.java │ │ │ ├── JsonAvroConversion.java │ │ │ ├── JsonSchema.java │ │ │ ├── JsonSchemaConverter.java │ │ │ ├── JsonType.java │ │ │ ├── MapFieldSchema.java │ │ │ ├── ObjectFieldSchema.java │ │ │ ├── OneOfFieldSchema.java │ │ │ ├── ProtobufSchemaConverter.java │ │ │ ├── RefFieldSchema.java │ │ │ ├── SimpleFieldSchema.java │ │ │ └── SimpleJsonType.java │ │ └── resources/ │ │ ├── application-local.yml │ │ ├── application.yml │ │ ├── banner.txt │ │ ├── logback-spring.xml │ │ └── static/ │ │ └── static/ │ │ └── css/ │ │ ├── bootstrap.min.css │ │ └── signin.css │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── provectus/ │ │ └── kafka/ │ │ └── ui/ │ │ ├── AbstractIntegrationTest.java │ │ ├── KafkaConnectServiceTests.java │ │ ├── KafkaConsumerGroupTests.java │ │ ├── KafkaConsumerTests.java │ │ ├── KafkaTopicCreateTests.java │ │ ├── ReadOnlyModeTests.java │ │ ├── SchemaRegistryServiceTests.java │ │ ├── config/ │ │ │ └── ClustersPropertiesTest.java │ │ ├── container/ │ │ │ ├── KafkaConnectContainer.java │ │ │ ├── KsqlDbContainer.java │ │ │ └── SchemaRegistryContainer.java │ │ ├── controller/ │ │ │ └── ApplicationConfigControllerTest.java │ │ ├── emitter/ │ │ │ ├── MessageFiltersTest.java │ │ │ ├── MessagesProcessingTest.java │ │ │ ├── OffsetsInfoTest.java │ │ │ ├── SeekOperationsTest.java │ │ │ └── TailingEmitterTest.java │ │ ├── model/ │ │ │ └── PartitionDistributionStatsTest.java │ │ ├── producer/ │ │ │ └── KafkaTestProducer.java │ │ ├── serdes/ │ │ │ ├── ConsumerRecordDeserializerTest.java │ │ │ ├── PropertyResolverImplTest.java │ │ │ ├── SerdesInitializerTest.java │ │ │ └── builtin/ │ │ │ ├── AvroEmbeddedSerdeTest.java │ │ │ ├── Base64SerdeTest.java │ │ │ ├── ConsumerOffsetsSerdeTest.java │ │ │ ├── HexSerdeTest.java │ │ │ ├── Int32SerdeTest.java │ │ │ ├── Int64SerdeTest.java │ │ │ ├── ProtobufFileSerdeTest.java │ │ │ ├── ProtobufRawSerdeTest.java │ │ │ ├── UInt32SerdeTest.java │ │ │ ├── UInt64SerdeTest.java │ │ │ ├── UuidBinarySerdeTest.java │ │ │ └── sr/ │ │ │ └── SchemaRegistrySerdeTest.java │ │ ├── service/ │ │ │ ├── BrokerServiceTest.java │ │ │ ├── ConfigTest.java │ │ │ ├── KafkaConfigSanitizerTest.java │ │ │ ├── LogDirsTest.java │ │ │ ├── MessagesServiceTest.java │ │ │ ├── OffsetsResetServiceTest.java │ │ │ ├── ReactiveAdminClientTest.java │ │ │ ├── RecordEmitterTest.java │ │ │ ├── SchemaRegistryPaginationTest.java │ │ │ ├── SendAndReadTests.java │ │ │ ├── TopicsServicePaginationTest.java │ │ │ ├── acl/ │ │ │ │ ├── AclCsvTest.java │ │ │ │ └── AclsServiceTest.java │ │ │ ├── analyze/ │ │ │ │ └── TopicAnalysisServiceTest.java │ │ │ ├── audit/ │ │ │ │ ├── AuditIntegrationTest.java │ │ │ │ ├── AuditServiceTest.java │ │ │ │ └── AuditWriterTest.java │ │ │ ├── integration/ │ │ │ │ └── odd/ │ │ │ │ ├── ConnectorsExporterTest.java │ │ │ │ ├── SchemaReferencesResolverTest.java │ │ │ │ ├── TopicsExporterTest.java │ │ │ │ └── schema/ │ │ │ │ ├── AvroExtractorTest.java │ │ │ │ ├── JsonSchemaExtractorTest.java │ │ │ │ └── ProtoExtractorTest.java │ │ │ ├── ksql/ │ │ │ │ ├── KsqlApiClientTest.java │ │ │ │ ├── KsqlServiceV2Test.java │ │ │ │ └── response/ │ │ │ │ └── ResponseParserTest.java │ │ │ ├── masking/ │ │ │ │ ├── DataMaskingTest.java │ │ │ │ └── policies/ │ │ │ │ ├── FieldsSelectorTest.java │ │ │ │ ├── MaskTest.java │ │ │ │ ├── RemoveTest.java │ │ │ │ └── ReplaceTest.java │ │ │ └── metrics/ │ │ │ ├── JmxMetricsFormatterTest.java │ │ │ ├── PrometheusEndpointMetricsParserTest.java │ │ │ ├── PrometheusMetricsRetrieverTest.java │ │ │ └── WellKnownMetricsTest.java │ │ └── util/ │ │ ├── AccessControlServiceMock.java │ │ ├── DynamicConfigOperationsTest.java │ │ ├── GithubReleaseInfoTest.java │ │ ├── PollingThrottlerTest.java │ │ ├── ReactiveFailoverTest.java │ │ └── jsonschema/ │ │ ├── AvroJsonSchemaConverterTest.java │ │ ├── JsonAvroConversionTest.java │ │ └── ProtobufSchemaConverterTest.java │ └── resources/ │ ├── application-test.yml │ ├── fileForUploadTest.txt │ └── protobuf-serde/ │ ├── address-book.proto │ ├── lang-description.proto │ ├── language/ │ │ └── language.proto │ └── sensor.proto ├── kafka-ui-contract/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── resources/ │ └── swagger/ │ ├── kafka-connect-api.yaml │ ├── kafka-sr-api.yaml │ └── kafka-ui-api.yaml ├── kafka-ui-e2e-checks/ │ ├── .gitignore │ ├── QASE.md │ ├── README.md │ ├── docker/ │ │ ├── selenoid-git.yaml │ │ └── selenoid-local.yaml │ ├── pom.xml │ ├── selenoid/ │ │ └── config/ │ │ ├── browsersGit.json │ │ └── browsersLocal.json │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── provectus/ │ │ │ └── kafka/ │ │ │ └── ui/ │ │ │ ├── models/ │ │ │ │ ├── Connector.java │ │ │ │ ├── Schema.java │ │ │ │ └── Topic.java │ │ │ ├── pages/ │ │ │ │ ├── BasePage.java │ │ │ │ ├── brokers/ │ │ │ │ │ ├── BrokersConfigTab.java │ │ │ │ │ ├── BrokersDetails.java │ │ │ │ │ └── BrokersList.java │ │ │ │ ├── connectors/ │ │ │ │ │ ├── ConnectorCreateForm.java │ │ │ │ │ ├── ConnectorDetails.java │ │ │ │ │ └── KafkaConnectList.java │ │ │ │ ├── consumers/ │ │ │ │ │ ├── ConsumersDetails.java │ │ │ │ │ └── ConsumersList.java │ │ │ │ ├── ksqldb/ │ │ │ │ │ ├── KsqlDbList.java │ │ │ │ │ ├── KsqlQueryForm.java │ │ │ │ │ ├── enums/ │ │ │ │ │ │ ├── KsqlMenuTabs.java │ │ │ │ │ │ └── KsqlQueryConfig.java │ │ │ │ │ └── models/ │ │ │ │ │ ├── Stream.java │ │ │ │ │ └── Table.java │ │ │ │ ├── panels/ │ │ │ │ │ ├── NaviSideBar.java │ │ │ │ │ ├── TopPanel.java │ │ │ │ │ └── enums/ │ │ │ │ │ └── MenuItem.java │ │ │ │ ├── schemas/ │ │ │ │ │ ├── SchemaCreateForm.java │ │ │ │ │ ├── SchemaDetails.java │ │ │ │ │ └── SchemaRegistryList.java │ │ │ │ └── topics/ │ │ │ │ ├── ProduceMessagePanel.java │ │ │ │ ├── TopicCreateEditForm.java │ │ │ │ ├── TopicDetails.java │ │ │ │ ├── TopicSettingsTab.java │ │ │ │ ├── TopicsList.java │ │ │ │ └── enums/ │ │ │ │ ├── CleanupPolicyValue.java │ │ │ │ ├── CustomParameterType.java │ │ │ │ ├── MaxSizeOnDisk.java │ │ │ │ └── TimeToRetain.java │ │ │ ├── services/ │ │ │ │ └── ApiService.java │ │ │ ├── settings/ │ │ │ │ ├── BaseSource.java │ │ │ │ ├── configs/ │ │ │ │ │ ├── Config.java │ │ │ │ │ └── Profiles.java │ │ │ │ ├── drivers/ │ │ │ │ │ └── WebDriver.java │ │ │ │ └── listeners/ │ │ │ │ ├── AllureListener.java │ │ │ │ ├── LoggerListener.java │ │ │ │ ├── QaseCreateListener.java │ │ │ │ └── QaseResultListener.java │ │ │ ├── utilities/ │ │ │ │ ├── FileUtils.java │ │ │ │ ├── StringUtils.java │ │ │ │ ├── TimeUtils.java │ │ │ │ ├── WebUtils.java │ │ │ │ └── qase/ │ │ │ │ ├── QaseSetup.java │ │ │ │ ├── annotations/ │ │ │ │ │ ├── Automation.java │ │ │ │ │ ├── Status.java │ │ │ │ │ └── Suite.java │ │ │ │ └── enums/ │ │ │ │ ├── State.java │ │ │ │ └── Status.java │ │ │ └── variables/ │ │ │ ├── Browser.java │ │ │ ├── Expected.java │ │ │ ├── Suite.java │ │ │ └── Url.java │ │ └── resources/ │ │ ├── allure.properties │ │ └── testData/ │ │ ├── connectors/ │ │ │ ├── config_for_create_connector.json │ │ │ ├── config_for_create_connector_via_api.json │ │ │ ├── config_for_update_connector.json │ │ │ └── delete_connector_config.json │ │ ├── schemas/ │ │ │ ├── schema_avro_for_update.json │ │ │ ├── schema_avro_value.json │ │ │ ├── schema_json_Value.json │ │ │ └── schema_protobuf_value.txt │ │ └── topics/ │ │ └── message_content_create_topic.json │ └── test/ │ ├── java/ │ │ └── com/ │ │ └── provectus/ │ │ └── kafka/ │ │ └── ui/ │ │ ├── BaseTest.java │ │ ├── Facade.java │ │ ├── manualsuite/ │ │ │ ├── BaseManualTest.java │ │ │ ├── backlog/ │ │ │ │ ├── SanityBacklog.java │ │ │ │ └── SmokeBacklog.java │ │ │ └── suite/ │ │ │ ├── DataMaskingTest.java │ │ │ ├── RbacTest.java │ │ │ ├── TopicsTest.java │ │ │ └── WizardTest.java │ │ ├── qasesuite/ │ │ │ ├── BaseQaseTest.java │ │ │ └── Template.java │ │ ├── sanitysuite/ │ │ │ └── TopicsTest.java │ │ └── smokesuite/ │ │ ├── SmokeTest.java │ │ ├── brokers/ │ │ │ └── BrokersTest.java │ │ ├── connectors/ │ │ │ └── ConnectorsTest.java │ │ ├── ksqldb/ │ │ │ └── KsqlDbTest.java │ │ ├── schemas/ │ │ │ └── SchemasTest.java │ │ └── topics/ │ │ ├── MessagesTest.java │ │ └── TopicsTest.java │ └── resources/ │ ├── manual.xml │ ├── qase.xml │ ├── regression.xml │ ├── sanity.xml │ └── smoke.xml ├── kafka-ui-react-app/ │ ├── .editorconfig │ ├── .eslintignore │ ├── .eslintrc.json │ ├── .gitignore │ ├── .jest/ │ │ ├── cssTransform.js │ │ └── resolver.js │ ├── .nvmrc │ ├── .prettierrc │ ├── README.md │ ├── index.html │ ├── jest.config.ts │ ├── openapitools.json │ ├── package.json │ ├── public/ │ │ ├── manifest.json │ │ └── robots.txt │ ├── sonar-project.properties │ ├── src/ │ │ ├── components/ │ │ │ ├── ACLPage/ │ │ │ │ ├── ACLPage.tsx │ │ │ │ └── List/ │ │ │ │ ├── List.styled.ts │ │ │ │ ├── List.tsx │ │ │ │ └── __test__/ │ │ │ │ └── List.spec.tsx │ │ │ ├── App.styled.ts │ │ │ ├── App.tsx │ │ │ ├── Brokers/ │ │ │ │ ├── Broker/ │ │ │ │ │ ├── Broker.tsx │ │ │ │ │ ├── BrokerLogdir/ │ │ │ │ │ │ ├── BrokerLogdir.tsx │ │ │ │ │ │ └── __test__/ │ │ │ │ │ │ └── BrokerLogdir.spec.tsx │ │ │ │ │ ├── BrokerMetrics/ │ │ │ │ │ │ ├── BrokerMetrics.tsx │ │ │ │ │ │ └── __test__/ │ │ │ │ │ │ └── BrokerMetrics.spec.tsx │ │ │ │ │ ├── Configs/ │ │ │ │ │ │ ├── Configs.styled.ts │ │ │ │ │ │ ├── Configs.tsx │ │ │ │ │ │ ├── InputCell.tsx │ │ │ │ │ │ └── __test__/ │ │ │ │ │ │ └── Configs.spec.tsx │ │ │ │ │ └── __test__/ │ │ │ │ │ └── Broker.spec.tsx │ │ │ │ ├── Brokers.tsx │ │ │ │ ├── BrokersList/ │ │ │ │ │ ├── BrokersList.styled.ts │ │ │ │ │ ├── BrokersList.tsx │ │ │ │ │ ├── SkewHeader/ │ │ │ │ │ │ ├── SkewHeader.styled.ts │ │ │ │ │ │ └── SkewHeader.tsx │ │ │ │ │ └── __test__/ │ │ │ │ │ └── BrokersList.spec.tsx │ │ │ │ ├── __test__/ │ │ │ │ │ └── Brokers.spec.tsx │ │ │ │ └── utils/ │ │ │ │ ├── __test__/ │ │ │ │ │ ├── fixtures.ts │ │ │ │ │ └── getEditorText.spec.tsx │ │ │ │ └── getEditorText.ts │ │ │ ├── ClusterPage/ │ │ │ │ ├── ClusterConfigPage.tsx │ │ │ │ ├── ClusterPage.tsx │ │ │ │ └── __tests__/ │ │ │ │ └── ClusterPage.spec.tsx │ │ │ ├── Connect/ │ │ │ │ ├── Connect.tsx │ │ │ │ ├── Details/ │ │ │ │ │ ├── Actions/ │ │ │ │ │ │ ├── Action.styled.ts │ │ │ │ │ │ ├── Actions.tsx │ │ │ │ │ │ └── __tests__/ │ │ │ │ │ │ └── Actions.spec.tsx │ │ │ │ │ ├── Config/ │ │ │ │ │ │ ├── Config.styled.ts │ │ │ │ │ │ ├── Config.tsx │ │ │ │ │ │ └── __tests__/ │ │ │ │ │ │ └── Config.spec.tsx │ │ │ │ │ ├── DetailsPage.tsx │ │ │ │ │ ├── Overview/ │ │ │ │ │ │ ├── Overview.tsx │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── Overview.spec.tsx │ │ │ │ │ │ │ └── getTaskMetrics.spec.ts │ │ │ │ │ │ └── getTaskMetrics.ts │ │ │ │ │ ├── Tasks/ │ │ │ │ │ │ ├── ActionsCellTasks.tsx │ │ │ │ │ │ ├── Tasks.tsx │ │ │ │ │ │ └── __tests__/ │ │ │ │ │ │ └── Tasks.spec.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── DetailsPage.spec.tsx │ │ │ │ ├── List/ │ │ │ │ │ ├── ActionsCell.tsx │ │ │ │ │ ├── List.styled.ts │ │ │ │ │ ├── List.tsx │ │ │ │ │ ├── ListPage.tsx │ │ │ │ │ ├── RunningTasksCell.tsx │ │ │ │ │ ├── TopicsCell.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ ├── List.spec.tsx │ │ │ │ │ └── ListPage.spec.tsx │ │ │ │ ├── New/ │ │ │ │ │ ├── New.styled.ts │ │ │ │ │ ├── New.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── New.spec.tsx │ │ │ │ └── __tests__/ │ │ │ │ └── Connect.spec.tsx │ │ │ ├── ConsumerGroups/ │ │ │ │ ├── ConsumerGroups.tsx │ │ │ │ ├── Details/ │ │ │ │ │ ├── Details.tsx │ │ │ │ │ ├── ListItem.styled.ts │ │ │ │ │ ├── ListItem.tsx │ │ │ │ │ ├── ResetOffsets/ │ │ │ │ │ │ ├── Form.tsx │ │ │ │ │ │ ├── ResetOffsets.styled.ts │ │ │ │ │ │ └── ResetOffsets.tsx │ │ │ │ │ └── TopicContents/ │ │ │ │ │ ├── TopicContent.styled.ts │ │ │ │ │ ├── TopicContents.tsx │ │ │ │ │ └── __test__/ │ │ │ │ │ └── TopicContents.spec.tsx │ │ │ │ ├── List.tsx │ │ │ │ └── __test__/ │ │ │ │ └── ConsumerGroups.spec.tsx │ │ │ ├── Dashboard/ │ │ │ │ ├── ClusterName.tsx │ │ │ │ ├── ClusterTableActionsCell.tsx │ │ │ │ ├── Dashboard.styled.ts │ │ │ │ └── Dashboard.tsx │ │ │ ├── ErrorPage/ │ │ │ │ ├── ErrorPage.styled.ts │ │ │ │ ├── ErrorPage.tsx │ │ │ │ └── __tests__/ │ │ │ │ └── ErrorPage.spec.tsx │ │ │ ├── KsqlDb/ │ │ │ │ ├── KsqlDb.tsx │ │ │ │ ├── Query/ │ │ │ │ │ ├── Query.tsx │ │ │ │ │ ├── QueryForm/ │ │ │ │ │ │ ├── QueryForm.styled.ts │ │ │ │ │ │ └── QueryForm.tsx │ │ │ │ │ └── renderer/ │ │ │ │ │ └── TableRenderer/ │ │ │ │ │ ├── TableRenderer.styled.tsx │ │ │ │ │ └── TableRenderer.tsx │ │ │ │ └── TableView.tsx │ │ │ ├── Nav/ │ │ │ │ ├── ClusterMenu.tsx │ │ │ │ ├── ClusterMenuItem.tsx │ │ │ │ ├── ClusterTab/ │ │ │ │ │ ├── ClusterTab.styled.ts │ │ │ │ │ ├── ClusterTab.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ ├── ClusterTab.spec.tsx │ │ │ │ │ └── ClusterTab.styled.spec.tsx │ │ │ │ ├── Nav.styled.ts │ │ │ │ ├── Nav.tsx │ │ │ │ └── __tests__/ │ │ │ │ ├── ClusterMenu.spec.tsx │ │ │ │ ├── ClusterMenuItem.spec.tsx │ │ │ │ └── Nav.spec.tsx │ │ │ ├── NavBar/ │ │ │ │ ├── NavBar.styled.ts │ │ │ │ ├── NavBar.tsx │ │ │ │ ├── UserInfo/ │ │ │ │ │ ├── UserInfo.styled.ts │ │ │ │ │ ├── UserInfo.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── UserInfo.spec.tsx │ │ │ │ └── __tests__/ │ │ │ │ └── NavBar.spec.tsx │ │ │ ├── PageContainer/ │ │ │ │ ├── PageContainer.styled.ts │ │ │ │ ├── PageContainer.tsx │ │ │ │ └── __tests__/ │ │ │ │ └── PageContainer.spec.tsx │ │ │ ├── Schemas/ │ │ │ │ ├── Details/ │ │ │ │ │ ├── Details.tsx │ │ │ │ │ ├── LatestVersion/ │ │ │ │ │ │ ├── LatestVersionItem.styled.tsx │ │ │ │ │ │ └── LatestVersionItem.tsx │ │ │ │ │ ├── SchemaVersion/ │ │ │ │ │ │ └── SchemaVersion.tsx │ │ │ │ │ └── __test__/ │ │ │ │ │ ├── Details.spec.tsx │ │ │ │ │ ├── LatestVersionItem.spec.tsx │ │ │ │ │ ├── SchemaVersion.spec.tsx │ │ │ │ │ └── fixtures.ts │ │ │ │ ├── Diff/ │ │ │ │ │ ├── Diff.styled.ts │ │ │ │ │ ├── Diff.tsx │ │ │ │ │ ├── DiffContainer.ts │ │ │ │ │ └── __test__/ │ │ │ │ │ ├── Diff.spec.tsx │ │ │ │ │ └── fixtures.ts │ │ │ │ ├── Edit/ │ │ │ │ │ ├── Edit.styled.ts │ │ │ │ │ ├── Edit.tsx │ │ │ │ │ ├── Form.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── Edit.spec.tsx │ │ │ │ ├── List/ │ │ │ │ │ ├── GlobalSchemaSelector/ │ │ │ │ │ │ ├── GlobalSchemaSelector.styled.ts │ │ │ │ │ │ ├── GlobalSchemaSelector.tsx │ │ │ │ │ │ └── __test__/ │ │ │ │ │ │ └── GlobalSchemaSelector.spec.tsx │ │ │ │ │ ├── List.tsx │ │ │ │ │ └── __test__/ │ │ │ │ │ ├── List.spec.tsx │ │ │ │ │ └── fixtures.ts │ │ │ │ ├── New/ │ │ │ │ │ ├── New.styled.ts │ │ │ │ │ ├── New.tsx │ │ │ │ │ └── __test__/ │ │ │ │ │ └── New.spec.tsx │ │ │ │ ├── Schemas.tsx │ │ │ │ └── __test__/ │ │ │ │ └── Schemas.spec.tsx │ │ │ ├── Topics/ │ │ │ │ ├── List/ │ │ │ │ │ ├── ActionsCell.tsx │ │ │ │ │ ├── BatchActionsBar.tsx │ │ │ │ │ ├── ListPage.tsx │ │ │ │ │ ├── TopicTable.tsx │ │ │ │ │ ├── TopicTitleCell.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ ├── ListPage.spec.tsx │ │ │ │ │ └── TopicTable.spec.tsx │ │ │ │ ├── New/ │ │ │ │ │ ├── New.tsx │ │ │ │ │ └── __test__/ │ │ │ │ │ └── New.spec.tsx │ │ │ │ ├── Topic/ │ │ │ │ │ ├── ConsumerGroups/ │ │ │ │ │ │ ├── TopicConsumerGroups.styled.ts │ │ │ │ │ │ ├── TopicConsumerGroups.tsx │ │ │ │ │ │ └── __test__/ │ │ │ │ │ │ └── TopicConsumerGroups.spec.tsx │ │ │ │ │ ├── Edit/ │ │ │ │ │ │ ├── DangerZone/ │ │ │ │ │ │ │ ├── DangerZone.styled.tsx │ │ │ │ │ │ │ ├── DangerZone.tsx │ │ │ │ │ │ │ └── __test__/ │ │ │ │ │ │ │ └── DangerZone.spec.tsx │ │ │ │ │ │ ├── Edit.tsx │ │ │ │ │ │ ├── __test__/ │ │ │ │ │ │ │ ├── Edit.spec.tsx │ │ │ │ │ │ │ └── topicParamsTransformer.spec.ts │ │ │ │ │ │ └── topicParamsTransformer.ts │ │ │ │ │ ├── Messages/ │ │ │ │ │ │ ├── Filters/ │ │ │ │ │ │ │ ├── AddEditFilterContainer.tsx │ │ │ │ │ │ │ ├── AddFilter.tsx │ │ │ │ │ │ │ ├── EditFilter.tsx │ │ │ │ │ │ │ ├── FilterModal.tsx │ │ │ │ │ │ │ ├── Filters.styled.ts │ │ │ │ │ │ │ ├── Filters.tsx │ │ │ │ │ │ │ ├── FiltersContainer.ts │ │ │ │ │ │ │ ├── InfoModal.tsx │ │ │ │ │ │ │ ├── SavedFilters.tsx │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── AddEditFilterContainer.spec.tsx │ │ │ │ │ │ │ │ ├── AddFilter.spec.tsx │ │ │ │ │ │ │ │ ├── EditFilter.spec.tsx │ │ │ │ │ │ │ │ ├── FilterModal.spec.tsx │ │ │ │ │ │ │ │ ├── Filters.spec.tsx │ │ │ │ │ │ │ │ ├── Filters.styled.spec.tsx │ │ │ │ │ │ │ │ ├── InfoModal.spec.tsx │ │ │ │ │ │ │ │ └── SavedFilters.spec.tsx │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── Message.tsx │ │ │ │ │ │ ├── MessageContent/ │ │ │ │ │ │ │ ├── MessageContent.styled.ts │ │ │ │ │ │ │ ├── MessageContent.tsx │ │ │ │ │ │ │ └── __tests__/ │ │ │ │ │ │ │ └── MessageContent.spec.tsx │ │ │ │ │ │ ├── Messages.styled.ts │ │ │ │ │ │ ├── Messages.tsx │ │ │ │ │ │ ├── MessagesTable.tsx │ │ │ │ │ │ ├── PreviewModal.styled.ts │ │ │ │ │ │ ├── PreviewModal.tsx │ │ │ │ │ │ ├── __test__/ │ │ │ │ │ │ │ ├── FiltersContainer.spec.tsx │ │ │ │ │ │ │ ├── Message.spec.tsx │ │ │ │ │ │ │ ├── Messages.spec.tsx │ │ │ │ │ │ │ ├── MessagesTable.spec.tsx │ │ │ │ │ │ │ ├── PreviewModal.spec.tsx │ │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ │ └── getDefaultSerdeName.ts │ │ │ │ │ ├── Overview/ │ │ │ │ │ │ ├── ActionsCell.tsx │ │ │ │ │ │ ├── Overview.styled.ts │ │ │ │ │ │ ├── Overview.tsx │ │ │ │ │ │ └── __test__/ │ │ │ │ │ │ └── Overview.spec.tsx │ │ │ │ │ ├── SendMessage/ │ │ │ │ │ │ ├── SendMessage.styled.tsx │ │ │ │ │ │ ├── SendMessage.tsx │ │ │ │ │ │ ├── __test__/ │ │ │ │ │ │ │ ├── SendMessage.spec.tsx │ │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── Settings/ │ │ │ │ │ │ ├── Settings.styled.ts │ │ │ │ │ │ ├── Settings.tsx │ │ │ │ │ │ └── __test__/ │ │ │ │ │ │ └── Settings.spec.tsx │ │ │ │ │ ├── Statistics/ │ │ │ │ │ │ ├── Indicators/ │ │ │ │ │ │ │ ├── SizeStats.tsx │ │ │ │ │ │ │ └── Total.tsx │ │ │ │ │ │ ├── Metrics.tsx │ │ │ │ │ │ ├── PartitionInfoRow.tsx │ │ │ │ │ │ ├── PartitionTable.tsx │ │ │ │ │ │ ├── Statistics.styles.ts │ │ │ │ │ │ ├── Statistics.tsx │ │ │ │ │ │ └── __test__/ │ │ │ │ │ │ ├── Metrics.spec.tsx │ │ │ │ │ │ └── Statistics.spec.tsx │ │ │ │ │ ├── Topic.tsx │ │ │ │ │ └── __test__/ │ │ │ │ │ └── Topic.spec.tsx │ │ │ │ ├── Topics.tsx │ │ │ │ ├── __tests__/ │ │ │ │ │ └── Topics.spec.tsx │ │ │ │ └── shared/ │ │ │ │ └── Form/ │ │ │ │ ├── CustomParams/ │ │ │ │ │ ├── CustomParamField.tsx │ │ │ │ │ ├── CustomParams.styled.ts │ │ │ │ │ ├── CustomParams.tsx │ │ │ │ │ └── __test__/ │ │ │ │ │ ├── CustomParamField.spec.tsx │ │ │ │ │ ├── CustomParams.spec.tsx │ │ │ │ │ └── fixtures.ts │ │ │ │ ├── TimeToRetain.tsx │ │ │ │ ├── TimeToRetainBtn.tsx │ │ │ │ ├── TimeToRetainBtns.tsx │ │ │ │ ├── TopicForm.styled.ts │ │ │ │ ├── TopicForm.tsx │ │ │ │ └── __tests__/ │ │ │ │ ├── TimeToRetainBtn.spec.tsx │ │ │ │ ├── TimeToRetainBtns.spec.tsx │ │ │ │ ├── TopicForm.spec.tsx │ │ │ │ └── TopicForm.styled.spec.tsx │ │ │ ├── Version/ │ │ │ │ ├── Version.styled.ts │ │ │ │ ├── Version.tsx │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── Version.spec.tsx │ │ │ │ │ └── compareVersions.spec.ts │ │ │ │ └── compareVersions.ts │ │ │ ├── __tests__/ │ │ │ │ └── App.spec.tsx │ │ │ ├── common/ │ │ │ │ ├── ActionComponent/ │ │ │ │ │ ├── ActionButton/ │ │ │ │ │ │ ├── ActionButton.tsx │ │ │ │ │ │ ├── ActionCanButton/ │ │ │ │ │ │ │ ├── ActionCanButton.tsx │ │ │ │ │ │ │ └── __tests__/ │ │ │ │ │ │ │ └── ActionCanButton.spec.tsx │ │ │ │ │ │ ├── ActionCreateButton/ │ │ │ │ │ │ │ ├── ActionCreateButton.tsx │ │ │ │ │ │ │ └── __tests__/ │ │ │ │ │ │ │ └── ActionCreateButton.spec.tsx │ │ │ │ │ │ ├── ActionPermissionButton/ │ │ │ │ │ │ │ ├── ActionPermissionButton.tsx │ │ │ │ │ │ │ └── __tests__/ │ │ │ │ │ │ │ └── ActionPermissionButton.spec.tsx │ │ │ │ │ │ └── __tests__/ │ │ │ │ │ │ └── ActionButton.spec.tsx │ │ │ │ │ ├── ActionComponent.styled.ts │ │ │ │ │ ├── ActionComponent.ts │ │ │ │ │ ├── ActionDropDownItem/ │ │ │ │ │ │ └── ActionDropdownItem.tsx │ │ │ │ │ ├── ActionNavLink/ │ │ │ │ │ │ ├── ActionNavLink.tsx │ │ │ │ │ │ └── __tests__/ │ │ │ │ │ │ └── ActionNavLink.spec.tsx │ │ │ │ │ ├── ActionSelect/ │ │ │ │ │ │ ├── ActionSelect.tsx │ │ │ │ │ │ └── __tests__/ │ │ │ │ │ │ └── ActionSelect.spec.tsx │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── fixtures.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── Alert/ │ │ │ │ │ ├── Alert.styled.ts │ │ │ │ │ ├── Alert.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── Alert.spec.tsx │ │ │ │ ├── Button/ │ │ │ │ │ ├── Button.styled.ts │ │ │ │ │ ├── Button.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── Button.spec.tsx │ │ │ │ ├── BytesFormatted/ │ │ │ │ │ ├── BytesFormatted.styled.ts │ │ │ │ │ ├── BytesFormatted.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── BytesFormatted.spec.tsx │ │ │ │ ├── Checkbox/ │ │ │ │ │ └── Checkbox.tsx │ │ │ │ ├── ConfirmationModal/ │ │ │ │ │ ├── ConfirmationModal.styled.tsx │ │ │ │ │ └── ConfirmationModal.tsx │ │ │ │ ├── ControlPanel/ │ │ │ │ │ └── ControlPanel.styled.ts │ │ │ │ ├── DiffViewer/ │ │ │ │ │ ├── DiffViewer.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── DiffViewer.spec.tsx │ │ │ │ ├── Dropdown/ │ │ │ │ │ ├── Dropdown.styled.ts │ │ │ │ │ ├── Dropdown.tsx │ │ │ │ │ ├── DropdownItem.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── Editor/ │ │ │ │ │ └── Editor.tsx │ │ │ │ ├── EditorViewer/ │ │ │ │ │ ├── EditorViewer.styled.ts │ │ │ │ │ ├── EditorViewer.tsx │ │ │ │ │ └── __test__/ │ │ │ │ │ └── EditorViewer.spec.tsx │ │ │ │ ├── Ellipsis/ │ │ │ │ │ ├── Ellipsis.styled.ts │ │ │ │ │ └── Ellipsis.tsx │ │ │ │ ├── Form/ │ │ │ │ │ └── Form.styled.ts │ │ │ │ ├── Icons/ │ │ │ │ │ ├── ArrowDownIcon.tsx │ │ │ │ │ ├── AutoIcon.tsx │ │ │ │ │ ├── CancelIcon.tsx │ │ │ │ │ ├── CheckMarkRoundIcon.tsx │ │ │ │ │ ├── CheckmarkIcon.tsx │ │ │ │ │ ├── ChevronDownIcon.tsx │ │ │ │ │ ├── ClockIcon.tsx │ │ │ │ │ ├── CloseCircleIcon.tsx │ │ │ │ │ ├── CloseIcon.tsx │ │ │ │ │ ├── DeleteIcon.tsx │ │ │ │ │ ├── DiscordIcon.tsx │ │ │ │ │ ├── DropdownArrowIcon.tsx │ │ │ │ │ ├── EditIcon.tsx │ │ │ │ │ ├── FileIcon.tsx │ │ │ │ │ ├── GitIcon.tsx │ │ │ │ │ ├── IconButtonWrapper.ts │ │ │ │ │ ├── InfoIcon.tsx │ │ │ │ │ ├── MessageToggleIcon.styled.ts │ │ │ │ │ ├── MessageToggleIcon.tsx │ │ │ │ │ ├── MoonIcon.tsx │ │ │ │ │ ├── PlusIcon.tsx │ │ │ │ │ ├── QuestionIcon.tsx │ │ │ │ │ ├── SavedIcon.tsx │ │ │ │ │ ├── SearchIcon.tsx │ │ │ │ │ ├── SpinnerIcon.tsx │ │ │ │ │ ├── StarIcon.tsx │ │ │ │ │ ├── SunIcon.tsx │ │ │ │ │ ├── UserIcon.tsx │ │ │ │ │ ├── VerticalElipsisIcon.tsx │ │ │ │ │ ├── WarningIcon.tsx │ │ │ │ │ └── WarningRedIcon.tsx │ │ │ │ ├── IndeterminateCheckbox/ │ │ │ │ │ └── IndeterminateCheckbox.tsx │ │ │ │ ├── Input/ │ │ │ │ │ ├── Input.styled.ts │ │ │ │ │ ├── Input.tsx │ │ │ │ │ ├── InputLabel.styled.ts │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── Input.spec.tsx │ │ │ │ ├── Logo/ │ │ │ │ │ └── Logo.tsx │ │ │ │ ├── Metrics/ │ │ │ │ │ ├── Indicator.tsx │ │ │ │ │ ├── Metrics.styled.tsx │ │ │ │ │ ├── Section.tsx │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── Indicator.spec.tsx │ │ │ │ │ │ └── Section.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── MultiSelect/ │ │ │ │ │ └── MultiSelect.styled.ts │ │ │ │ ├── Navigation/ │ │ │ │ │ └── Navbar.styled.ts │ │ │ │ ├── NewTable/ │ │ │ │ │ ├── ColoredCell.tsx │ │ │ │ │ ├── ExpanderCell.tsx │ │ │ │ │ ├── LinkCell.tsx │ │ │ │ │ ├── SelectRowCell.tsx │ │ │ │ │ ├── SelectRowHeader.tsx │ │ │ │ │ ├── SizeCell.tsx │ │ │ │ │ ├── Table.styled.ts │ │ │ │ │ ├── Table.tsx │ │ │ │ │ ├── TagCell.tsx │ │ │ │ │ ├── TimestampCell.tsx │ │ │ │ │ ├── __test__/ │ │ │ │ │ │ └── Table.spec.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── __test__/ │ │ │ │ │ │ └── updateSortingState.spec.ts │ │ │ │ │ ├── updatePaginationState.ts │ │ │ │ │ └── updateSortingState.ts │ │ │ │ ├── PageHeading/ │ │ │ │ │ ├── PageHeading.styled.ts │ │ │ │ │ └── PageHeading.tsx │ │ │ │ ├── PageLoader/ │ │ │ │ │ ├── PageLoader.styled.ts │ │ │ │ │ ├── PageLoader.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── PageLoader.spec.tsx │ │ │ │ ├── ProgressBar/ │ │ │ │ │ ├── ProgressBar.styled.ts │ │ │ │ │ ├── ProgressBar.tsx │ │ │ │ │ └── __test__/ │ │ │ │ │ └── ProgressBar.spec.tsx │ │ │ │ ├── PropertiesList/ │ │ │ │ │ └── PropertiesList.styled.tsx │ │ │ │ ├── SQLEditor/ │ │ │ │ │ ├── SQLEditor.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── SQLEditor.spec.tsx │ │ │ │ ├── Search/ │ │ │ │ │ ├── Search.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── Search.spec.tsx │ │ │ │ ├── Select/ │ │ │ │ │ ├── ControlledSelect.tsx │ │ │ │ │ ├── LiveIcon.styled.tsx │ │ │ │ │ ├── Select.styled.ts │ │ │ │ │ ├── Select.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── Select.spec.tsx │ │ │ │ ├── SlidingSidebar/ │ │ │ │ │ ├── SlidingSidebar.styled.ts │ │ │ │ │ ├── SlidingSidebar.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── Spinner/ │ │ │ │ │ ├── Spinner.styled.ts │ │ │ │ │ ├── Spinner.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── SuspenseQueryComponent/ │ │ │ │ │ ├── SuspenseQueryComponent.tsx │ │ │ │ │ └── __test__/ │ │ │ │ │ └── SuspenseQueryComponent.spec.tsx │ │ │ │ ├── Switch/ │ │ │ │ │ ├── Switch.styled.ts │ │ │ │ │ └── Switch.tsx │ │ │ │ ├── Tag/ │ │ │ │ │ ├── Tag.styled.tsx │ │ │ │ │ └── getTagColor.ts │ │ │ │ ├── Textbox/ │ │ │ │ │ └── Textarea.styled.ts │ │ │ │ ├── Tooltip/ │ │ │ │ │ ├── Tooltip.styled.ts │ │ │ │ │ ├── Tooltip.tsx │ │ │ │ │ └── __tests__/ │ │ │ │ │ └── Tooltip.spec.tsx │ │ │ │ ├── heading/ │ │ │ │ │ └── Heading.styled.tsx │ │ │ │ └── table/ │ │ │ │ ├── Table/ │ │ │ │ │ ├── Table.styled.ts │ │ │ │ │ └── TableKeyLink.styled.ts │ │ │ │ ├── TableHeaderCell/ │ │ │ │ │ ├── TableHeaderCell.styled.ts │ │ │ │ │ ├── TableHeaderCell.tsx │ │ │ │ │ └── __test__/ │ │ │ │ │ └── TableHeaderCell.styled.spec.tsx │ │ │ │ ├── TableTitle/ │ │ │ │ │ └── TableTitle.styled.tsx │ │ │ │ └── __tests__/ │ │ │ │ └── TableHeaderCell.spec.tsx │ │ │ ├── contexts/ │ │ │ │ ├── ClusterContext.ts │ │ │ │ ├── ConfirmContext.tsx │ │ │ │ ├── GlobalSettingsContext.tsx │ │ │ │ ├── ThemeModeContext.tsx │ │ │ │ ├── TopicMessagesContext.ts │ │ │ │ └── UserInfoRolesAccessContext.tsx │ │ │ └── globalCss.ts │ │ ├── index.tsx │ │ ├── lib/ │ │ │ ├── __test__/ │ │ │ │ ├── dateTimeHelpers.spec.ts │ │ │ │ ├── paths.spec.ts │ │ │ │ ├── permission.spec.ts │ │ │ │ └── yupExtended.spec.ts │ │ │ ├── api.ts │ │ │ ├── constants.ts │ │ │ ├── dateTimeHelpers.ts │ │ │ ├── errorHandling.tsx │ │ │ ├── fixtures/ │ │ │ │ ├── acls.ts │ │ │ │ ├── brokers.ts │ │ │ │ ├── clusters.ts │ │ │ │ ├── consumerGroups.ts │ │ │ │ ├── kafkaConnect.ts │ │ │ │ ├── latestVersion.ts │ │ │ │ ├── topicMessages.ts │ │ │ │ └── topics.ts │ │ │ ├── hooks/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── dateTimeHelpers.spec.ts │ │ │ │ │ ├── fixtures.ts │ │ │ │ │ ├── useBoolean.spec.ts │ │ │ │ │ ├── useCreatePermission.spec.tsx │ │ │ │ │ ├── useDataSaver.spec.tsx │ │ │ │ │ └── usePermission.spec.tsx │ │ │ │ ├── api/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── brokers.spec.ts │ │ │ │ │ │ ├── clusters.spec.ts │ │ │ │ │ │ ├── kafkaConnect.spec.ts │ │ │ │ │ │ ├── latestVersion.spec.ts │ │ │ │ │ │ ├── topicMessages.spec.ts │ │ │ │ │ │ └── topics.spec.ts │ │ │ │ │ ├── acl.ts │ │ │ │ │ ├── appConfig.ts │ │ │ │ │ ├── brokers.ts │ │ │ │ │ ├── clusters.ts │ │ │ │ │ ├── consumers.ts │ │ │ │ │ ├── kafkaConnect.ts │ │ │ │ │ ├── ksqlDb.tsx │ │ │ │ │ ├── latestVersion.ts │ │ │ │ │ ├── roles.ts │ │ │ │ │ ├── topicMessages.tsx │ │ │ │ │ └── topics.ts │ │ │ │ ├── redux.ts │ │ │ │ ├── useActionTooltip.ts │ │ │ │ ├── useAppParams.tsx │ │ │ │ ├── useBoolean.ts │ │ │ │ ├── useClickOutside.ts │ │ │ │ ├── useConfirm.ts │ │ │ │ ├── useCreatePermisson.ts │ │ │ │ ├── useDataSaver.ts │ │ │ │ ├── useLocalStorage.ts │ │ │ │ ├── useMessageFiltersStore.ts │ │ │ │ ├── usePermission.ts │ │ │ │ └── useUserInfo.ts │ │ │ ├── paths.ts │ │ │ ├── permissions.ts │ │ │ ├── testHelpers.tsx │ │ │ └── yupExtended.ts │ │ ├── react-app-env.d.ts │ │ ├── redux/ │ │ │ ├── interfaces/ │ │ │ │ ├── cluster.ts │ │ │ │ ├── consumerGroup.ts │ │ │ │ ├── index.ts │ │ │ │ ├── loader.ts │ │ │ │ ├── schema.ts │ │ │ │ └── topic.ts │ │ │ ├── reducers/ │ │ │ │ ├── index.ts │ │ │ │ ├── loader/ │ │ │ │ │ ├── loaderSlice.ts │ │ │ │ │ └── selectors.ts │ │ │ │ ├── schemas/ │ │ │ │ │ ├── __test__/ │ │ │ │ │ │ └── fixtures.ts │ │ │ │ │ └── schemasSlice.ts │ │ │ │ └── topicMessages/ │ │ │ │ ├── __test__/ │ │ │ │ │ ├── fixtures.ts │ │ │ │ │ ├── reducer.spec.ts │ │ │ │ │ └── selectors.spec.ts │ │ │ │ ├── selectors.ts │ │ │ │ └── topicMessagesSlice.ts │ │ │ └── store/ │ │ │ └── index.ts │ │ ├── setupTests.ts │ │ ├── styled.d.ts │ │ ├── theme/ │ │ │ ├── index.scss │ │ │ ├── minireset.css │ │ │ └── theme.ts │ │ └── widgets/ │ │ └── ClusterConfigForm/ │ │ ├── ClusterConfigForm.styled.ts │ │ ├── Sections/ │ │ │ ├── Authentication/ │ │ │ │ ├── Authentication.tsx │ │ │ │ └── AuthenticationMethods.tsx │ │ │ ├── CustomAuthentication.tsx │ │ │ ├── KSQL.tsx │ │ │ ├── KafkaCluster.tsx │ │ │ ├── KafkaConnect.tsx │ │ │ ├── Metrics.tsx │ │ │ └── SchemaRegistry.tsx │ │ ├── common/ │ │ │ ├── Credentials.tsx │ │ │ ├── Fileupload.tsx │ │ │ ├── SSLForm.tsx │ │ │ └── SectionHeader.tsx │ │ ├── index.tsx │ │ ├── schema.ts │ │ ├── types.ts │ │ └── utils/ │ │ ├── convertFormKeyToPropsKey.ts │ │ ├── convertPropsKeyToFormKey.ts │ │ ├── getInitialFormData.ts │ │ ├── getIsValidConfig.ts │ │ ├── getJaasConfig.ts │ │ └── transformFormDataToPayload.ts │ ├── tsconfig.dev.json │ ├── tsconfig.json │ └── vite.config.ts ├── kafka-ui-serde-api/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── provectus/ │ └── kafka/ │ └── ui/ │ └── serde/ │ └── api/ │ ├── DeserializeResult.java │ ├── PropertyResolver.java │ ├── RecordHeader.java │ ├── RecordHeaders.java │ ├── SchemaDescription.java │ └── Serde.java ├── mvnw ├── mvnw.cmd ├── pom.xml └── settings.xml