Commit graph

401 commits

Author SHA1 Message Date
Roman Zabaluev
56fa824510 BE: RBAC: Implement an authorities extractor to support subject-level role matching (#3979)
Co-authored-by: Ilya Kuramshin <iliax@proton.me>
(cherry picked from commit b700ac3991)
2023-06-27 20:42:41 +08:00
Roman Zabaluev
b0c0e06f19 BE: RBAC: Fix viewable topics filter (#3946)
(cherry picked from commit 6fe6165427)
2023-06-27 20:42:34 +08:00
Roman Zabaluev
556ec290eb BE: Make webclients use system proxy (#3881)
Co-authored-by: Ilya Kuramshin <iliax@proton.me>
(cherry picked from commit f19abb2036)
2023-06-27 20:42:12 +08:00
Ilya Kuramshin
f7aaea85f4 BE: Chore: CVEs fixes, May 2023 (#3840)
Co-authored-by: iliax <ikuramshin@provectus.com>
(cherry picked from commit f7d85d86e6)
2023-06-27 20:41:06 +08:00
Roman Zabaluev
4ae1da6ebf RBAC: Fix KC restart permissions (#3891)
Co-authored-by: David Bejanyan <58771979+David-DB88@users.noreply.github.com>
(cherry picked from commit 8a68ba0778)
2023-06-27 20:39:50 +08:00
Roman Zabaluev
8727393501 BE: Fix CORS once again (#3957)
(cherry picked from commit 9549f68d7e)
2023-06-27 20:38:03 +08:00
Roman Zabaluev
fdd9ad94c1
BE: RBAC: Add missing RBAC action, fix possible exceptions on unknown actions (#3810) 2023-05-11 17:23:14 +04:00
Ilya Kuramshin
1c35ded909
Enabling RBAC check for ACL (#3813)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-05-11 13:00:18 +00:00
Roman Zabaluev
52a42e698e
BE: RBAC: Implement restart permission for KC (#3805) 2023-05-11 11:06:22 +04:00
Ilya Kuramshin
aa7429eeba
BE: Update Kafka config-related info on schedule (#3764)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-05-10 10:45:18 +04:00
Roman Zabaluev
3ca417f64a
RBAC: Implement generic OAuth2 authority extractor (#3740) 2023-05-10 10:37:57 +04:00
Ilya Kuramshin
cfcfb851c6
BE: Smart Filter: Setting key/value variable to original string when it cant be parsed as json (#3784)
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-05-10 08:09:46 +04:00
Roman Zabaluev
c813e74609
RBAC: LDAP: Use the spring-provided authority populator with a single group search base (#3769) 2023-05-09 13:14:50 +04:00
Nail Badiullin
9ac8549d7d
FE: Display broker skew (#3626) 2023-05-08 12:33:58 +04:00
dependabot[bot]
379d9926df
Bump jacoco-maven-plugin from 0.8.8 to 0.8.10 (#3714)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-06 21:12:36 +04:00
Ilya Kuramshin
727f38401b
Expose cluster ACL list (#2818) 2023-05-02 16:34:57 +04:00
Ilya Kuramshin
690dcd3f74
Wizard file upload fix (#3762)
Removing manual FilePart openapi mapping - using default generator. File upload test added
2023-05-02 11:58:54 +00:00
Ilya Kuramshin
c7a7921b82
Masking "fieldsNamePattern" fields selection policy added (#3664) 2023-05-01 00:17:53 +00:00
Roman Zabaluev
744bdb32a3
BE: RBAC: LDAP support implemented (#3700) 2023-05-01 03:56:28 +04:00
Ilya Kuramshin
601bd6bbf5
Minor BE fixes and improvements (#3719)
1. Not setting default key serde to SR/Proto if it is not explicitly set.
2. enabling searching connector by connect name
3. switch using serializedKeySize/serializedValueSize methods instead using byte array len check
2023-04-26 10:46:57 +00:00
Ilya Kuramshin
eec9fcb5f1
BE: Chore: CVE fixes: spring-core(6.0.7), transitive org.json (#3693)
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-04-24 16:02:08 +04:00
Ilya Kuramshin
8ecb719e9b
Broker partitions skew added to API (#3566) 2023-04-21 17:39:30 +00:00
Ilya Kuramshin
7365cfe394
BE: Make paging sizes configurable (#3685)
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-04-21 09:19:38 +00:00
Nisan Ohana
734d4ccdf7
FE: Allow sorting consumer groups by topic num (#3633)
Signed-off-by: nisanohana3 <nisana230@gmail.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-04-20 17:13:05 +00:00
Ilya Kuramshin
47c8f8eeb5
BE: Fix protobuf map support (#3683)
* ISSUE-3674: Setting untyped object schema for "map" protobuf fields

* com.provectus.kafka.ui.util.jsonschema classes visibility refactoring

* kafka-ui-serdes.yaml changes rolled back

---------

Co-authored-by: iliax <ikuramshin@provectus.com>
2023-04-19 12:57:26 +04:00
Ilya Kuramshin
40c198f0fc
Config wizard BE: Add remaining cluster properties to wizard API (#3523)
* Important @Value annotated properties moved to typed classes
---------

Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2023-04-14 14:39:17 +04:00
Ilya Kuramshin
dbdced5bab
BE: Fix loading freezes in case one of the brokers is down (#3618)
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-04-10 16:40:15 +04:00
Roman Zabaluev
b3240d9057
BE: Exempt appconfig from rbac check (#3647) 2023-04-10 15:06:15 +04:00
Ilya Kuramshin
5c357f94fd
BE: Opt out of version check (#3570)
* Build & commit info added to /api/info endpoint
2023-04-07 17:49:07 +04:00
Ilya Kuramshin
ee1cd72dd5
ISSUE-3144: CVE fixes, Springboot upd (#3624)
* ISSUE-3144: Spring boot version bump to 3.0.5, snakeyaml upd
* explicit spring security dependency removed
* openapi plugin updated to 6.5
* Some javax.annotation imports migrated to jakarta.annotation
* base container sha specified
* Update CognitoAuthorityExtractor
2023-04-07 17:31:04 +04:00
Ilya Kuramshin
e31580a16a
"Done" event sending fix (#3631)
* Done message sending fix: Making filtering and limiting a part of emitter to make it possible to gracefully finish emitting
2023-04-06 18:11:39 +04:00
Ilya Kuramshin
dd4b653b8e
Support for old ksql versions
1. Fixing ksql response column retrieval (existence check) (#3594)
2. checking "format" for streams commands if "valueFormat" not set
2023-04-03 17:29:07 +04:00
Nisan Ohana
d06f77ad53
Allow sorting consumer groups by messages behind (#3527)
* Allow sorting consumer groups by messages behind
* Added an additional value through the enum of ConsumerGroupOrdering
* Enabled sorting in the react consumer groups page (by messages behind)
* Moved the message behind calculation logic to InternalConsumerGroup as part of its creation
* Added the messages behind case - sorting internalConsumerGroup according to comparator with messages behind logic

Co-authored-by: Yarden Shoham <hrsi88@gmail.com>
Signed-off-by: nisanohana3 <nisana230@gmail.com>
2023-03-30 11:45:36 +04:00
Roman Zabaluev
8348241e3d
Fix UserInfoUri usage for Github Enterprise (#3545)
* Fix #3542

* Fix orgs sub url

* Replace a constant with a well-known one

* Remove an unused constant

* Update local run config file
2023-03-28 19:01:19 +04:00
Ilya Kuramshin
58102faa16
[BE] Fix Topic deletion is unavailable on MSK Serverless for 0.6.0 (#3548)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-03-27 15:40:03 +04:00
Ilya Kuramshin
acfe7a4afc
Azure Events Hub support fixed (#3540)
UnknownTopicOrPartitionException error suppressing added when calling describeConfigs() for brokers (Azure case).

Co-authored-by: iliax <ikuramshin@provectus.com>
2023-03-24 14:05:59 +04:00
Ilya Kuramshin
d8289d2ee6
CORS configuration bean added (#3529)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-03-23 14:46:59 +04:00
Ilya Kuramshin
bd6394cb14
Polling timeouts made configurable (#3513)
1. Polling timeouts made configurable
2. polling-related classes moved to emitter package

---------

Co-authored-by: iliax <ikuramshin@provectus.com>
2023-03-21 21:14:25 +04:00
Roman Zabaluev
d42e911379
[BE] Implement an internal topic name prefix (#3505)
* Revert "Fix topic internal indication (#2846)"

This reverts commit 2f2e19d1bc.

* Fix #3135

* Add a nullable annotation for internalTopicPrefix

* Fix e2e tests

* upd isInternal

---------

Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2023-03-20 12:37:36 +04:00
Ilya Kuramshin
4c2d37dd52
[BE] Chore: UtilityClass annotation removed (#3479)
* @UtilityClass usage removed

* @UtilityClass usage removed

---------

Co-authored-by: iliax <ikuramshin@provectus.com>
2023-03-14 17:36:11 +04:00
David
e72f6d6d5d
Feature: Cluster web configuration wizard (#3241)
* created wizard

* Create wizard form schema

* Wizard kafka cluster form (#3245)

* created wizard Kafka Cluster form

* created error message

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>

* Update schema.ts

* Wizard authentication (#3268)

* created authentication form

* changed SaslType.tsx switch case

* remove console.log

* commented unused variables

* auth validation

* auth Security Protocol

* changed schema.ts username, password

* added Delegation tokens validation schema

* changed auth form

---------

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>

* New Dashboard flow. Add an ability to configure clusters

* wizard kafka cluster validate (#3294)

* kafka cluster validate

* fixed  bootstrap server uncontrolled input  warning error

---------

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>

* Wizard schema registry (#3286)

* created schema registry

* unused variables

* Prevent Default on click

---------

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>

* feat: cleanup

* Application config API (#3242)

* wip

* wip

* wip

* wip

* OAuthProperties added to dynamic config api

* wip

* files upload endpoint added

* rbac conf api added

* rbac conf api improvements

* App configuration validation endpoint (#3264)

Co-authored-by: iliax <ikuramshin@provectus.com>

---------

Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>

* add app config api client

* refactor cluster section

* refactor cluster section

* linting

* refactor Registry Form (#3311)

* refactor Registry Form

* refactor Registry

---------

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>

* auth form improvements

* refactoring

* linting

* file upload API changes

* Auth

* Start connecting to schema & payload

* Auth

* fileupload

* Wizard JMX Metrics form (#3303)

* created JMX Metrics form

* refactor JMXMetrics.tsx styles

* added cursor on checkbox, changed styles submit button

* refactor Metrics

* refactoring

* uncomment schema connect validation

---------

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>

* validate api

* refactor

* Wizard Kafka Connect form (#3300)

* created Kafka Connect form

* renaming functions and variables

* refactor

* changed button name

* refactoring kafka connect

* made handler function, reset replace with set value,

* refactoring

* uncomment schema metrics validation

---------

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>

* fixing AdminClient validation

* fixing AdminClient validation

* refactor kafka connect

* refactor metrics

* Per-cluster SSL verification settings (#3336)

* ssl configuration moved to app & cluster level

* documentations changes

* trust all removed, global app settings removed

* extracting ssl properties settings to SslPropertiesUtil

* wip

* documentation fix

---------

Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>

* SSL properties NPE fixes

* api integration

* custom fields for existing auth config

* OffsetsResetServiceTest fix

* cluster.properties structure flattening added

* kafka-ssl.yml: ssl properties moved to separate section, producer ssl properties copy added

* custom auth

* error messaging

* form submit

* feedback

* 1. defaulting metrics type to JMX
2. AdminClient id generation made uniq

* checkstyle fix

* checkstyle fix

* refactoring

* feedback

* feedback

* feedback

* feedback

* feedback

* feedback

* Wizard: Application info API (#3391)

* Application info API added, cluster features enum renamed to `ClusterFeature`

* show config for specific envs only

* refactor widget

* Cluster connection validation err msg improved

* KSQL DB section

* Refactor + deps upgrade

* experiment: get rid of babel

* BE validations refactoring

* Update kafka-ui.yaml

fixed to string type param

* fixes #3397

* linting

* #3399 adjust size of port input

* disable selects for disabled form

* Wizard: Keystore separation (#3425)

* wip

* wip

* compose fix

* dto structure fix

---------

Co-authored-by: iliax <ikuramshin@provectus.com>

* dynamic ops enablement properties improvements

* own keystore for each section

* linting

* fix keystore submit

* fix keystore submit

* feedback

* feedback

* refactoring

* Connect config userName field renamed

* metrics configs mapping fix

* feedback

* Wizard: Jmx ssl (#3448)

JMX SSL implementation. Added ability to set specific ssl keystore for each cluster when connection to jmx endpoint.

* Review fixes

* upd compareVersionsOperation qase id

* add toBeAutomated into manual suite

* DYNAMIC_CONFIG_ENABLED property description added

* Resolve conflicts

* Fix issue with 400 error

* fix SR edit form

---------

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: Alexander Krivonosov <31561808+GneyHabub@users.noreply.github.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
Co-authored-by: Ilya Kuramshin <iliax@proton.me>
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: bkhakimov <bkhakimov@provectus.com>
Co-authored-by: Mgrdich <mgotm13@gmail.com>
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2023-03-09 19:36:49 +04:00
Ilya Kuramshin
4d20cb6958
[BE] ProtobufFilesSerde imports implementation & refactoring (#3357)
* Feature: Support more complex Protobuf files

The changes in https://github.com/provectus/kafka-ui/pull/2874 added
initial support for using more than 1 Protobuf file in Kafka UI in
absence of a proper schema registry.

This change is building upon that functionality to support more complex
scenarios in which there are multiple Protobuf files being used and not
all of them are explicitly listed (for example imports).

It's using the already present Wire library from Square to do the heavy
lifting and create a comprehensive schema from all Protobuf files and
directories listed in the Kafka UI configuration.

* Refactor schema loading logic and reuse in tests

* Add support for reading Protobufs from ZIP archives

* Remove unused ProtobufFileSerde#toLocation(Path)

* wip

* wip

* wip

* wip

* wip

* wip

* wip

---------

Co-authored-by: Jochen Schalanda <jochen.schalanda@personio.de>
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-03-07 16:24:19 +04:00
Ilya Kuramshin
59837394fb
Integration with ODD (#3289)
ODD integration
Exporting statistics:
- topics as DataSets (metadata + schemas)
- connectors as DataTransformers (metadata + inputs&outputs)Exporting to ODD:
2023-03-01 16:13:29 +04:00
Ilya Kuramshin
ad5b0d44f0
Ksql select header's response parsing improved, tests added (#3377)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-02-23 23:56:34 +04:00
Ilya Kuramshin
741bbc1be1
[BE] Supress kafka authorization errors (#3376)
* wip

* wip

* typo fix, minor impr

* test fixes

* wip

---------

Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-02-22 11:50:49 +04:00
Ilya Kuramshin
f2ec4d76de
Avro (Embedded) serde implementation (#3266)
* Avro (Embedded) serde implementation

---------

Co-authored-by: iliax <ikuramshin@provectus.com>
2023-02-17 16:18:28 +04:00
Michael Kreis
a87b31aca1
BE: Extend testcase with a recursive reference (#3314)
Fixes #2824

Co-authored-by: Michael Kreis <michael.kreis@raiffeisen.ch>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-02-15 18:13:53 +04:00
Ilya Kuramshin
ebd25c61b1
Using JRE instead of JDK in docker image construction (#3341)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-02-14 14:13:52 +04:00
Ilya Kuramshin
45a6e73d29
[BE] SR: maxInMemorySize property setting added to SR client (#3310)
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-02-09 16:13:04 +04:00
Ilya Kuramshin
d1f04e05bb
[Be] Fix MessagesServiceTest, waiting of kafka write added (#3287)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-01-31 11:57:21 +04:00