Compare commits

...
Sign in to create a new pull request.

797 commits

Author SHA1 Message Date
Vladysl
83b5a60cc0
added commons-collections4 library instead of commons-collections (#4427)
Co-authored-by: Narekmat <47845266+Narekmat@users.noreply.github.com>
2024-04-08 18:46:54 +00:00
Vladysl
3dc4446321
added env variable filtering.groovy.enabled which allows to enable/disable groovy script executions (#4426) 2024-04-08 22:30:38 +04:00
dependabot[bot]
53a6553765
Bump vite-tsconfig-paths from 4.2.0 to 4.2.1 in /kafka-ui-react-app (#4215)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 14:17:40 +04:00
dependabot[bot]
fc97dfa874
Bump react-router-dom from 6.3.0 to 6.15.0 in /kafka-ui-react-app (#4217)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-13 14:17:26 +04:00
Edward Muller
68f08a0c9b
Bump Spring Boot (#4227) 2023-09-13 14:08:13 +04:00
dependabot[bot]
cc12814a95
Bump @typescript-eslint/parser from 5.29.0 to 5.62.0 in /kafka-ui-react-app (#4214)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-12 18:23:14 +04:00
dependabot[bot]
5d5358010b
Bump @testing-library/dom from 9.0.0 to 9.3.1 in /kafka-ui-react-app (#4216)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-12 18:23:05 +04:00
dependabot[bot]
de2f06ccf8
Bump react-hot-toast from 2.4.0 to 2.4.1 in /kafka-ui-react-app (#4218)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-12 18:22:49 +04:00
dependabot[bot]
ff106a2061
Bump @openapitools/openapi-generator-cli from 2.5.2 to 2.7.0 in /kafka-ui-react-app (#4219)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-12 18:22:37 +04:00
dependabot[bot]
c00cb320cd
Bump @types/lossless-json from 1.0.1 to 1.0.2 in /kafka-ui-react-app (#4220)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-12 18:22:23 +04:00
Victoria Miltcheva
8a1e9ad8e8
Docs: Fix persistent installation link in README (#4207) 2023-09-07 22:26:16 +04:00
dependabot[bot]
39bb860f8e
Bump allure.version from 2.22.2 to 2.23.0 (#4039)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-06 14:45:09 +04:00
dependabot[bot]
f66d234d83
Bump git-commit-id-plugin from 4.0.0 to 4.9.10 (#4028)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-06 14:44:51 +04:00
dependabot[bot]
68a7268f8b
Bump maven-surefire-plugin from 2.22.2 to 3.1.2 (#4026)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-06 14:44:34 +04:00
dependabot[bot]
aca3d25dc8
Bump ingestion-contract-client from 0.1.23 to 0.1.26 (#4047)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-06 14:43:45 +04:00
dependabot[bot]
0616883fee
Bump eslint from 8.16.0 to 8.48.0 in /kafka-ui-react-app (#4184)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-06 14:33:49 +04:00
Ilya Kuramshin
59584ed369
BE: Add a common prefix for all app metrics (#4177)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-09-05 18:03:09 +04:00
Mihai Alexandru Agache
bbb739af92
FE: Fix dateTimeHelpers.spec.ts linter error (#4090)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-09-05 18:01:45 +04:00
dependabot[bot]
145bf07b5d
Bump jest-environment-jsdom from 29.5.0 to 29.6.4 in /kafka-ui-react-app (#4183)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 17:42:55 +04:00
dependabot[bot]
ceb821acdf
Bump sass from 1.52.3 to 1.66.1 in /kafka-ui-react-app (#4185)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 17:42:46 +04:00
dependabot[bot]
d2b0cc51e3
Bump json-schema-faker from 0.5.0-rcv.44 to 0.5.3 in /kafka-ui-react-app (#4189)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 17:42:35 +04:00
dependabot[bot]
9e7bc02c8a
Bump eslint-plugin-jsx-a11y from 6.5.1 to 6.7.1 in /kafka-ui-react-app (#4159)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 13:33:07 +04:00
dependabot[bot]
2836b2f5d2
Bump eslint-config-prettier from 8.5.0 to 9.0.0 in /kafka-ui-react-app (#4182)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 13:32:37 +04:00
dependabot[bot]
a47848f809
Bump vite-tsconfig-paths from 4.0.2 to 4.2.0 in /kafka-ui-react-app (#4186)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 13:31:50 +04:00
dependabot[bot]
5c9fb994a4
Bump react and @types/react in /kafka-ui-react-app (#4187)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 13:31:27 +04:00
dependabot[bot]
14efe9da1e
Bump @jest/types from 29.5.0 to 29.6.3 in /kafka-ui-react-app (#4188)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 13:31:09 +04:00
dependabot[bot]
6676747606
Bump aquasecurity/trivy-action from 0.11.2 to 0.12.0 (#4190)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 13:30:50 +04:00
Ilya Kuramshin
b0583a3ca7
BE: Refactor SchemaRegistry serialization logic (#4116)
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-08-30 12:39:58 +04:00
Ilya Kuramshin
4ec7975b2e
BE: Implement topic active producers API (#4121)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-08-30 12:38:54 +04:00
dependabot[bot]
c05abc1e0a
Bump eslint-import-resolver-node from 0.3.6 to 0.3.9 in /kafka-ui-react-app (#4166)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-30 12:32:47 +04:00
Evgeny Petrushevsky
729ca79581
BE: Fix cognito roles extractor regression (#4171)
Co-authored-by: Evgeny Petrushevsky <evgenuypetrushevskiv8@gmail.com>
2023-08-30 12:29:36 +04:00
Shubhadeep Das
80024c8758
BE: Fix sonar code smells (#3971)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-08-29 17:54:21 +04:00
Prady
0d6f293ab9
FE: Topic analysis: Updated style for percentage of completion (#4123) 2023-08-29 17:53:13 +04:00
dependabot[bot]
8f2a29d15d
Bump aws-actions/configure-aws-credentials from 2 to 3 (#4169)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 17:46:10 +04:00
dependabot[bot]
552691fc5d
Bump use-debounce from 9.0.3 to 9.0.4 in /kafka-ui-react-app (#4160)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 17:45:24 +04:00
dependabot[bot]
342b534ac9
Bump jest from 29.5.0 to 29.6.4 in /kafka-ui-react-app (#4161)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 17:45:02 +04:00
dependabot[bot]
2051f6f653
Bump eslint-plugin-prettier from 4.0.0 to 4.2.1 in /kafka-ui-react-app (#4162)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 17:44:42 +04:00
dependabot[bot]
b2b02a5d60
Bump @hookform/error-message from 2.0.0 to 2.0.1 in /kafka-ui-react-app (#4163)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 17:44:23 +04:00
dependabot[bot]
d7eb3ba99e
Bump eslint-plugin-react-hooks from 4.5.0 to 4.6.0 in /kafka-ui-react-app (#4165)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 17:43:59 +04:00
dependabot[bot]
7de883d3ab
Bump @types/eventsource from 1.1.8 to 1.1.11 in /kafka-ui-react-app (#4167)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 17:43:36 +04:00
dependabot[bot]
4519d9a48c
Bump lossless-json from 2.0.8 to 2.0.11 in /kafka-ui-react-app (#4168)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-29 17:43:20 +04:00
Mitsuaki Ito
cca2c96997
FE: Fix active controller badge on invalid node (#4085)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-08-23 11:41:46 +00:00
dependabot[bot]
844eb17d7a
Bump tough-cookie from 4.0.0 to 4.1.3 in /kafka-ui-react-app (#4150)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-23 14:28:47 +04:00
dependabot[bot]
37a6e62684
Bump vite from 4.0.0 to 4.0.5 in /kafka-ui-react-app (#4147)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-23 13:48:54 +04:00
dependabot[bot]
4f211b39ba
Bump word-wrap from 1.2.3 to 1.2.5 in /kafka-ui-react-app (#4151)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-23 13:48:31 +04:00
dependabot[bot]
8d35761b8d
Bump json5 from 1.0.1 to 1.0.2 in /kafka-ui-react-app (#4148)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-23 13:46:35 +04:00
dependabot[bot]
b12a0634a0
Bump semver from 6.3.0 to 6.3.1 in /kafka-ui-react-app (#4149)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-23 12:50:24 +04:00
Roman Zabaluev
8d402798c5
FE: Bump node & pnpm versions (#4146) 2023-08-23 11:15:32 +04:00
Malav Mevada
ed9f91fd8a
FE: Broker: Config: Implement search by the Value (#3804)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-08-23 10:51:37 +04:00
pvmsikrsna
d2a5acc82d
FE: Topics: Minor fixes for Create Topic form (#3969)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-08-23 10:46:03 +04:00
p-eye
7a82079471
FE: Topics: Do not send properties which are not defined explicitly (#4097) 2023-08-23 10:42:09 +04:00
Ilya Kuramshin
9acbf2b681
BE: Minor restart logic refactoring (#4140)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-08-21 09:36:17 +00:00
dependabot[bot]
5f89e3b97e
Bump actions/setup-node from 3.7.0 to 3.8.1 (#4141)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-21 13:17:38 +04:00
Roman Zabaluev
1df8625fc8
BE: Audit: consider RBAC might be disabled (#4138) 2023-08-18 08:50:05 +00:00
Roman Zabaluev
c8ad262d77
BE: Consider context path in basic auth html (#4136) 2023-08-18 12:01:05 +04:00
Roman Zabaluev
bdbbdcccbe
BE: Use HTTP GET for basic auth (#4135) 2023-08-18 12:00:09 +04:00
Roman Zabaluev
3114509ebf
FE: RBAC: Fix cluster config menu item is always enabled (#4130) 2023-08-18 11:24:10 +04:00
Roman Zabaluev
6224b12ed3
FE: Refactor RBAC tests, fix "subset" permissions issues (#4128) 2023-08-18 11:23:32 +04:00
dependabot[bot]
78e53d7d93
Bump svenstaro/upload-release-action from 2.6.1 to 2.7.0 (#4071)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-16 13:08:39 +04:00
dependabot[bot]
f9e89661d7
Bump pnpm/action-setup from 2.2.4 to 2.4.0 (#4072)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-16 13:08:12 +04:00
Ilya Kuramshin
2a61b97fab
Messaging polling refactoring (#4088)
1. RecordEmitter logic refactored - all polling logic moved RangePollingEmitter. Backward/Forward implementations just chouse how range is calculated for next step.
2. Using consumer.position() method to define that range is fully polled (not empty polls counting deleted)
3. AnalysisTask: calculating progress based on processed offsets, not polled messages (more accurate for compacted topics)
4. Sorting polled messages by ts before sending to frontend
2023-08-14 14:37:55 +04:00
Ilya Kuramshin
b32ab01436
BE: Implement audit log level (#4103) 2023-08-11 13:13:14 +00:00
Ilya Kuramshin
fa9547b95a
BE: Controllers structure minor refactr (#4110)
Audit & access controll services moved to AbstractController
2023-08-11 16:41:07 +04:00
Kostas Dizas
d915de4fd8
Add protobuf raw message deserializer (#4041)
Implemented a Protobuf Raw deserialiser that works like protoc --decode_raw. This is a no config alternative to the existing ProtobufFileSerde.

Co-authored-by: Ilya Kuramshin <iliax@proton.me>
2023-08-11 08:47:28 +00:00
Roman Zabaluev
150fc21fb8
RBAC: Implement roles by github teams (#4093)
Co-authored-by: Ilya Kuramshin <iliax@proton.me>
2023-08-07 19:01:39 +04:00
Narekmat
ba18f3b042
Infra: Fix frontend sonar jdk warning (#4098) 2023-08-07 18:18:24 +04:00
Roman Zabaluev
ac09efcd34
FE: Update topic deletion disabled message (#4092) 2023-08-07 18:04:10 +04:00
Roman Zabaluev
333eae2475
Make the container timezone configurable (#4084)
Co-authored-by: Ilya Kuramshin <iliax@proton.me>
2023-08-04 15:43:40 +04:00
Sungyun Hur
69ebd3d52b
FE: display consumerGroupID in Reset Offsets page (#3866) 2023-08-03 11:05:09 +00:00
Roman Zabaluev
6a40146fb1
BE: Throw obvious exception in case no oauth2 providers have been defined (#4002) 2023-08-02 13:06:31 +00:00
Roman Zabaluev
4515ecaf41
Update README
Add stats banner
2023-08-02 15:30:37 +04:00
Ilya Kuramshin
92157bdd39
BE: Hex serde initialization fix (#4081)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-08-02 09:58:58 +00:00
Ilya Kuramshin
8126607b91
BE: Audit: Minor refactoring (#4064) 2023-08-01 15:25:09 +00:00
Roman Zabaluev
77f1ec9490
BE: RBAC: Skip rbac checks in case of app config (#4078) 2023-08-01 19:06:17 +04:00
Roman Zabaluev
3cde6c21ec
FE: Logout button link is bound to a wrong div (#4045) 2023-08-01 18:27:57 +04:00
Roman Zabaluev
15f4543402
BE: RBAC: Fix unknown resource exception (#4033) 2023-08-01 18:27:31 +04:00
Ilya Kuramshin
c96a0c6be5
ISSSUE4052: Polling metrics (#4069)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-08-01 14:19:03 +00:00
Ilya Kuramshin
b2c3fcc321
BE: ACL enablement check fixes (#4034)
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-08-01 12:42:00 +00:00
Ilya Kuramshin
1cd303a90b
BE: Impl ACL endpoints for consumer, producer, stream apps (#3783)
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-08-01 16:23:19 +04:00
Ilya Kuramshin
895d27a306
Unavailable connects suppressing (#4061)
1. suppressing connect errors when returning list of all connectors
2. minor refactoring of KafkaConnectService.getAllConnectors
2023-08-01 12:07:46 +00:00
Ilya Kuramshin
476cbfb691
BE: Serde tiny improvements and fixes (#4063)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-08-01 15:47:03 +04:00
Ilya Kuramshin
2db89593a7
BE: Implement Hex serde (#4074)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-08-01 12:30:05 +04:00
Roman Zabaluev
0b99f745b0
BE: Migrate deprecated spring components (#4056)
Co-authored-by: Ilya Kuramshin <iliax@proton.me>
2023-07-31 13:01:36 +04:00
Ilya Kuramshin
7eaae31345
Error message from SR propagation (#4058)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-07-26 08:17:55 +00:00
Igor Khrol
ca2d53f936
BE: Respect system proxy settings in WebClient (#4042) 2023-07-24 07:43:18 +00:00
Narekmat
a32272d07e
Infra: tighten github_token security (#4043)
Co-authored-by: Narek Matevosyan <nmatevosyan@provectus.com>
2023-07-24 11:25:13 +04:00
dependabot[bot]
32cd55928a
Bump qase.io.version from 3.0.4 to 3.0.5 (#4000)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-13 19:02:14 +04:00
Ilya Kuramshin
d4001b5a39
SchemaRegistry references support (#3747)
1. references fields added to io dtos
2. json schema references parsing fixed (using confluent JsonSchema)
3. schema refs resolving added to ODD schema extractors
2023-07-12 10:47:38 +00:00
dependabot[bot]
f124fa632d
Bump actions/setup-node from 3.6.0 to 3.7.0 (#4023)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-10 20:10:29 +04:00
Roman Zabaluev
8ae8ae40a4
CVE fixes, July 23 (#4003) 2023-07-10 20:02:27 +04:00
Roman Zabaluev
5f231c7681
FE: Fix Messages: Produce: "Keep contents" not re-generated (#4008) 2023-07-10 12:18:05 +00:00
Roman Zabaluev
17cde82dff
Get rid of pull_request_target modes 2023-07-06 19:46:02 +08:00
Roman Zabaluev
9ab4580c47
FE: Consumers: Replace zero consumer lag with "N/A" (#4009) 2023-07-04 14:12:21 +04:00
Narekmat
d572e43b4f
Infra: Fix image build for non OCI-compliant runtimes (#3986)
Co-authored-by: Narek Matevosyan <nmatevosyan@provectus.com>
2023-07-03 16:31:53 +04:00
Roman Zabaluev
ab58618d83
FE: Add robots.txt (#3995) 2023-06-30 16:12:35 +04:00
seono
216c87670d
FE: Consumers: Add a tooltip for a state (#3871)
Co-authored-by: seonho.jeong <seonho.jeong@navercorp.com>
2023-06-30 15:26:55 +04:00
dependabot[bot]
e57b0bac43
Bump protobuf-java from 3.21.9 to 3.23.3 (#3966)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-30 11:20:53 +00:00
dependabot[bot]
0c732db436
Bump allure.version from 2.21.0 to 2.22.2 (#3967)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-30 14:44:38 +04:00
dependabot[bot]
d26490e82e
Bump slf4j-simple from 2.0.5 to 2.0.7 (#3987)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-30 14:44:15 +04:00
dependabot[bot]
be2f9f0605
Bump org.mapstruct.version from 1.4.2.Final to 1.5.5.Final (#3707)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-28 16:13:41 +04:00
Ilya Kuramshin
50b9c56112
ODD: Skipping topic exporting if we failed to load/parse topic's schema from SR (#3980)
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-06-28 11:12:46 +04:00
Roman Zabaluev
401c9f12c1
Refactor workflow names 2023-06-27 21:08:06 +08:00
Roman Zabaluev
b700ac3991
BE: RBAC: Implement an authorities extractor to support subject-level role matching (#3979)
Co-authored-by: Ilya Kuramshin <iliax@proton.me>
2023-06-27 16:30:40 +04:00
Roman Zabaluev
b9bbb1a823
FE: Ignore expected 404 on topic statistics page (#3964) 2023-06-26 09:32:21 +00:00
dependabot[bot]
81805703c8
Bump peter-evans/create-or-update-comment from 2 to 3 (#3973)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-26 08:36:26 +00:00
Vlad Senyuta
6b67313d1a
[e2e] Checking Broker's config search is case insensitive (#3972) 2023-06-26 12:10:29 +04:00
Roman Zabaluev
9549f68d7e
BE: Fix CORS once again (#3957) 2023-06-23 08:45:12 +00:00
Ilya Kuramshin
8337c9c183
BE: Serde: Implement a serde for consumer_offsets topic (#3771) 2023-06-22 08:46:11 +00:00
Ilya Kuramshin
b1ac3482db
Skipping full qualified union-type names for avro <-> json convertion (#3931)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-06-21 12:33:30 +00:00
Roman Zabaluev
cdb4f84e23
FE: Add precision for disk usage (#3962) 2023-06-21 15:12:38 +04:00
dependabot[bot]
4134d68316
Bump maven-checkstyle-plugin from 3.1.2 to 3.3.0 (#3956)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-21 14:13:53 +04:00
Andrey Nenashev
742e6eed3e
BE: Chore: drop deprecated protobuf single file property (#3825) 2023-06-21 14:13:17 +04:00
Ilya Kuramshin
328d91de8b
Smart filters test execution endpoint added (#3656)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-06-21 10:04:58 +00:00
Ilya Kuramshin
c743067ffa
Audit backend (#3831)
AuditService added to log all API operations
2023-06-21 12:02:27 +04:00
Narekmat
7f7242eb8b
Infra: Revert comment action for published images (#3953)
Co-authored-by: Narek Matevosyan <nmatevosyan@provectus.com>
2023-06-20 11:18:20 +04:00
dependabot[bot]
593ef7ec9c
Bump kentaro-m/task-completed-checker-action from 0.1.1 to 0.1.2 (#3851)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-20 10:09:21 +04:00
dependabot[bot]
55ed7f4821
Bump mheap/github-action-required-labels from 4 to 5 (#3926)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-20 10:08:59 +04:00
dependabot[bot]
e60fe062b6
Bump maven-jar-plugin from 3.0.2 to 3.3.0 (#3704)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-20 10:08:30 +04:00
dependabot[bot]
0a35038826
Bump svenstaro/upload-release-action from 2.5.0 to 2.6.1 (#3904)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-20 10:07:38 +04:00
dependabot[bot]
fa65ec2753
Bump aquasecurity/trivy-action from 0.10.0 to 0.11.2 (#3927)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-20 10:06:48 +04:00
Roman Zabaluev
f84bbb9ebb
Update issue templates
Drop helm & add a redirect
2023-06-20 09:20:57 +04:00
Roman Zabaluev
d14b935765
Update codeowners 2023-06-20 08:56:21 +04:00
Roman Zabaluev
f2ef0c2793
Nuke helm charts
due to them being moved to a separate repo
https://github.com/provectus/kafka-ui-charts
2023-06-20 08:52:26 +04:00
Nicolas BOURON
c998e17e83
Helm: Add loadBalancerIP attribute for LB svc (#3795)
Signed-off-by: Nicolas BOURON <nicolas.bouron@gmail.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-06-20 08:17:27 +04:00
Vikas Rajput
d0088490a4
FE: Messages: Reset timestamp value w/ Clear all filters (#3923)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-06-20 08:14:51 +04:00
Roman Zabaluev
6fe6165427
BE: RBAC: Fix viewable topics filter (#3946) 2023-06-20 07:51:50 +04:00
Roman Zabaluev
2ac8646769
FE: Fix react query not initiating requests for local host (#3915) 2023-06-16 16:25:06 +04:00
Roman Zabaluev
af2cff20b6
FE: Disable resetting offsets for unassigned CGs (#3935) 2023-06-16 16:24:27 +04:00
Narekmat
2fb05ca947
Infra: Release workflow: Call charts action in another repo (#3917)
Co-authored-by: Narek Matevosyan <nmatevosyan@provectus.com>
2023-06-16 10:38:48 +04:00
Narekmat
fdd4947142
Infra: post links as checks, not comments (#3889)
Co-authored-by: Narek Matevosyan <nmatevosyan@provectus.com>
2023-06-16 10:34:34 +04:00
Hyojin Hwang
5c59239456
FE: fix dropdown overlapping on topics (#3898)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-06-16 05:17:50 +00:00
Roman Zabaluev
9a2f6bfc8e
FE: Wizard: Fix keytab param and boolean params quoting (#3934) 2023-06-16 09:00:08 +04:00
Azat Belgibayev
5d23f2a4ed
FE: Fix KSQL syntax color theme in dark mode (#3941)
+ Refactor theme selection mechanism
2023-06-16 08:42:35 +04:00
David Bejanyan
20bb274f0e
FE: Redirect the user to the wizard page (#3655)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-06-16 08:38:37 +04:00
Ilya Kuramshin
03b7d1bd60
BE: Fix sanitizing on KC null values config entries (#3937)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-06-14 05:29:22 +04:00
Vlad Senyuta
100bb1dac6
[e2e] Checking Broker's config search - non-first page results (#3928) 2023-06-12 12:35:38 +04:00
Ilya Kuramshin
c355955641
BE: Impl support for Avro logical types (#3808)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-06-08 13:14:39 +00:00
Vlad Senyuta
4b724fd852
[e2e] Checking Brokers configs editing (#3912) 2023-06-06 14:57:58 +04:00
Shubhadeep Das
cd9bc43d2e
BE: Deps: Update openapi dependency (#3906) 2023-06-05 14:13:13 +04:00
Narekmat
73bd6ca3a5
Infra: Fix image build for non OCI-compliant envs (#3861)
Co-authored-by: Narek Matevosyan <nmatevosyan@provectus.com>
2023-06-02 18:38:32 +04:00
Roman Zabaluev
8a68ba0778
RBAC: Fix KC restart permissions (#3891)
Co-authored-by: David Bejanyan <58771979+David-DB88@users.noreply.github.com>
2023-06-02 18:35:00 +04:00
David Bejanyan
e118aaba3d
FE: Fix message data digits are rounded (#3779)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-06-02 18:33:18 +04:00
Bhaarat Sharma
5771c11316
Docs: Fix typo for persistent installation in README (#3899) 2023-06-02 16:27:11 +04:00
Sukanth Gunda
29d91bca4b
FE: Rename "messages behind" to "consumer lag" (#3826) 2023-05-31 15:50:40 +00:00
Ilya Kuramshin
7e47906d88
Minor serdes fixes (#3857)
1. wrapping all serde methods with Exception catching to prevent serde list generation failure
2. for SR serde checking if schema exists by id added
2023-05-31 06:58:12 +00:00
Roman Zabaluev
f19abb2036
BE: Make webclients use system proxy (#3881)
Co-authored-by: Ilya Kuramshin <iliax@proton.me>
2023-05-30 16:27:18 +04:00
Roman Zabaluev
61bf71f9b7
Chore: Update examples, configs (#3855) 2023-05-30 14:41:03 +04:00
Vlad Senyuta
004de798e4
Checking Broker's Source information (#3873) 2023-05-30 12:00:07 +03:00
seono
80b748b02e
BE: RBAC: Add per_page parameter (#3864)
Co-authored-by: 정선호 <seonho.jeong@navercorp.com>
Co-authored-by: Ilya Kuramshin <iliax@proton.me>
2023-05-25 15:12:59 +04:00
Roman Zabaluev
71a7a1ec84
FE: Fix permissions check for cluster edit (#3862) 2023-05-25 09:36:58 +04:00
Michal Češek
0099169a2b
FE: Allow to edit active topic message filter (#3748)
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2023-05-24 12:23:48 +00:00
David Bejanyan
ab9d0e2b3f
FE: Fix version display with a tag (#3827) 2023-05-22 14:10:27 +04:00
David Bejanyan
f22c910f5c
FE: Fix latest version is null (#3833)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-05-22 14:09:10 +04:00
dependabot[bot]
1b9c189bfa
Bump oddrn-generator-java from 0.1.15 to 0.1.17 (#3843)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-22 09:25:59 +00:00
Vlad Senyuta
63f71b8a05
[e2e] Checking Broker's config search (#3849) 2023-05-22 11:49:20 +04:00
Narekmat
17ea464ec1
Infra: Update infra repo remote (#3839)
Co-authored-by: Narek Matevosyan <nmatevosyan@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-05-19 14:46:26 +04:00
dependabot[bot]
f7900ba478
Bump mockito.version from 5.3.0 to 5.3.1 (#3794)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-18 10:12:34 +00:00
Ilya Kuramshin
f7d85d86e6
BE: Chore: CVEs fixes, May 2023 (#3840)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-05-18 09:40:38 +00:00
Ilya Kuramshin
62bee1ced8
BE: Chore: Update logback config appender format (#3829)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-05-17 13:34:12 +04:00
Nisan Ohana
baeb494f53
BE: Chore: Fix code style in internalConsumerGroup (#3697)
Signed-off-by: nisanohana3 <nisana230@gmail.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-05-15 13:57:32 +00:00
Ankit Verma
ba6d6b2b1f
Sonar - Blocker fixes (#3752) 2023-05-15 13:01:42 +00:00
Vlad Senyuta
c7cb7a4027
[E2E] Checking Clear results in case of no result after execution (#3817) 2023-05-15 11:11:22 +04:00
Ilya Kuramshin
902f11a1d9
BE: RBAC: ACL exception fix (#3815)
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-05-12 09:10:09 +00:00
Narekmat
0796bf0112
Infra: E2E: Add k-ui healthcheck (#3811) 2023-05-11 19:38:58 +04:00
Roman Zabaluev
6a50a8ecee
Update security policy version list 2023-05-11 18:10:40 +04:00
Roman Zabaluev
78cc4dd981
Helm: Bump version to 0.7.0 2023-05-11 18:09:33 +04: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
e7429ce6c6
Update release drafter configs 2023-05-11 17:13:09 +08:00
Nail Badiullin
1d8c6197ac
FE: Expose cluster ACL list (#3662)
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Ilya Kuramshin <iliax@proton.me>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-05-11 12:38:39 +04: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
Roman Zabaluev
43ec02ce30
Revert "FE: Redirect the user to the wizard page if no clusters (#3481)" (#3798) 2023-05-10 09:51:14 +04:00
İnanç CAN
725c95f348
FE: Chore: Refactor toggle button (#3721)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-05-10 09:48:10 +04:00
Raju Kanuri
3ef5a9f492
FE: Brokers: Configs search by key is case-sensitive (#3754)
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2023-05-10 09:46:53 +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
David Bejanyan
e31cd2e442
FE: SR: Fix missing diff overlay (#3767) 2023-05-09 13:06:07 +04:00
dependabot[bot]
bc85924d7d
Bump testng from 7.7.0 to 7.7.1 (#3789)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-08 12:36:50 +04:00
Nail Badiullin
9ac8549d7d
FE: Display broker skew (#3626) 2023-05-08 12:33:58 +04:00
David Bejanyan
f6fe14cea5
FE: Messages: Fix UI displays nonsensical timestamps(#3715) 2023-05-08 12:00:43 +04:00
David Bejanyan
a1e7a20887
FE: RBAC: Wizard: Disable configure buttons if there are no permissions (#3684) 2023-05-08 11:58:36 +04:00
David Bejanyan
97a694b3f0
FE: Messages: Produce pane is too long (#3785) 2023-05-08 11:55:23 +04:00
David Bejanyan
61fb62276e
FE: Serde fallback icon: Add a tooltip (#3786) 2023-05-08 11:53:57 +04:00
David Bejanyan
db86942e47
FE: Add a clear button to the search component (#3634) 2023-05-08 11:52:11 +04:00
Vlad Senyuta
5e539f1ba8
[e2e] Stop query functionality check (#3787) 2023-05-08 11:03:24 +04:00
David Bejanyan
147b539c37
FE: KC: Fix no error is displayed if the syntax is not valid (#3750)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-05-06 17:36:29 +00: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
David Bejanyan
86a7ba44fb
FE: SR: Fix updating an existing schema with valid syntax says the syntax is invalid (#3746) 2023-05-06 21:10:31 +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
Vlad Senyuta
7857bd5000
[e2e] Check Show Streams request execution (#3758) 2023-05-02 10:34:36 +04:00
David Bejanyan
abfdf97a9f
FE: SR: Add a back button @ compare view (#3698)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-05-02 09:38:16 +04: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
David Bejanyan
da3932e342
FE: Impl a possibility to opt out of version check (#3672) 2023-04-27 06:01:38 +04:00
Roman Zabaluev
4e25522078
FE: Display message key/value serdes (#3718)
Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
2023-04-27 05:59:37 +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
Winnie Chiu
5efb380c42
FE: Make it possible to not close message produce pane upon producing (#2854)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: David <58771979+David-DB88@users.noreply.github.com>
Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
2023-04-26 08:19:41 +04:00
Roman Zabaluev
039f50273e
Infra: Rework issue templates 2023-04-24 23:01:32 +04:00
blacktower88
0278700edb
FE: Topics: Remove a success message upon creating a topic (#3580)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2023-04-24 16:15:09 +04: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
David Bejanyan
ad9d7dec2c
FE: Topics: Fix redirect to Topics on topic delete (#3687)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-04-24 11:19:18 +00:00
David Bejanyan
1b2827fb2f
FE: Add KC quick actions into the sandwich menu (#3660)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-04-24 10:50:08 +00:00
Vlad Senyuta
fb515871cb
issues/streamsAndTablesVisibilityCheck1 (#3702) 2023-04-24 12:56:01 +03:00
Ilya Kuramshin
8ecb719e9b
Broker partitions skew added to API (#3566) 2023-04-21 17:39:30 +00:00
David Bejanyan
aed6c16496
FE: Chore: Fix TSC error on submit callback type (#3699) 2023-04-21 17:58:11 +04:00
dependabot[bot]
a33e7064ee
Bump confluent.version from 7.3.0 to 7.3.3 (#3641)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-21 12:28:14 +00:00
dependabot[bot]
0e1f4ddfcf
Bump mockito.version from 5.1.1 to 5.3.0 (#3694)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-21 12:01:29 +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
Roman Zabaluev
8783da313f
FE: Fix topic messages Invalid size for null key/value messages (#3689) 2023-04-20 11:18:34 +00:00
dependabot[bot]
5dd690aa24
Bump aquasecurity/trivy-action from 0.9.2 to 0.10.0 (#3692)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.9.2 to 0.10.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.9.2...0.10.0)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-19 20:14:06 +04:00
dependabot[bot]
bd782213d1
Bump actions/stale from 7 to 8 (#3556)
Bumps [actions/stale](https://github.com/actions/stale) from 7 to 8.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-19 20:12:33 +04:00
dependabot[bot]
c89953435a
Bump mheap/github-action-required-labels from 3 to 4 (#3610)
Bumps [mheap/github-action-required-labels](https://github.com/mheap/github-action-required-labels) from 3 to 4.
- [Release notes](https://github.com/mheap/github-action-required-labels/releases)
- [Commits](https://github.com/mheap/github-action-required-labels/compare/v3...v4)

---
updated-dependencies:
- dependency-name: mheap/github-action-required-labels
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-19 20:09:09 +04:00
dependabot[bot]
73a6d7cade
Bump peter-evans/create-or-update-comment from 2 to 3 (#3638)
Bumps [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) from 2 to 3.
- [Release notes](https://github.com/peter-evans/create-or-update-comment/releases)
- [Commits](https://github.com/peter-evans/create-or-update-comment/compare/v2...v3)

---
updated-dependencies:
- dependency-name: peter-evans/create-or-update-comment
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-19 20:07:53 +04:00
dependabot[bot]
a1f955ab7c
Bump docker-maven-plugin from 0.42.0 to 0.42.1 (#3639)
Bumps [docker-maven-plugin](https://github.com/fabric8io/docker-maven-plugin) from 0.42.0 to 0.42.1.
- [Release notes](https://github.com/fabric8io/docker-maven-plugin/releases)
- [Changelog](https://github.com/fabric8io/docker-maven-plugin/blob/master/doc/changelog.md)
- [Commits](https://github.com/fabric8io/docker-maven-plugin/compare/v0.42.0...v0.42.1)

---
updated-dependencies:
- dependency-name: io.fabric8:docker-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-19 20:07:13 +04: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
Roman Zabaluev
838fb604d5
Helm: Bump version to 0.6.2
Co-authored-by: github-actions <github-actions@github.com>
2023-04-17 15:28:49 +04:00
a1tair6
814035e254
FE: RBAC: Fix missing permissions for topic recreation (#3457)
* fix missing permission for recreate topic

Co-authored-by: jay-choe <jay0764@naver.com>
Co-authored-by: p-eye <peyed3@gmail.com>

* fix unnecessary permission

* add disable attribute, ActionDropdownItem

* remove dropdownitem lib

* fix eslint by #3080

---------

Co-authored-by: jay-choe <jay0764@naver.com>
Co-authored-by: p-eye <peyed3@gmail.com>
2023-04-17 14:57:37 +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
Roman Zabaluev
96a577a98c
Update security policy 2023-04-14 13:46:49 +04:00
Roman Zabaluev
a640a52fe6
Infra: disable creating non-templated issues
+  add useful links along with issue templates
2023-04-14 13:19:03 +04:00
Michal Češek
0f5a9d7a63
FE: KSQL: Implement sorting (#3433)
* Resolves #3171 - enable ksql tables, streams sorting

* enable ksql tables, streams sorting
- make memoized onSortingChange, onPaginationChange depend on location

* fix linting

* edit Table.tsx imports

* fix linting

---------

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-04-14 12:43:03 +04:00
Vlad Senyuta
39aca05fe3
[e2e] Clear entered queue check (#3667) 2023-04-14 12:22:08 +04:00
David Bejanyan
696cde7dcc
FE: Mark serde-failed messages with red (#3081)
* Marked serde-failed messages with red

* added styles on icon position

* added icon for the Key and Value

* changed warning icon position

* changed warning icon and data cell style

* added Ellipsis component

* refactor Ellipsis.tsx

* resolved conflicts

---------

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
2023-04-13 20:03:43 +04:00
Roman Zabaluev
c148f112a4
FE: Fix config param source nullability (#3661) 2023-04-13 11:57:40 +04:00
Nail Badiullin
98f1f6ebcd
FE: Consumers: Topic list: Implement sorting (#3621)
* improvement/consumer-topics-sort implement consumer topics sorting

* improvement/consumer-topics-sort update typings after review
2023-04-13 11:14:00 +04:00
Nail Badiullin
89019dae19
FE: Implement a warning for duplicated filter (#3608)
* bugfix/messages-filter-dupes add validation for existing filter

* bugfix/messages-filter-dupes replace `current` with `same` in alert message
2023-04-13 11:12:41 +04:00
Nail Badiullin
29f49b667d
FE: Fix messages 404 with schema created by .NET containing guid (#3592) 2023-04-13 11:10:59 +04:00
David Bejanyan
005e74f248
FE: Format field previews one per line (#3623)
* new properties are added on a new line

* added test cases for key and Value Preview filters

* upd produceMessageCheck

---------

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2023-04-10 19:35:14 +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
Hrant Abrahamyan
94da2f4e7f
[FE] SR: Display a warning in case of invalid syntax (#2599)
* No warning about filling the invalid data in case of editing the Schema / Producing the Message

* fixed test errors

* pull master

* fixed test problems

* use isJsonObject for validation

* fixed protobuf format bug

* fix setNewSchemaValue()

* test commit

* fix BaseTest

* upd global

* upd global

* upd global

* add local browser VM option

* fix TopicsList column header locator

* fix withStartupTimeout()

* switch e2e to TestNG

* upd pom

* upd page classes

* upd -pl kafka-ui-e2e-checks

* test commit

* Revert "test commit"

This reverts commit 4b505321ac.

* fix workflow module

* upd test -f 'kafka-ui-e2e-checks'

* crt firstCase

* upd QaseUtils

* add -Dsuite

* add -Dsuite

* add -Dsuite

* add -Dsuite

* add isSuiteEnabled

* add isSuiteEnabled

* upd workflow

* upd readMe

* upd readMe

* upd readMe

* upd qaseSetup

* upd qaseSetup

* add schedule

* add schedule

* upd suites

* upd suites

* upd suites

* upd json input

* upd onTestStart

* Revert "fix setNewSchemaValue()"

This reverts commit 67d12d1134.

* resolve conflicts

* upd localWebDriver

* added error message

* added ability to check Valid Enum

* swapped key Serde and Value Serde

* replace 'e' with 'enum', also added test cases

---------

Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: David <58771979+David-DB88@users.noreply.github.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-04-10 15:53:31 +04:00
Roman Zabaluev
b3240d9057
BE: Exempt appconfig from rbac check (#3647) 2023-04-10 15:06:15 +04:00
Nail Badiullin
83f9432569
[FE] Messages filtering by offset & timestamp doesn't work (#3582) 2023-04-10 13:08:26 +04:00
Vlad Senyuta
a2741291bf
[e2e] Clearing messages availability with Topic's cleanup policy update (#3632)
* add verifyClearMessagesMenuStateAfterTopicUpdate

* fix indents

* upd imports

* Add checkstyle plugin execution for e2e

* upd violations

* upd violations

* Impl a separate checkstyle config for e2e

---------

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-04-10 12:22:57 +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
Nisan Ohana
7a47e6e8ba
[Infra] Add devcontainer configuration file (#3603)
* Add devcontainer configuration file

* Allow development using github codespace with pre-configuration of the needed dependencies

Signed-off-by: Nisan Ohana <78907315+nisanohana3@users.noreply.github.com>

* Add pull request extention

---------

Signed-off-by: Nisan Ohana <78907315+nisanohana3@users.noreply.github.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-04-07 15:03:56 +04:00
David Bejanyan
a3daa45ccb
Display smart filters filtered stats #2680 (#3408)
* added  filterApplyErrors
* resoled show errors and message event type
---------

Co-authored-by: Oleg Shur <workshur@gmail.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: Ilya Kuramshin <iliax@proton.me>
2023-04-06 19:37:49 +04:00
David Bejanyan
ca225440d8
[FE] Get rid of "Topic analysis successfully started" message (#3628) 2023-04-06 18:21:24 +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
Vlad Senyuta
87a8f08ae1
[e2e] Setup selenoid for multithreading (#3609)
* add browserSetup

* add browserSetup

* upd browserSetup

* upd browserSetup

* upd browserSetup

* upd browserSetup

* upd browserSetup

* upd read me
2023-04-04 07:56:02 +04:00
Shubham Jain
1bcdec4acc
FE: Add Search By consumer name in Topic View (#3089) 2023-04-04 07:51:38 +04:00
David Bejanyan
e3ee4c7fa7
FE: Redirect the user to the wizard page if no clusters (#3481)
* Redirect the user to the wizard page if no clusters

* added test case

* changed test case for redirect to new cluster config page

* replaced mockedUsedNavigate with mockedNavigate

* added ability to show dashboard if clicking on it

---------

Co-authored-by: Oleg Shur <workshur@gmail.com>
2023-04-04 07:49:05 +04:00
Nail Badiullin
0ff7e63386
FE: AirGap: Remove internet dependency / google fonts (#3602)
* improvement/offline-fonts remove google fonts, add local fonts with font-face

* improvement/offline-fonts add font-display rule

* improvement/offline-fonts fix fonts path resolving
2023-04-03 18:52:14 +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
olondar
de21721e00
FE: Fix Edit config: Selected text background color is transparent (#3601)
* Update Editor.tsx

reassigning the background

* Update EditorViewer.styled.ts

* Update EditorViewer.styled.ts

changed the code to meet the requirements of the owner

Closes #3576
2023-04-03 09:10:14 +04:00
Carlos Díaz
c9488422c2
FE: Fix dummy field in saved JSON message content (#3567) 2023-04-03 08:50:25 +04:00
Nail Badiullin
ecc8db1948
FE: Fix HTTP 400 for clusters with special symbols (#3591) 2023-04-03 08:47:39 +04:00
David
866966a638
[FE] Chore: Rename a property to make sonar happy (#3578) 2023-04-03 08:43:45 +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
Poalry
bfb80f36b3
Fix invalid font color for 404 w/ dark theme (#3579)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-03-30 10:27:39 +04:00
Nail Badiullin
15b78c0a2e
FE: Fix topics unchecking w/ "Show Internal Topics" (#3585)
* bugfix/topics-selection remove selection reset useEffect, reseting only on pageChange

* bugfix/topics-selection implement rowId getter

* bugfix/topics-selection remove quotes from row name property for id generation
2023-03-30 10:22:28 +04:00
Roman Zabaluev
c79660b32a
Fix the product hunt link in README 2023-03-30 08:47:08 +04:00
Roman Zabaluev
df8a16e8a2
Get rid of an obsolete md file 2023-03-30 08:41:28 +04:00
Roman Zabaluev
ff759fa455
Documentation refactoring 2023-03-30 08:37:48 +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
Roman Zabaluev
4a1e987a1d
Bump helm version
Co-authored-by: github-actions <github-actions@github.com>
2023-03-28 18:11:07 +04:00
Nail Badiullin
ef0dacb0c3
[FE] Fix timestamp filter & partitions selection (#3569) 2023-03-28 16:45:42 +04:00
David
4623f8d7b8
[FE] Update display of key/value serdes in messages (#3543)
* added key format and value format

* comented some test cases

* comented some test cases

* changed test cases

* changed test cases

* swapped key Serde and Value Serde
2023-03-28 16:13:28 +04:00
Shubham Kumar
20cc1e489b
[Docs] Update prerequisites docs (#3392)
* add prerequisites for ubuntu

* Update prerequisites.md

---------

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-03-27 23:26:12 +04:00
Nail Badiullin
9f1a4df0a1
[FE] Add missing schema name upon edit (#3561) 2023-03-27 22:24:41 +04:00
p-eye
7e040818a4
[FE] Add RBAC actions for copy topic button (#3549)
* enable 'Copy Selected Topic' button when action is Action.CREATE
Co-authored-by: jay-choe <jay0764@naver.com>
Co-authored-by: a1tair6 <sweetyfam6@gmail.com>

* fix lint: remove unused imports

Co-authored-by: jay-choe <jay0764@naver.com>
Co-authored-by: a1tair6 <sweetyfam6@gmail.com>

---------

Co-authored-by: jay-choe <jay0764@naver.com>
Co-authored-by: a1tair6 <sweetyfam6@gmail.com>
2023-03-27 21:51:15 +04:00
Nail Badiullin
dc08701246
improvement/config-save-spinner add spinner for submit button (#3551)
* improvement/config-save-spinner add spinner for submit button

* improvement/config-save-spinner add Spinner component to common, update spinner usage

* improvement/config-save-spinner remove unused props for spinner component

* improvement/config-save-spinner add defaultProps, refactor props definition

* improvement/config-save-spinner disable button on inProgress prop

---------

Co-authored-by: Oleg Shur <workshur@gmail.com>
2023-03-27 17:13:18 +03: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
Vlad Senyuta
58eca230fc
[e2e] Verify internal topics naming (#3555)
* Revert "Fix topic internal indication (#2846)"

This reverts commit 2f2e19d1bc.

* Fix #3135

* Add a nullable annotation for internalTopicPrefix

* Fix e2e tests

* upd isInternal

* upd checkShowInternalTopicsButton

* add manual cases

---------

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-03-27 15:26:37 +04:00
Nail Badiullin
deb3dba29e
FE: bugfix/wizard form validation (#3526)
* add the parameter to trigger() call for focusing first failed input
* refactor Select component to React.forwardRef for focusing purposes
2023-03-27 15:00:33 +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
Oleg Shur
8d3bac8834
[FE} Refactor Consumers Section (#3508)
* refactor CG List & details page

* Refactor ResetOffset page

* get rid of redux reducer
2023-03-23 19:40:12 +04:00
Oleg Shur
84d3b329ba
Migrate KSQL to RQ. Get rid of redux reducer (#3478)
* Migrate KSQL to RQ. Get rid of redux reducer

* refactor react-ace using

* get rid of deadcode

* ace

* Fix add/remove stream props

* ace

* Fix Clear result handler

* Fix error handler

* rollback removal of yup async validation helper

* reduce re-renders

* move ace to separate chunk

* upd KsqlQueryForm

* feedback

---------

Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2023-03-23 16:36:29 +03:00
Ilya Kuramshin
d8289d2ee6
CORS configuration bean added (#3529)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-03-23 14:46:59 +04:00
Roman Zabaluev
75a6282a84
[Infra] Chore: Upgrade aws creds action (#3533) 2023-03-22 17:14:52 +04:00
dependabot[bot]
5b726e84fa
Bump maven-javadoc-plugin from 3.4.1 to 3.5.0 (#3509)
Bumps [maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.4.1 to 3.5.0.
- [Release notes](https://github.com/apache/maven-javadoc-plugin/releases)
- [Commits](https://github.com/apache/maven-javadoc-plugin/compare/maven-javadoc-plugin-3.4.1...maven-javadoc-plugin-3.5.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-javadoc-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-22 16:58:09 +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
Vlad Senyuta
e2dc12dc02
[E2E] Checking components paths (#3514)
* [e2e]Checking components paths

* upd checkComponentsPathWhileNavigating

* add backlog

* add backlog

* add backlog

* upd LocalWebDriver

* upd wfm

* upd fil path

* upd clearMessage

* upd panels package

* upd Template

* add manual cases

---------

Co-authored-by: anedyal <arthur.niedial@gmail.com>
2023-03-20 14:10:10 +04:00
Roman Zabaluev
270d52882e
Revert "[Infra] A first try of reusable workflows (#3497)" (#3519)
This reverts commit 36112fa26b.
2023-03-20 13:59:14 +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
Oleg Shur
4d03802a5d
[FE] bypass key & value serde null cases (#3500) 2023-03-15 17:53:57 +04:00
dependabot[bot]
98580551f6
Bump aws-actions/configure-aws-credentials from 1.pre.node16 to 2.0.0 (#3487)
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from 1.pre.node16 to 2.0.0.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws-actions/configure-aws-credentials/compare/v1-node16...v1-node16)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-15 17:01:20 +04:00
Narekmat
36112fa26b
[Infra] A first try of reusable workflows (#3497)
* add resusable action

* fix yaml

* fix yaml

* fix

* fix syntax errors

* fix syntax

* Apply suggestions from code review

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

---------

Co-authored-by: Narek Matevosyan <nmatevosyan@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-03-15 14:44:07 +04:00
dependabot[bot]
738136eed2
Bump ingestion-contract-client from 0.1.19 to 0.1.23 (#3498)
Bumps [ingestion-contract-client](https://github.com/opendatadiscovery/opendatadiscovery-specification-contracts) from 0.1.19 to 0.1.23.
- [Release notes](https://github.com/opendatadiscovery/opendatadiscovery-specification-contracts/releases)
- [Commits](https://github.com/opendatadiscovery/opendatadiscovery-specification-contracts/commits)

---
updated-dependencies:
- dependency-name: org.opendatadiscovery:ingestion-contract-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-15 13:49:54 +04:00
David
5cdd44daee
[FE] Fix updating message count upon clearing messages (#3080)
* in a function clearTopicMessagesHandler added invalidateQueries

* changed redux Topic messages clear with react query call

* changed redux Topic messages clear with react query call on Overview/ActionCell.tsx

* show on alert deleted item

* added s on variable clearMessage

* removed clearTopicMessages action from redux and replace functionality with hook useClearTopicMessages

---------

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
2023-03-15 13:47:58 +04:00
Roman Zabaluev
b890dc34b6
Update bug_report.md: Add a clear warning
Add a more clear warning about following the bug template
2023-03-15 13:43:44 +04:00
David
1117b296a7
UI: Implement a dark theme (#2996)
---------

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: Mgrdich <mgotm13@gmail.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
2023-03-14 22:03:05 +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
dependabot[bot]
51f89cb900
Bump docker-maven-plugin from 0.40.2 to 0.42.0 (#3477)
Bumps [docker-maven-plugin](https://github.com/fabric8io/docker-maven-plugin) from 0.40.2 to 0.42.0.
- [Release notes](https://github.com/fabric8io/docker-maven-plugin/releases)
- [Changelog](https://github.com/fabric8io/docker-maven-plugin/blob/master/doc/changelog.md)
- [Commits](https://github.com/fabric8io/docker-maven-plugin/compare/v0.40.2...v0.42.0)

---
updated-dependencies:
- dependency-name: io.fabric8:docker-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-14 17:14:24 +04:00
dependabot[bot]
41dabf3858
Bump aquasecurity/trivy-action from 0.9.1 to 0.9.2 (#3486)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.9.1 to 0.9.2.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.9.1...0.9.2)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-14 17:13:41 +04:00
dependabot[bot]
3d1e7a0979
Bump docker/build-push-action from 3 to 4 (#3488)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-14 17:12:42 +04:00
Yarden Shoham
f8083e25b7
[BE] Chore: Fix typo (#3493)
`croups` -> `groups`

Signed-off-by: Yarden Shoham <hrsi88@gmail.com>
2023-03-14 16:54:19 +04:00
Victoria Salova
f51da4bb61
[FE] Fix "Saved filters" invalid font (#3412)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-03-14 16:49:40 +04:00
David
4a7893ff1b
[FE] Fix consumers topic label position (#3383)
* change Consumers Topic lable position

* changed conditional padding row with typeScript

* removed table title style from theme, changed TableHeaderConsumerCell style

* changed consumers Table Header Cell and test cases

* refactor ListItem.spec.tsx

* removed data test id

---------

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
2023-03-14 16:43:17 +04:00
Oleg Shur
c153d6f634
get rid of Husky pre-commit hooks (#3480) 2023-03-10 16:45:37 +03:00
dependabot[bot]
c5d6896ae1
Bump actions/setup-node from 3.5.1 to 3.6.0 (#3205)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.5.1 to 3.6.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3.5.1...v3.6.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-09 23:30:58 +04:00
Narekmat
cdb5590025
[Infra] fix warnings (#3257)
* fix warnnings

* Fix syntax issue

---------

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-03-09 23:10:13 +04:00
Winnie Chiu
76fbaa7ead
[FE] Replace "all clusters offline" message (#2773)
* Add message about not existing offline clusters in Dashboard (#2707)

* Review fix

* Review fixes

---------

Co-authored-by: Winnie Chiu <113582273+winnie-chiu@users.noreply.github.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-03-09 22:59:59 +04:00
dependabot[bot]
d5a5f66528
Bump svenstaro/upload-release-action from 2.4.1 to 2.5.0 (#3410)
Bumps [svenstaro/upload-release-action](https://github.com/svenstaro/upload-release-action) from 2.4.1 to 2.5.0.
- [Release notes](https://github.com/svenstaro/upload-release-action/releases)
- [Changelog](https://github.com/svenstaro/upload-release-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/svenstaro/upload-release-action/compare/2.4.1...2.5.0)

---
updated-dependencies:
- dependency-name: svenstaro/upload-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-09 22:10:11 +04:00
dependabot[bot]
c5ac7fbe11
Bump kentaro-m/task-completed-checker-action from 0.1.0 to 0.1.1 (#3411)
Bumps [kentaro-m/task-completed-checker-action](https://github.com/kentaro-m/task-completed-checker-action) from 0.1.0 to 0.1.1.
- [Release notes](https://github.com/kentaro-m/task-completed-checker-action/releases)
- [Commits](https://github.com/kentaro-m/task-completed-checker-action/compare/v0.1.0...v0.1.1)

---
updated-dependencies:
- dependency-name: kentaro-m/task-completed-checker-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-09 22:09:46 +04:00
dependabot[bot]
1f2c3bcb73
Bump actions/stale from 6 to 7 (#3132)
Bumps [actions/stale](https://github.com/actions/stale) from 6 to 7.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-09 22:09:17 +04:00
dependabot[bot]
b366d3a520
Bump antlr4-maven-plugin.version from 4.7.1 to 4.12.0 (#3380)
Bumps `antlr4-maven-plugin.version` from 4.7.1 to 4.12.0.

Updates `antlr4-runtime` from 4.7.1 to 4.12.0
- [Release notes](https://github.com/antlr/antlr4/releases)
- [Changelog](https://github.com/antlr/antlr4/blob/master/CHANGES.txt)
- [Commits](https://github.com/antlr/antlr4/compare/4.7.1...4.12.0)

Updates `antlr4-maven-plugin` from 4.7.1 to 4.12.0
- [Release notes](https://github.com/antlr/antlr4/releases)
- [Changelog](https://github.com/antlr/antlr4/blob/master/CHANGES.txt)
- [Commits](https://github.com/antlr/antlr4/compare/4.7.1...4.12.0)

---
updated-dependencies:
- dependency-name: org.antlr:antlr4-runtime
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: org.antlr:antlr4-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-09 22:07:07 +04:00
dependabot[bot]
8ac760119c
Bump mockito.version from 4.9.0 to 5.1.1 (#3402)
Bumps `mockito.version` from 4.9.0 to 5.1.1.

Updates `mockito-core` from 4.9.0 to 5.1.1
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.9.0...v5.1.1)

Updates `mockito-junit-jupiter` from 4.9.0 to 5.1.1
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.9.0...v5.1.1)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:development
  update-type: version-update:semver-major
- dependency-name: org.mockito:mockito-junit-jupiter
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-09 22:06:47 +04:00
Roman Zabaluev
f2a2574ddc
[Helm] Release 0.6.0 (#3471)
Co-authored-by: github-actions <github-actions@github.com>
2023-03-09 20:46:19 +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
Yarden Shoham
334ba3df99
Helm: Add global.imageRegistry (#3451)
Now if this chart is used as a subchart, the image registry will be taken from `global.imageRegistry` (if it exists).

Signed-off-by: Yarden Shoham <hrsi88@gmail.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-03-07 19:20:21 +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
Arthur
b3f74cbfea
[e2e]Checking the URL redirections for kafka-ui pages (#3450)
* [e2e]Checking the URL redirections for kafka-ui pages

* [e2e]Checking the URL redirections for kafka-ui pages

* [e2e]Checking the URL redirections for kafka-ui pages

* [e2e]Checking the URL redirections for kafka-ui pages

* rmv ignore from copyMessageFromTopicProfile

* move @QaseId(21) to manualSuite

---------

Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2023-03-07 11:36:12 +02:00
kristi-dev
e261143bb4
[FE] Fix oldest first button overlaps the Submit button (#3005)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-03-07 10:39:15 +04:00
David
be151b4d82
[FE] Add a warning when copying to clipboard in non-SSL envs (#3394)
* set a warning message on copyToClipboard if user use http

* Update kafka-ui-react-app/src/lib/hooks/useDataSaver.ts

* changed custom type whit warning

* added  warning title

* added test case for warning message

---------

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
2023-03-07 10:36:52 +04:00
Vlad Senyuta
8889463f7b
add httpcomponents (#3449) 2023-03-06 16:41:35 +02:00
Vlad Senyuta
f193e5fed7
[e2e] Setup qase integration (once again) (#3441)
* add checkNewBrokersTest

* add manual cases and listeners

* add manual cases and listeners

* add manual cases and listeners

* upd manual suite

* upd listeners

* add readme

* upd template

* upd naming

* upd template

* upd template

* upd template

* upd template

* fix naming

* fix MessagesTest

* upd manual cases

* upd comments
2023-03-06 12:59:48 +04:00
Snowfox0618
18c046af5b
[FE] Fix number of partitions field validation issue (#3400)
* Now user can only input valid digits, and '-' is not allowed in positive-only inputs.

* Fix ISSUE#3319

Now user can only input valid digits, and '-' is not allowed in positive-only inputs.

* Revert "Fix ISSUE#3319"

This reverts commit a4e34f5af3.

* Fix ISSUE#3319
Created a helper function, and added a unit test to cover it.

* Fix ISSUE#3319
Located the helper function outside the component, and renamed some unit tests to make their meaning more clear.

* Fix ISSUE#3319
- Added an attribute 'integerOnly' to component 'Input', to represent whether this input component instance will accept decimal.
- Improved input-check function and paste-check function, to avoid invalid number format (like '3-3', '3.3.3').
- Added new unit tests to test new input-check and paste-check functions.
- Added attribute 'integerOnly' to Input instances in the TopicForm component.
2023-03-06 12:50:58 +04:00
David
b5e3d1f928
[FE] Brokers: fix missing tooltip for config source (#3356)
* .

* ..

* added getReferenceProps getFloatingProps

* testing

* testing2

* testing3

* added autoUpdate

* added @floating-ui/react

* removed @floating-ui/react-dom-interactions

---------

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
2023-03-06 12:49:38 +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
Arthur
ffa49ebb3d
[e2e]Checking Messages count per page within Topic (#3413)
* [e2e]Checking available custom parameters with Topic editing

* [e2e]Checking Messages count per page within Topic

* [e2e]Checking Messages count per page within Topic.First Fix

* [e2e]Checking Messages count per page within Topic.Issue added

* [e2e]Checking Messages count per page within Topic.Second Fix

* [e2e]Checking Messages count per page within Topic.Second Fix

* [e2e]Checking Messages count per page within Topic.Third Fix

* [e2e]Checking Messages count per page within Topic.Third Fix
2023-03-01 10:32:04 +02:00
kristi-dev
c8619268cd
FE: Topics: make the topic name field focused (#2986)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-02-27 14:44:28 +04:00
Narekmat
9b76d59513
Fix checkout action commit ref (#3405)
* fix checkout

* fix other actions

---------

Co-authored-by: Narek Matevosyan <nmatevosyan@provectus.com>
2023-02-27 12:50:12 +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
David
ea348102c2
FE: Redesign connector actions (#3197)
* redesign connector actions

* remove xpect(dropDownButton.length).toEqual(2) from Actions.spec.tsx

---------

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-02-23 15:47:59 +04:00
dependabot[bot]
526b2915f5
Bump selenide from 6.6.3 to 6.11.2 (#3309)
Bumps [selenide](https://github.com/selenide/selenide) from 6.6.3 to 6.11.2.
- [Release notes](https://github.com/selenide/selenide/releases)
- [Changelog](https://github.com/selenide/selenide/blob/master/CHANGELOG.md)
- [Commits](https://github.com/selenide/selenide/compare/v6.6.3...v6.11.2)

---
updated-dependencies:
- dependency-name: com.codeborne:selenide
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-23 14:34:31 +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
mkuts12
e584b15d97
Update serialization guide (#3375)
[line](f2ec4d76de/kafka-ui-api/src/main/java/com/provectus/kafka/ui/config/ClustersProperties.java (L41))
but I'm not familiar enough with Go to be sure.
2023-02-21 17:40:05 +04:00
dependabot[bot]
c9f0298000
Bump aquasecurity/trivy-action from 0.8.0 to 0.9.1 (#3337)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.8.0 to 0.9.1.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.8.0...0.9.1)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 17:25:12 +04:00
dependabot[bot]
fadd307564
Bump svenstaro/upload-release-action from 2.3.0 to 2.4.1 (#3306)
Bumps [svenstaro/upload-release-action](https://github.com/svenstaro/upload-release-action) from 2.3.0 to 2.4.1.
- [Release notes](https://github.com/svenstaro/upload-release-action/releases)
- [Changelog](https://github.com/svenstaro/upload-release-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/svenstaro/upload-release-action/compare/2.3.0...2.4.1)

---
updated-dependencies:
- dependency-name: svenstaro/upload-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 17:24:13 +04:00
dependabot[bot]
37e6f021b3
Bump testng from 7.6.1 to 7.7.0 in /kafka-ui-e2e-checks (#3304)
Bumps [testng](https://github.com/cbeust/testng) from 7.6.1 to 7.7.0.
- [Release notes](https://github.com/cbeust/testng/releases)
- [Changelog](https://github.com/cbeust/testng/blob/master/CHANGES.txt)
- [Commits](https://github.com/cbeust/testng/compare/7.6.1...7.7.0)

---
updated-dependencies:
- dependency-name: org.testng:testng
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 17:21:13 +04:00
Vlad Senyuta
ba99c20ad9
[e2e] Update Qase integration, impl additional e2e workflows (#3372) 2023-02-21 13:04:18 +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
Konstantinos Papadakis
cbb166026d
Helm: Make secrets resource creation optional (#3324)
* Fixes #3299

* bumps chart version

---------

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-02-15 17:31:05 +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
Vlad Senyuta
eeef330fc0
[e2e] Check custom parameters availability (#3340)
* test commit

* fix BaseTest

* upd global

* upd global

* upd global

* add local browser VM option

* fix TopicsList column header locator

* fix withStartupTimeout()

* switch e2e to TestNG

* upd pom

* upd page classes

* upd -pl kafka-ui-e2e-checks

* test commit

* Revert "test commit"

This reverts commit 4b505321ac.

* fix workflow module

* create checkCustomParametersAvailability()

* upd test -f 'kafka-ui-e2e-checks'

* upd checkCustomParametersAvailability()

* upd checkCustomParametersWithinEditExistingTopic
2023-02-13 13:06:44 +02:00
Vlad Senyuta
8663ef6e84
[e2e] Checking Clearing results for already executed KSQL Request (#3327)
* test commit

* fix BaseTest

* upd global

* upd global

* upd global

* add local browser VM option

* fix TopicsList column header locator

* fix withStartupTimeout()

* switch e2e to TestNG

* upd pom

* upd page classes

* upd -pl kafka-ui-e2e-checks

* test commit

* Revert "test commit"

This reverts commit 4b505321ac.

* fix workflow module

* upd test -f 'kafka-ui-e2e-checks'

* crt clearResultsForExecutedRequest test

* add suite profiles

* fix clickClearResultsBtn
2023-02-09 17:23:50 +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
Roman Zabaluev
6ffcd845fa
Fix e2e run (#3326)
* Fix e2e run

* add suite profiles

Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2023-02-09 15:53:43 +04:00
Vlad Senyuta
9e1e9b3799
[e2e] switch to TestNG (#3301)
* test commit

* fix BaseTest

* upd global

* upd global

* upd global

* add local browser VM option

* fix TopicsList column header locator

* fix withStartupTimeout()

* switch e2e to TestNG

* upd pom

* upd page classes

* upd -pl kafka-ui-e2e-checks
2023-02-02 17:24:42 +04:00
Alexandr Nezboretskiy
398181e0d2
[e2e] checking ksql request execution (#3295)
* Added ksqlApi methods

* Added classObjects to Facade

* Added models for streams and tables

* ad pages classes

* ad enums

* ad checkingKsqlRequestExecution()

* Refactored default topics to constant

* Refactored KsqlTests

* Resolve conversations

---------

Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2023-02-01 11:24:40 +02:00
Mgrdich
fdf8db98a2
Fix json paths in field previews (#3028)
* Fix the Preview Modal , Dom Nesting issue inside a Table

* minor modifications to the PreviewModal and rhe row data to get rid of errorsin the console

* add JSONPATH library to implement the parsing with it instead of loadash get
2023-02-01 11:25:16 +04:00
Winnie Chiu
9f9bd36b0f
Display offline ISR by Partition on Topic overview (#2887)
* Display In Sync Replicas (ISR) by Partition on Topic overview (#2703)

* add unit test

---------

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-02-01 11:24:31 +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
Batuhan Küçükali
1b09251419
[BE] Fix case-sensitive search in broker's topics (#3276)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-01-31 11:55:21 +04:00
Arthur
640777dbda
[e2e]TopicTests.editSettingsOfTopic : Edit settings of topic (#3271)
* [e2e] Create common method for produce message in TopicMessagesTests

* [e2e]TopicTests.editSettingsOfTopic : Edit settings of topic

* [e2e]TopicTests.editSettingsOfTopic : Edit settings of topic

* [e2e]TopicTests.editSettingsOfTopic : Edit settings of topic.         waitUntilScreenReady() Fix

* [e2e]TopicTests.editSettingsOfTopic : Edit settings of topic.         waitUntilScreenReady() Fix 2
2023-01-30 18:13:56 +02:00
Ilya Kuramshin
43fcf6dce1
[BE] Suppressing failures when describe log dirs not supported (#3262)
* Suppressing failures when describe log dirs not supported
2023-01-26 11:12:59 +04:00
Narekmat
0e671a9396
[Helm] Add variable for pathtype (#3259) 2023-01-24 12:52:54 +04:00
Ilya Kuramshin
ded4e26825
[BE] Chore: ConfigTest stats initialization added (#3260)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-01-24 12:52:27 +04:00
Arthur
9cfa184cea
[e2e]TopicTests.purgeMessagesOfTopics : Purge messages of topics (#3254)
* [e2e] Create common method for produce message in TopicMessagesTests

* [e2e]TopicTests.purgeMessagesOfTopics : Purge messages of topics. First fix

* [e2e]TopicTests.purgeMessagesOfTopics : Purge messages of topics. First fix

Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2023-01-23 18:05:00 +02:00
Narekmat
0ff8c0d4fb
Polish workflow names (#3232)
* Change workflow names

* chnage name

* Update branch-deploy.yml

* Update documentation.yaml

* Update branch-remove.yml

* Update backend.yml

* Update frontend.yaml

* Update helm.yaml

* Update master.yaml

* Update e2e-checks.yaml

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-01-23 18:27:55 +04:00
Mgrdich
ceb9c5dd85
[FE] Fix URL for Logout button (#3246) 2023-01-23 08:11:00 +04:00
Ilya Kuramshin
5d31189609
ISSUE-3222: SchemaRegistrySerde checkSchemaExistenceForDeserialize property added (#3235) 2023-01-17 22:38:44 +04:00
Alexandr Nezboretskiy
c2d7d70a8e
[e2e]TopicTests.clearMessageOfTopicFromTopicProfile : Clear message of topic from topic profile (#3240) 2023-01-16 18:39:45 +02:00
Wanis Fahmy
f55376b40b
[BE] Impl basic auth for prometheus (#3201)
* fix(3143): passes prometheus basic auth credentials

Co-authored-by: theurichde <tim.heurich@idealo.de>

* fix(3143): applies review comments

Co-authored-by: theurichde <tim.heurich@idealo.de>

Co-authored-by: theurichde <tim.heurich@idealo.de>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-01-16 17:53:06 +04:00
Ilya Kuramshin
799c2c455a
Implement SchemaRegistry openapi client (#3123)
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
2023-01-16 15:27:55 +04:00
Ilya Kuramshin
7c6d04bca0
Proto to JsonSchema well-known types support (#3088)
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
2023-01-16 14:49:04 +04:00
Alexandr Nezboretskiy
b4e7f3763b
TopicTests.removeTopicFromAllTopics : Remove topic from all topics (#3231)
* TopicTests.removeTopicFromAllTopics : Remove topic from all topics

* Resolve conversation
2023-01-13 17:02:09 +02:00
Arthur
6096ad1d49
[e2e] Create common method for produce message in TopicMessagesTests (#3228)
* [e2e] Create common method for produce message in TopicMessagesTests

* [e2e] Create common method for produce message in TopicMessagesTests

* [e2e] Create common method for produce message in TopicMessagesTests
2023-01-13 12:14:56 +02:00
Alexandr Nezboretskiy
a03b6844e0
Checking messages filtering by timestamp within messages/topic (#3195)
* Added setTime methods

* Refactored ApiService class with reload methods and fix sendMessageMethod

* Added TimeUtils class

* Refactored all testClasses with new reloaded methods from ApiService

* Refactored naming and DateTimeFormatter pattern

* fix deleteTopic method

* fix checkingMessageFilteringByOffset() test

* fix AfterAll class in ConnectorsTests

* Added Locale.Us for DateTimeFormatter pattern

* refactored equals to isEqual checkingMessageFilteringByTimestamp()

* Added argument for locale as "--lang=es"

* Deleted seconds from setTime(), refactored pattern of timestamp

* Refactored assertions of checkingMessageFilteringByTimestamp()

* Revert seekTypeField locator

* Refactored hh to HH in pattern

* Refactored waitUntilScreenReady() in TopicDetails

* Refactored topicListHeader locator

* Refactored of TopicMessagesTests

* fix mc

* resolve conversation

* resolve conversation and deleted txt files

* Added SneakyThrows annotation

* refactored mid mistakes

* Added offsetElm Condition

* Resolve conversation of methods

* Fix spinner locator

* revert clickSubmitFiltersBtnMessagesTab() method

* Added disabled annotation for checkingMessageFilteringByTimestamp()

* Resolve conversation

* Refactored waitUntilSpinnerDisappear()

* Reformat methods order

* Disabled and refactored checkingMessageFilteringByOffset()

* Uncommented AfterAllClass

Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-01-13 08:14:58 +02:00
Ilya Kuramshin
578468d090
Consumer groups loading performance impr (#3188)
ISSUE-3148, ISSUE-3188: Topic consumers retrieval performance impr
1. batch listConsumerGroupOffsets method implemented
2. describeConsumerGroups parallelized
3. minor improvements in ReactiveAdminClient
4. (not related to perf) ConsumerGroupMapper messagesBehind setting fixed
2023-01-12 23:14:28 +04:00
Vlad Senyuta
57585891d1
[e2e] Increate chrome startup timeout (#3223)
* test commit

* fix BaseTest

* upd global

* upd global

* upd global

* add local browser VM option

* fix TopicsList column header locator

* fix withStartupTimeout()
2023-01-12 19:43:37 +04:00
Mgrdich
aeda502b09
[FE] Fix HTTP 414 with a big partitions list selected (#3145)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-01-12 19:34:33 +04:00
Arthur
566dab078f
[e2e]TopicTests.recreateTopic : Recreate topic (#3213)
* [e2e]TopicTests.recreateTopic : Recreate topic

* fix isInternal()

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2023-01-12 10:20:54 +02:00
Narekmat
356be08fc7
[e2e] Fix allure url (#3189)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-01-12 11:21:40 +04:00
David
cf4571b964
[FE] Fix deleting a consumer hangs the page (#3116)
remove getIsConsumerGroupDeleted from consumerGroupsSlice.ts

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
2023-01-11 18:17:35 +04:00
Mgrdich
8ffd542a80
[FE] Remove classnames lib from the bundle (#3199) 2023-01-10 17:54:16 +04:00
Arthur
7fc94ecdbf
[e2e]TopicTests.clearMessageOfTopic : Clear message of topic (#3208)
* [e2e]TopicTests.clearMessageOfTopic : Clear message of topic

* [e2e]First Fix.TopicTests.clearMessageOfTopic : Clear message of topic

* [e2e]First Fix.TopicTests.clearMessageOfTopic : Clear message of topic

* [e2e]First Fix.TopicTests.clearMessageOfTopic : Clear message of topic

* [e2e]Second Fix.TopicTests.clearMessageOfTopic : Clear message of topic
2023-01-10 14:34:58 +02:00
Roman Zabaluev
0048a7eabd
Fix aws publisher var condition 2023-01-09 17:24:09 +04:00
Roman Zabaluev
cf9b653e46
Fix aws publisher var type 2023-01-09 16:39:24 +04:00
Vlad Senyuta
8f6cbffa0d
[e2e] Add Local browser VM option (#3203)
* test commit

* fix BaseTest

* upd global

* upd global

* upd global

* add local browser VM option

* fix TopicsList column header locator
2023-01-09 16:04:46 +04:00
Roman Zabaluev
a905946987
Update readme: remove producthunt badge 2023-01-09 12:21:41 +04:00
Roman Zabaluev
f21e912a33
Update readme: add producthunt badge 2023-01-06 16:41:38 +04:00
Roman Zabaluev
d7527f5cd7
Update security policy version list 2023-01-06 12:12:40 +04:00
Mgrdich
e1708550d5
[FE] Build fails after #2372 (#3192)
* Fix the dev environment for the front end.

* Fix the dependency installation location
2023-01-05 11:33:44 +04:00
BulatKha
53cdb68478
Update bug_report.md (#2908)
* Update bug_report.md

Added:
1. Actual result, 
2. Suggestions on naming convention
3. CAPSed the system info partially and moved to top. Alternative: use the warning emoji and move outside the commented block
4. Specified few examples of additional context, that might help collecting more info n the bug.

* Update bug_report.md

replaced severity and priority suggestion.

* Update .github/ISSUE_TEMPLATE/bug_report.md

done

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

* Update bug_report.md

- Moved actual and expected result together at the top
- Changed to "Alternative scenarios"
- Changed number 4 in additional context as well
-removed duplication of "Steps to reproduce"

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2023-01-04 08:51:49 +04:00
Narekmat
c559b909db
Implement healthcheck for e2e (#3069)
* add health check

* add health checks
2023-01-04 08:50:22 +04:00
Mgrdich
9d98927524
[FE] Implement a full support for custom context path (#3106)
* 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
2023-01-03 19:54:42 +04:00
Roman Zabaluev
9b87d3829b
Fix minor RBAC/auth NPEs, init null collections (#3185) 2023-01-03 19:29:33 +04:00
Ilya Kuramshin
eef63466fb
[BE] Update tests for confluent platform 7+ (#3038)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-01-03 14:52:28 +04:00
Ilya Kuramshin
0f908ce55f
[Docs] Update JMX in kafka-ui.yaml (#3173)
Co-authored-by: iliax <ikuramshin@provectus.com>
2023-01-03 14:51:04 +04:00
Arthur
87ffb4716a
[e2e]TopicTests.copyTopic : Copy topic (#3165)
* [e2e]TopicTests.copyTopic : Copy topic

* [e2e]TopicTests.copyTopic : Copy topic

* [e2e]TopicTests.copyTopic : Copy topic

* [e2e]First fix.TopicTests.copyTopic : Copy topic

Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2022-12-30 15:21:51 +02:00
Oleg Shur
9fad0d0ee3
Upgarde to Vite v4 (#3062)
* Upgarde to Vite v4

* Fix warnings

* resolved validateDOMNesting(...) warning also remove act from PreviewModal.spec.tsx

* Revert "resolved validateDOMNesting(...) warning also remove act from PreviewModal.spec.tsx"

This reverts commit f24660918f.

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
2022-12-29 13:45:18 +03:00
Ilya Kuramshin
0cba8240b7
Bug: UnsupportedVersionException: includeClusterAuthorizedOperations (#3157)
* ISSUE-3141: checking kafka version before setting includeAuthorizedOperations for describeCluster api call
2022-12-28 19:49:26 +04:00
Vlad Senyuta
16750bd899
[e2e] Update BaseTest with removing redundant data (#3160)
* test commit

* fix BaseTest

* upd global

* upd global

* upd global
2022-12-28 18:39:52 +04:00
Narekmat
f11ce312d1
[e2e] [infra] Fix allure reports s3 upload condition (#3159)
* Update e2e-checks.yaml

* Update e2e-checks.yaml
2022-12-28 17:05:50 +04:00
Narekmat
b3b0a1286d
Post allure reports to s3 instead of a branch (#3158)
* add s3

* fix yaml
2022-12-28 15:19:49 +04:00
Roman Zabaluev
8b126d843e
Fix google oauth with rbac (#3155) 2022-12-28 14:34:35 +04:00
Arthur
5f4bb43afd [e2e] TopicTests.recreateTopicFromTopicProfile : Recreate topic from topic profile (#3125)
* [e2e] TopicTests.recreateTopicFromTopicProfile : Recreate topic from topic profile

* [e2e] TopicTests.recreateTopicFromTopicProfile : Recreate topic from topic profile

* [e2e] Final Fix. add topicSettingsTab.waitUntilScreenReady();

* [e2e] Final Fix.

* [e2e] Final Fix 2.

(cherry picked from commit 22439f30e8)
2022-12-27 16:45:17 +08:00
Arthur
49daf27898 [e2e] Checking Topics settings to make sure retention.bytes is right according to Max size on disk in GB selected value (#3118)
* [e2e] Checking Topics settings to make sure retention.bytes is right according to Max size on disk in GB selected value. Created new class - SettingsPanel and inner class in SettingsPanel. Add new test to Topicstests.

* First Update. Checking Topics settings to make sure retention.bytes is right according to Max size on disk in GB selected value

* Second Update. Checking Topics settings to make sure retention.bytes is right according to Max size on disk in GB selected value

* Second Update. Checking Topics settings to make sure retention.bytes is right according to Max size on disk in GB selected value

* [e2e] Final Fix. add topicSettingsTab.waitUntilScreenReady();

(cherry picked from commit a9d7d6c515)
2022-12-27 16:45:17 +08:00
Arthur
c0598a99ed [e2e] Update case "Checking the information of used Broker in a cluster" (#3094)
* [e2e] Update case "Checking the information of used Broker in a cluster"

* [e2e] Update case "Checking the information of used Broker in a cluster"

* [e2e] Update case "Checking the information of used Broker in a cluster"

* [e2e]First Fix Update case "Checking the information of used Broker in a cluster"

* [e2e]Second Fix Update case "Checking the information of used Broker in a cluster"

* [e2e]Third Fix Update case "Checking the information of used Broker in a cluster"

* [e2e]Third Fix Update case "Checking the information of used Broker in a cluster"

Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
(cherry picked from commit ca3916aae0)
2022-12-27 16:45:16 +08:00
Roman Zabaluev
f4e6afed2b
[Helm] Update spring config location var name (#3139)
* [Helm] Update spring config location var name

* Bump chart version
2022-12-24 19:36:25 +04:00
Narekmat
7ee79c4b00
Fix branch name within env create workflow (#3134) 2022-12-23 23:38:49 +04:00
Narekmat
aead0e960c
Get rid of auto bump of serde api version (#3122) 2022-12-23 19:19:24 +04:00
Narekmat
c31bc7e3be
Fix separate env deploy workflow (#3085)
* fix bash

* fix workflow
2022-12-23 19:18:29 +04:00
Narekmat
5fafa05cd0
Release a helm update (#3133)
* release 0.5.0
2022-12-23 19:15:58 +04:00
Alexandr Nezboretskiy
6375cc9afd [e2e]Checking messages filtering by Offset within Topic/Messages (#3066)
* Checking messages filtering by Offset within Topic/Messages

* Fix test checkTimeToRetainDataCustomValueWithEditingTopic(), refactored assertions on topicCreateEditForm from "604800000" to ""

* Fix test checkTimeToRetainDataCustomValueWithEditingTopic(),added setNumberOfPartitions as mandatory field

* resolve conversations

* resolve conversations

* resolve conversations

(cherry picked from commit de7f7db269)
2022-12-23 23:07:07 +08:00
Arthur
da456727b7 [e2e] Create method with common steps inside test classes (#3045)
* [e2e] Create method with common steps inside test classes. Connectors, Schema, Brokers are done.

* [e2e] Create method with common steps inside test classes. Topics are done.

* [e2e] First Fix. Create method with common steps inside test classes.

* [e2e]TopicName in redirectToConsumerFromTopic changed.

* [e2e]TopicName in redirectToConsumerFromTopic returned.

* [e2e]Broker tests fix.

* [e2e]Topic tests fix. .setNumberOfPartitions(1) and setTimeToRetainDataInMs("604800000") added.

* [e2e]Topic tests fix. verifyVisibleElements() and verifyEnabledElements added.

* [e2e]Topic tests fix. verifyVisibleElements() and verifyEnabledElements added.

* [e2e]Fix with verifyElementsCondition()

* [e2e]Fix SmokeTests.

* [e2e]Fix2 SmokeTests.

(cherry picked from commit c13440b65d)
2022-12-23 23:07:07 +08:00
Alexandr Nezboretskiy
b5c87e047f [e2e]Checking applying saved filter within Topic/Messages (#3029)
* [e2e]Checking applying saved filter within Topic/Messages

* resolve conversations

* resolve conversation

(cherry picked from commit b6b1b8bda5)
2022-12-23 23:07:06 +08:00
Alexandr Nezboretskiy
7170493ad1 [e2e]Checking 'Time to retain data (in ms)' custom value with editing… (#3023)
* [e2e]Checking 'Time to retain data (in ms)' custom value with editing Topic's settings

* resolve conversations

* resolve conversation and refactored test addingNewFilterWithinTopic() with randomAlphabetic()

* resolve conversation and refactored test checkFilterSavingWithinSavedFilters() with randomAlphabetic()

(cherry picked from commit d2d039e36c)
2022-12-23 23:07:06 +08:00
Arthur
1f44abf1b6 [e2e]Checking the Brokers overview (#3014)
* [e2e]Checking the Brokers overview

* [e2e]FirstUpdate Checking the Brokers overview

* [e2e]SecondUpdate Checking the Brokers overview

* [e2e]FirstFix Checking the Brokers overview

* [e2e]FirstFix Checking the Brokers overview

(cherry picked from commit 0a24b2d765)
2022-12-23 23:07:06 +08:00
Alexandr Nezboretskiy
141111ae92 [e2e]Checking filter saving within Messages/Topic profile/Saved Filters (#3003)
* [e2e]Checking filter saving within Messages/Topic profile/Saved Filters

* resolve conversation

* resolve conversation

* resolve conversation

* resolve conversation

* resolve conversation

* resolve conversation

(cherry picked from commit a503c29472)
2022-12-23 23:07:05 +08:00
Alexandr Nezboretskiy
51b5b3339f [e2e]SchemasTests.updateSchemaAvro : Update schema avro ( REFACTORED WITH NEW ASSERTIONS) (#2992)
* Added softAssertions and few methods for assert

* Refactored softAssertions and few methods for assert

(cherry picked from commit 86c72d7d85)
2022-12-23 23:06:24 +08:00
Arthur
58e0cc8d49 [e2e]Checking 'Show Internal Topics' toggle functionality within 'All Topics' page/Issue#2938 (#2983)
* [e2e] Checking 'Show Internal Topics' toggle functionality within 'All Topics' page

* [e2e] First Checking 'Show Internal Topics' toggle functionality within 'All Topics' page

* [e2e] Second Checking 'Show Internal Topics' toggle functionality within 'All Topics' page

* [e2e] selectItem locator is changed

* [e2e] assertion added

* [e2e] assertion added

(cherry picked from commit 27db304b1b)
2022-12-23 23:06:24 +08:00
Narekmat
2b790df989
Fix helm release workflow (#3131) 2022-12-23 18:54:28 +04:00
Roman Zabaluev
027d9b4653
Change message timestamp format (#3113)
* 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>
2022-12-23 17:45:21 +04:00
Mgrdich
33784e3e83
Get back messages pagination (#2862)
* initial messages pagination , modification in v2

add minor test in messages table component

Add Messages pagination

add next feature in the Advanced Filters

Messages Table add Back button navigation

remove un-necessary code from the messages table

minor code refactors to remove unnecessary codes

page parameter fix in the query of the advanced Filters

minor change in the test file to keep uniformity of the project

set default table limit for first request messages v1

* pagination fix the initial disable
2022-12-23 15:47:40 +04:00
Mgrdich
a0a464d455
[FE] Fix cleanup policy submit/display (#3067)
* TopicForm CleanupPolicy default value clash in the edit page

* minor code import modification in topicsParamsTransformer

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-12-23 15:46:03 +04:00
Roman Zabaluev
c099fc13cd
Update readme
add datamasking and rbac links
2022-12-23 13:14:16 +04:00
Roman Zabaluev
5c723d9b44
Role based access control (#2790)
* 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>
2022-12-22 17:05:53 +04:00
Mgrdich
c2be45fd06
[FE] Fix invalid SeekType value for the offset and timestamp fields (#3057)
* SeekType fix the value during the offset and timestamp fields

* BE: thread interruption logging added to Emitters

Co-authored-by: iliax <ikuramshin@provectus.com>
2022-12-19 21:44:14 +04:00
Ilya Kuramshin
f9906b5d30
Brokers API improvements (#2743)
* 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>
2022-12-12 14:15:55 +04:00
Roman Zabaluev
7837622d5e
Update release drafter
Add security block & ignore AQA
2022-12-09 19:31:51 +04:00
Hrant Abrahamyan
b0c897b5c8
UI support for MSK (#2828)
* UI support for MSK

* fixed test changes

* fixed pull request comments

* Use the opposite operator (!==) instead.

* fixed update topic

* Minor code modifications in the Edit Submission logic

* minor typescript code change, in the TopicFormData

* minor CustomParamField short circuit code efficiency improveral

* Topic Form Edit , sanitization of Default non-dirty fields, while sending the dynamic ones

* fix checkTopicCreatePossibility()

* fix checkTopicCreatePossibility()

Co-authored-by: Mgrdich <46796009+Mgrdich@users.noreply.github.com>
Co-authored-by: Mgrdich <mgotm13@gmail.com>
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2022-12-09 19:09:13 +04:00
Narekmat
efb9ec3f13
[Chore] Fix serde api javadoc generation (#3054) 2022-12-09 18:42:22 +04:00
Narekmat
b81c20d36d
Serde-api release adjustments (#3050)
* kafka-api-serde-api pom fixes

* change pom and add settings

* fix xml

Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-12-09 17:59:25 +04:00
Narekmat
65b2295939
Implement a workflow to prepare helm charts release (#2950)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-12-09 17:51:55 +04:00
Narekmat
ddc76ac3ba
Implement a workflow to release serde api (#3049) 2022-12-09 17:34:07 +04:00
Mgrdich
4dc0f6d81e
[FE] Implement 404/403s (#2966)
* Add SuspenseQueryComponent for the ErrorBoundary delegation , implement this component in all those pages where the issue was happening

* Add Comment to the SuspenseQueryComponent

* Create the Error page

* Error page styling modifications

* Error Page redirections

* Redux Request handle error case and Navigation

* SuspenseQueryComponent test suites

* minor ErrorPage component modifications

* Add error page test suites

* SuspenseQueryComponent Error handling modification
2022-12-09 13:31:51 +04:00
komilos
e07ce28b2c
Fix UI broker list display in some cases (#2903)
* UI now showing broker list when DISABLELOGDIRSCOLLECTION=true

* specs fix

* code review fixes

* fix the diskUsage check in the empty array case

* fix the diskUsage check in the empty array case minor segment size fix

Co-authored-by: Kamila Alekbaeva <kalekbaeva@provectus.com>
Co-authored-by: Ilya Kuramshin <iliax@proton.me>
Co-authored-by: Mgrdich <mgotm13@gmail.com>
2022-12-07 20:01:37 +04:00
kristi-dev
fdde380072
[FE] Fix create connector button availability (#2952) 2022-12-07 13:09:14 +04:00
kristi-dev
1ba8d14819
KSQL: Focus onto query field after incorrect query execution (#2970) 2022-12-07 12:42:55 +04:00
Pranav Yadav
dbdf143122
chore: changed dateFormat for Timestamp value (#2895)
* chore: changed `dateFormat` for Timestamp value

- in Topic/Messages
- closes #2858

* consider case-sensitivity in `dateFormat`

:)

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-12-07 12:03:10 +04:00
Ilya Kuramshin
1108c760e5
[BE] Fix a case when controller is not found (#3030)
* 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>
2022-12-07 08:51:22 +04:00
Ilya Kuramshin
ed61852e40
Implement per-cluster polling rates limits (#2981)
* 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>
2022-12-07 08:51:11 +04:00
dependabot[bot]
39d0c3750f
Bump byte-buddy from 1.12.18 to 1.12.19 (#3022)
Bumps [byte-buddy](https://github.com/raphw/byte-buddy) from 1.12.18 to 1.12.19.
- [Release notes](https://github.com/raphw/byte-buddy/releases)
- [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md)
- [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.12.18...byte-buddy-1.12.19)

---
updated-dependencies:
- dependency-name: net.bytebuddy:byte-buddy
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-07 07:39:00 +04:00
Boris Djurdjevic
b87665a12c
[KSQL] Implement mTLS configuration (#2984)
* feat(ksqldb): Add mTLS support

* doc(ksqldb): Add SSL configuration

* chore(compose): Add ksqldb0 to key material

* feat(ksqldb): Add SSL-enabled demo ksqlDB instance

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-12-07 07:38:13 +04:00
Ilya Kuramshin
43ccca43c2
Fix random topic creation fails (#3004)
ReactiveAdminClient::listOffsetsUnsafe now skipping non-initialized partitions. This prevents UnknownTopicOrPartitionException to be leaked to high-level logic levels (preventing TopicService::loadTopicAfterCreation to do retries)
2022-12-05 17:02:45 +04:00
dependabot[bot]
8717416d85
Bump dotenv-java from 2.2.4 to 2.3.1 (#3008)
Bumps [dotenv-java](https://github.com/cdimascio/dotenv-java) from 2.2.4 to 2.3.1.
- [Release notes](https://github.com/cdimascio/dotenv-java/releases)
- [Changelog](https://github.com/cdimascio/dotenv-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cdimascio/dotenv-java/commits/v2.3.1)

---
updated-dependencies:
- dependency-name: io.github.cdimascio:dotenv-java
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02 19:44:26 +04:00
Narekmat
67e67d02d2
[Infra]: Fix terraform deploy (#2999) 2022-12-02 13:30:59 +04:00
dependabot[bot]
45f304ac9f
Bump allure-java-commons from 2.18.1 to 2.20.1 (#2912)
Bumps [allure-java-commons](https://github.com/allure-framework/allure-java) from 2.18.1 to 2.20.1.
- [Release notes](https://github.com/allure-framework/allure-java/releases)
- [Commits](https://github.com/allure-framework/allure-java/compare/2.18.1...2.20.1)

---
updated-dependencies:
- dependency-name: io.qameta.allure:allure-java-commons
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02 12:08:07 +04:00
Winnie Chiu
212479d98f
[FE] [Bug] "Select filter" button is active without selecting any saved filter (#2900)
* "Select filter" button is active without selecting any saved filter within Topic/Messages/Saved filters (#2870)

* Add minor tests

* Fix prettier

* Fix unit test

* Fix unit test
2022-12-02 11:47:32 +04:00
dependabot[bot]
4216feb8b2
Bump urlstechie/urlchecker-action from 0.0.33 to 0.0.34 (#2955)
Bumps [urlstechie/urlchecker-action](https://github.com/urlstechie/urlchecker-action) from 0.0.33 to 0.0.34.
- [Release notes](https://github.com/urlstechie/urlchecker-action/releases)
- [Commits](https://github.com/urlstechie/urlchecker-action/compare/0.0.33...0.0.34)

---
updated-dependencies:
- dependency-name: urlstechie/urlchecker-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02 11:22:13 +04:00
dependabot[bot]
6e62ee0072
Bump mockito.version from 4.8.1 to 4.9.0 (#2945)
Bumps `mockito.version` from 4.8.1 to 4.9.0.

Updates `mockito-core` from 4.8.1 to 4.9.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.8.1...v4.9.0)

Updates `mockito-junit-jupiter` from 4.8.1 to 4.9.0
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v4.8.1...v4.9.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:development
  update-type: version-update:semver-minor
- dependency-name: org.mockito:mockito-junit-jupiter
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02 11:04:42 +04:00
dependabot[bot]
ec5b59de60
Bump aspectj.version from 1.9.8 to 1.9.9.1 (#2936)
Bumps `aspectj.version` from 1.9.8 to 1.9.9.1.

Updates `aspectjrt` from 1.9.8 to 1.9.9.1
- [Release notes](https://github.com/eclipse/org.aspectj/releases)
- [Commits](https://github.com/eclipse/org.aspectj/commits)

Updates `aspectjweaver` from 1.9.8 to 1.9.9.1
- [Release notes](https://github.com/eclipse/org.aspectj/releases)
- [Commits](https://github.com/eclipse/org.aspectj/commits)

---
updated-dependencies:
- dependency-name: org.aspectj:aspectjrt
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.aspectj:aspectjweaver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-02 11:04:15 +04:00
Ilya Kuramshin
052d8af456
ISSUE-2968: Deleting a config parameter of topic doesn't take effect (#3001)
ReactiveAdminClient::incrementalAlterConfig now replaces all topic configs, not only altering changed
2022-12-01 21:09:23 +04:00
Ilya Kuramshin
c804a6d00b
Serde autoconfiguration fix (#2997)
Co-authored-by: iliax <ikuramshin@provectus.com>
2022-12-01 13:20:48 +04:00
Ilya Kuramshin
216b4acd3d
Serdes improvements and fixes (#2989)
Serdes improvements and fixes:
1. Built-in serdel's auto-configuration separated from explicit configuration (when properties set in serde configuration)
2. Serdes initialization logic extracted into SerdesInitializer.java
3. docker-compose example with serdes configuration added
4. Serialization.md document fixed
2022-11-30 18:43:48 +04:00
Ilya Kuramshin
20ecc74dd9
Data masking (#2850)
Data masking:
1. properties & mapping added to ClustersProperties
2. DataMasking provides function that doing masking for specified topic & target
3. Masking policies implemented: MASK, REMOVE, REPLACE
2022-11-28 12:54:07 +04:00
Alexandr Nezboretskiy
5f232a3966
Issue/checking available operations for selected topic within 'all topics' page (#2972)
* Update TopicTests and added new methods

* Delete actionButtonsLocator

* Resolve conversation

* Refactored SoftAssertions

* Changed custom topics for default

* Changed custom topics for default

* Changed custom topics for default

Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2022-11-25 17:17:16 +02:00
Hrant Abrahamyan
7fe999660c
Topic creation: lock page until creation request finished (#2815)
* Topic creation: lock page until creation request finished

* use isLoading when create topic

* used isSubmitting property

* remove connectors import
2022-11-25 18:23:30 +04:00
Ilya Kuramshin
e77b913164
Documentation for pluggable serdes (#2702)
* 1. Minor serde's code improvements
2. Javadoc added to serde-related code

* Serdes configuration docs WIP

* wip

* DeserializeResult.toString impl added

* SchemeRegistry.canDeserialize checks subject existence

* Update Serialization.md

* Update README.md

Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-11-25 14:35:06 +04:00
David
7e82e7434e
fixed unchecking the already checked Topics from main checkbox is not… (#2941)
* fixed unchecking the already checked Topics from main checkbox is not available

* remove commented part

* added checked on header

* changed getToggleAllPageRowsSelectedHandler function to  getToggleAllRowsSelectedHandler

* changed getIsSomePageRowsSelected function to  getIsSomeRowsSelected

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
2022-11-22 21:08:52 +04:00
David
9256b741be
fixed All warnings with Act function in testing library (#2910)
* fixed All warnings whit Act function in testing library

* added act functions as described in the testing library documentation

* removed 'return' from renderComponents

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
2022-11-22 16:40:34 +04:00
Alexandr Nezboretskiy
9457d5ff2b
Issue/copy checking compare versions operation for schema (#2951)
* resolve conversation

* Refactored assetions in SchemasTests -> compareVersionOperation

* Rename method selectFirstVersionFromDropDown

* last changes

* resolve conversations

* resolve conversations

* rename elementLocatorDdl to ddlElementLocator

* Resolve conversation

* Resolve conversation

* Resolved

* Resolved conversation

* Resolved conversation

Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2022-11-21 14:02:10 +02:00
Anton Mnykh
d1013b69da
[e2e] Checking Filter adding within Topics/Topic/Messages with filled required fields (#2939)
* soft assertion method refactored

* getFilterName() method refactored

* soft assertions refactoring

* add softAssertions

* add softAssertions

Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2022-11-21 13:44:22 +02:00
José Antonio Cortés López
93af20c46c
[helm] Allow Skip Certificates Verification in readiness and liveness probes (#2924)
* Allow Skip Certificates Verification in readiness and liveness probe

* Fixed chart version

* Allow Skip Certificates Verification in readiness and liveness probe

* Fixed chart version

* Rename of the variable use in values

* Allow Skip Certificates Verification in readiness and liveness probe

* Fixed chart version

* Rename of the variable use in values

* Fixed HTTPS scheme

Co-authored-by: Jose Antonio Cortes Lopez <jacortes@theworkshop.com>
2022-11-18 12:10:02 +04:00
Winnie Chiu
8bb9f63658
Seek type field became empty with refreshing the page (#2863)
* Seek type field became empty with refreshing the page (#2857)

* Seek type field became empty with refreshing the page (#2857)

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-11-17 15:17:28 +04:00
David
7fcbf7507b
Changed Topic messages 'save as a file ' also changed test case (#2873)
Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: Mgrdich <46796009+Mgrdich@users.noreply.github.com>
2022-11-16 19:36:27 +04:00
Ilya Kuramshin
5900f8e957
Snappy native impl fix (#2940)
* wip

* wip

* wip

* wip

Co-authored-by: iliax <ikuramshin@provectus.com>
2022-11-15 16:05:06 +04:00
Jochen Schalanda
0d0a244915
Centralize dependency versions and bump where necessary (#2929) 2022-11-15 14:22:16 +04:00
Boris Djurdjevic
e26f9787d8
Implement mTLS for KC (#2833)
* feat(kafka-connect): Implement kafka-connect mTLS configuration

* chore(kafka-connect): Use SecuredWebClient

* feat(ssl-demo): Configure SANs and recreate certificates

* feat(ssl-demo): Add docker-compose demo with TLS enabled components
2022-11-15 14:11:57 +04:00
Arthur
818149977c
[e2e]Checking the information of used Broker in a cluster (#2931)
* [e2e] Fix1

* [e2e] BrokersDetails added

* [e2e] BrokersDetails added

* [e2e] Lists in Details Added

* [e2e] Fix WebUtils

* [e2e] All changes

* [e2e] Fix2
2022-11-14 18:02:34 +02:00
Roman Zabaluev
f47a0382f7
Fix CVEs, Nov. 22 (#2926) 2022-11-14 14:53:56 +04:00
David
8dc1e00ca2
fixed undefined (reading 'data') warning in Statistics.spec.tsx (#2927)
Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
2022-11-12 00:04:01 +04:00
Alexandr Nezboretskiy
6de731778b
Issue/copy checking topics section within kafka UI application (#2925)
* Commit

* Moved and renamed classes from Tests

* Added new methods and refactored getRandomMessage()

* Moved SmokeTests from tests to com.provectus.kafka.ui

* Moved SmokeTests from com.provectus.kafka.ui to Suite

* resolve conversation

* resolve conversation
2022-11-11 15:19:11 +02:00
David
97aa114696
Non-serializable warning (#2921)
* fixed non-serializable values in selectors.spec.ts, navigation warning in Table.spec.tsx,

* added await for userEvent in Table.spec.tsx,

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
2022-11-11 15:43:15 +04:00
Oleg Shur
8b7c8e3216
Remove messages v2 (#2917) 2022-11-10 19:50:17 +04:00
Anton Mnykh
af1065fca8
[e2e] TopicTests.messageCopyFromTopicProfile : Message copy from topic profile (#2901)
* test fix

* test fix2

* locator fix

* test fix

* test fix2

* test fix2

* test fix3

* fix clearMessage test
add MessageGridItem class

* fix clearMessage test
add MessageGridItem class

* disabled copyMessageFromTopicProfile
added link to issue

Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2022-11-10 13:06:15 +02:00
Roman Zabaluev
9f5d9126da
Add a missing space for partitions count (#2803)
* Add a missing space for partitions count

* Update BrokersList.tsx
2022-11-10 00:43:18 +04:00
kristi-dev
74b20d5a58
#2685 Migrate Topic Settings page to the new version of table component (#2834)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-11-09 15:47:25 +00:00
Alexandr Nezboretskiy
5a06d659e2
Issue/copy specify abstract objects as much as possible cross screen classes (#2913)
* Reformat all classes and add extends dependencies

* Refactored of base locators

* Fix and resolve conflicts

* Refactored BasePage methods and Pages classes

* Refactored unused locators

* Added extends ConsumersList

* Resolve conversation
2022-11-09 13:52:20 +02:00
Arthur
fce4c23276
[e2e] Checking requiredness of Custom parameters within 'Create new Topic' (#2904)
* [e2e] Checking requiredness of Custom parameters within 'Create new Topic' #2889

* [e2e] Checking requiredness of Custom parameters within 'Create new Topic' #2889

* [e2e] Checking requiredness of Custom parameters within 'Create new Topic' #2889

* [e2e] Fix1

* [e2e] Fix1
2022-11-08 17:54:50 +02:00
dependabot[bot]
8e35fd628a
Bump aquasecurity/trivy-action from 0.7.1 to 0.8.0 (#2884)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.7.1 to 0.8.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.7.1...0.8.0)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-08 15:28:20 +04:00
Jochen Schalanda
c86a429a17
[e2e] Fix NPE with Qase if the token is unavailable (#2896)
* Fix NullPointerException in QaseExtension if token is unavailable

The `QaseExtension` JUnit extension fails with a `NullPointerException` if `QASE_API_TOKEN` is unset.

Ideally, the extension would skip execution if the token was unavailable instead of failing.

* Emit warning if Qase is disabled locally
2022-11-08 15:27:09 +04:00
dependabot[bot]
f113a9b078
Bump maven-clean-plugin from 3.1.0 to 3.2.0 (#2902)
Bumps [maven-clean-plugin](https://github.com/apache/maven-clean-plugin) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/apache/maven-clean-plugin/releases)
- [Commits](https://github.com/apache/maven-clean-plugin/compare/maven-clean-plugin-3.1.0...maven-clean-plugin-3.2.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-clean-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-08 15:13:57 +04:00
Winnie Chiu
8011f60ccf
[Docs] Fix misplaced setting in compose files (#2886)
(cherry picked from commit de5b34a5c1c7ce6c727d980f7dba950ddbd528b4)
2022-11-07 19:54:11 +04:00
Hrant Abrahamyan
61ac1d921a
[UI] Do not cache serdes endpoint results on frontend (#2814)
* Do not cache serdes endpoint results on frontend

* fixed refetch bug
2022-11-07 19:45:22 +04:00
kristi-dev
fdf82986dc
Message fields previews (#2756)
* #2544 message fields preview

* #2544 add test coverage

* #2544 add tests to message table

* #2544 code review fix and validation message

* #2544 fix bug with validation and add edit values

* #2544 improve test coverage

* #2544 fix code review comments

* #2544 fix build fails

Co-authored-by: Kris-K-Dev <92114648+Kris-K-Dev@users.noreply.github.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-11-07 19:34:33 +04:00
Jochen Schalanda
d6571ec7ae
CI: Scan Java source files with CodeQL (#2898)
* Scan Java code with CodeQL

* REMOVE ME: Trigger workflow run
2022-11-07 19:16:26 +04:00
Jochen Schalanda
7944608218
CI: Fix GitHub Actions warnings for ::set-output (#2897)
> The `set-output` command is deprecated and will be disabled soon.
> Please upgrade to using Environment Files.
> For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2022-11-07 19:08:17 +04:00
Mgrdich
b0782da7d1
[FE] Add a space to formatted sizes (#2848)
* Add space to formatted sizes + modification in the test components

* Bytes-format component to be treated as a single word

* fix TopicTests()

* Merge branch 'master' into issues/2676

Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2022-11-07 17:01:57 +04:00
Vlad Senyuta
1b1caddd31
[e2e] fix TopicTest hardcode (#2894) 2022-11-07 15:41:04 +04:00
Hrant Abrahamyan
20543fc2f3
Topic analysis visual improvements (#2691)
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-11-07 15:23:40 +04:00
Jochen Schalanda
5b3478fdc3
Bump Maven to version 3.8.6 and reduce noise (#2882)
* Bump Maven wrapper to Maven 3.8.6

Using the official [Maven Wrapper](https://maven.apache.org/wrapper/) which was forked from the 3rd party Maven Wrapper plugin.

* Use Maven wrapper in GitHub workflows

* Reduce Maven-related noise in build jobs

```
-B,--batch-mode                        Run in non-interactive (batch)
                                        mode (disables output color)
-ntp,--no-transfer-progress            Do not display transfer progress
```
2022-11-07 15:18:50 +04:00
Jochen Schalanda
3277186fc0
Add support for multiple Protobuf files (#2874)
* Add support for multiple Protobuf files

* Ensure `protobufFiles` list is not empty

* Address review comments
2022-11-07 15:15:40 +04:00
David
b46ee9c5cc
Broker configs: Display a tooltip about the source of the property (#2775)
* Broker configs: Display a tooltip about the source of the property #2679

* changed tooltip library to @tippyjs/react

* updated styled component import as S

* created separate object in root for theme

* moved tooltip component to Common

* Renamed TooltipComponent to Tooltip

* changed Configs Source Tooltip

* add pnpm lock version

* add @floating-ui/react-dom-interaction ti implement the tooltip , initial

* finalize the tooltip component and add test tio the component

* remove tippy library

* Styling modification in the Tooltip , in the Source pages

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: Mgrdich <mgotm13@gmail.com>
2022-11-07 15:07:24 +04:00
Jochen Schalanda
62f35e3e29
Upgrade to Java 17 (Azul Zulu) (#2879)
* 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
2022-11-07 14:57:59 +04:00
Arthur
70cdeea819
[e2e] Checking Topic creation possibility in case of empty Topic Name (#2888)
* [e2e] Checking Topic creation possibility in case of empty Topic Name

* [e2e] Fix1. createTopicButtonIsEnabled() changed to isCreateTopicButtonEnabled()
2022-11-07 12:39:16 +02:00
Narekmat
0818bb0144
[helm] Fix version and the workflow (#2880) 2022-11-04 23:11:08 +04:00
Arthur
b1891c021b
[e2e] review tests to use more object details while creating and updating #2699 (#2864)
* [e2e] review tests to use more object details while creating and updating#2699

* [e2e] review tests to use more object details while creating and updating#2699

* [e2e] review tests to use more object details while creating and updating#2699

* [e2e] review tests to use more object details while creating and updating#2699

* [e2e] review tests to use more object details while creating and updating#2699

* [e2e]Fix review tests to use more object details while creating and updating#2699

* [e2e]Fix2 review tests to use more object details while creating and updating#2699

* [e2e]Fix3 review tests to use more object details while creating and updating#2699

* [e2e]Fix3 review tests to use more object details while creating and updating#2699

* [e2e]Fix3 review tests to use more object details while creating and updating#2699

* [e2e]Fix3 review tests to use more object details while creating and updating#2699

* [e2e]Fix3 review tests to use more object details while creating and updating#2699

* [e2e]Fix without loadingSpinner.

* [e2e]Fix without loadingSpinner.

* [e2e]Fix without configTab.

* fix KafkaConnectList()

* [e2e]Fix with refresh.

* fix ConnectorsTests()

Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2022-11-04 14:03:33 +02:00
Sherif Ayad
c4bbbbe3da
[Helm] Added annotations for the deployment (#2749)
Signed-off-by: Sherif Ayad <sherif.k.ayad@gmail.com>

Signed-off-by: Sherif Ayad <sherif.k.ayad@gmail.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-11-03 21:16:04 +04:00
Bob Du
5d80b38371
[helm] fix default ingress path value (#2673)
* fix: helm value default ingress path

Signed-off-by: BobDu <i@bobdu.cc>

* Update Chart.yaml

Signed-off-by: BobDu <i@bobdu.cc>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-11-03 21:12:59 +04:00
Roman Zabaluev
337f6f165e
Add editorconfig (#2861) 2022-11-02 19:26:56 +04:00
Alexandr Nezboretskiy
ee920b43c4
Issue/refactoring of smoke test (#2851)
* Deleted methods like screenShooter from BaseTest

* Added TopPanel object class in Facade

* Added List of SideMenuOptions

* Deleted Screenshooter.java

* Deleted NoReferenceScreenshotFoundException.java

* Add methods in TopPanel

* Refactored SmokeTests class

* Refactored SmokeTests class

* Refactored SmokeTests class

* Resolve conversation

* Reformat discordBtn locator

Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2022-11-01 15:10:16 +02:00
Mgrdich
cd2d8b026f
[FE] Full width table display in KSQL_DB page (#2849) 2022-11-01 16:20:43 +04:00
Anton Mnykh
77f789fa6c
[e2e] TopicTests.redirectToConsumerFromTopicProfile : Redirect to consumer from topic profile (#2823)
* redirectToConsumerFromTopic init test created

* test execution clarification

* fix

* test brushing up

* test brushing up

* test brushing up

* test brushing up

* test brushing up

* test brushing up
2022-11-01 11:27:04 +02:00
Boris Djurdjevic
99e50f8814
Support SSL for schema registry (#2832)
* feat(schema-registry): Implement schema-registry mTLS configuration

* chore(linter): Make checkstyle happy

* feat(schema-registry): Implement schema-registry mTLS configuration

* chore(linter): Make checkstyle happy

* chore(schema-registry): Refactor WebClient creation for PR #2832

Co-authored-by: Ilya Kuramshin <iliax@proton.me>
2022-10-31 18:05:28 +04:00
Ilya Kuramshin
2c74b4e1c2
ISSUE-2680: Smart filters stats propagation to UI (#2771)
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
2022-10-31 17:41:11 +04:00
Ilya Kuramshin
aa6c3083c2
ISSUE-2103: Fixing AdminClient timeout on listOffsets (#2781)
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
2022-10-31 16:46:19 +04:00
Roman Zabaluev
cb8049e769
Add a separate endpoint for frontend time format (#2847) 2022-10-31 13:17:23 +04:00
Winnie Chiu
a8ccbc96c8
Upgrade kafka in compose files (#2601) (#2777)
* Upgrade kafka in compose files (#2601)

* Fix compose files (#2601)

* Fix arm64 compose file (#2601)
2022-10-31 12:49:36 +04:00
Roman Zabaluev
2f2e19d1bc
Fix topic internal indication (#2846) 2022-10-31 12:46:27 +04:00
Ilya Kuramshin
9a3cbfa14b
ISSUE-2787: Setting default config values properly (#2788)
ISSUE-2787:
1. Getting topic config defaults from server response
2. rm KafkaConstants
3. doc field added to TopicConfigDTO
4. ReactiveAdminClient.SupportedFeature refactor
2022-10-30 21:59:49 +04:00
Mgrdich
81072541a8
[FE] Update readme (#2843) 2022-10-29 22:45:21 +04:00
Mgrdich
b28492acd4
[FE] Fix fixtures (#2841) 2022-10-29 17:21:37 +04:00
Narekmat
95e494ea09
[helm] Fix app version (#2842) 2022-10-28 20:44:01 +04:00
vitalymatyushik
d2a62e2762
Make topic bulk actions buttons always visible (#2835) 2022-10-28 19:55:35 +04:00
Harrison Kim
972d02b836
[helm] Adding checksum for config from values (#2831)
* adding checksum for config from values

* Update Chart.yaml

Co-authored-by: Narekmat <47845266+Narekmat@users.noreply.github.com>
2022-10-28 19:52:54 +04:00
Egorka Voronyansky
7044e57095
Drop deprecated methods (#2837)
Co-authored-by: vrnsky <vrnsky@protonmail.com>
2022-10-28 12:50:04 +04:00
Roman Zabaluev
2853b34b5f
Bump netty version (#2830) 2022-10-27 00:03:42 +04:00
Narekmat
80f7d15604
Fix helm release workflow (#2826) 2022-10-26 23:20:48 +04:00
David
b43ba68405
Testing library update to 14.4.3 (#2741)
* Update RTL to v14.4.3

* fixed test cases QueryForm.spec.tsx, SchemaVersion.spec.tsx

Co-authored-by: Oleg Shur <workshur@gmail.com>
Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
2022-10-26 23:15:25 +04:00
Hrant Abrahamyan
e67d940981
added shouldDirty (#2776) 2022-10-26 12:07:03 +04:00
Aditya Bhattad
e87178136c
[UI] Changed Content to Value and updated a Test (#2812)
* Changed Content to Value and Update a Test

* Corrected content->value in tests

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-10-25 23:52:19 +04:00
Narekmat
25111085be
Change app version in charts.yaml (#2821)
* change app version in charts.yaml

* change setup-helm-version
2022-10-25 23:43:44 +04:00
Artem Tanyhin
a12380100e
[UI] Fix ksql panes overlap (#2804)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-10-25 23:41:09 +04:00
David
1b8ee3b672
[UI] Topic search not working properly with pagination #2705 (#2766)
* added reset page to a search component

* changed search file

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-10-25 23:14:40 +04:00
David
5a67adbf3e
Removed @types/yup package due to being deprecated also updated yup version to 0.32.11 (#2799)
Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-10-24 23:34:20 +04:00
Hrant Abrahamyan
f7f2e1dd1f
Fix wrong actuator URL with custom path (#2782)
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-10-24 23:32:51 +04:00
Narekmat
dabe2878c1
Fix helm charts validation (#2797) 2022-10-24 23:18:18 +04:00
Vlad Senyuta
a2e87cc8d5
[e2e] Fix openTopic() method to wait element (#2809) 2022-10-24 12:13:06 +04:00
Ilya Kuramshin
d60808a2f2
Drop deprecated ksql api (#2796)
Co-authored-by: iliax <ikuramshin@provectus.com>
2022-10-23 19:49:11 +04:00
Ilya Kuramshin
4558466ff6
Emitters logic refactoring (#2729)
* 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>
2022-10-23 19:47:21 +04:00
Egorka Voronyansky
ae219de36c
Bump Groovy version up to 3.0.13 (#2806)
Co-authored-by: vrnsky <vrnsky@protonmail.com>
2022-10-23 16:54:56 +04:00
Anton Mnykh
40c3bcf82b
Issue/2774 2 (#2785)
* clear message Test updated issue-2774

* clear message Test created issue-2774

* conflict resolving

* conflict resolving

* conflict resolving

* fix
2022-10-21 14:43:21 +03:00
Egorka Voronyansky
b0e0da4c0d
Bump version of mockito up to 4.8.1 (#2793)
* Bump version of mockito up to 4.8.1

* Change scope of byte buddy dependency to test

Co-authored-by: vrnsky <vrnsky@protonmail.com>
2022-10-21 09:40:35 +04:00
dependabot[bot]
f5e1dcbd82
Bump actions/stale from 5 to 6 (#2639)
Bumps [actions/stale](https://github.com/actions/stale) from 5 to 6.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-20 22:42:24 +04:00
Narekmat
daba2a1f51
Fix helm charts validation (#2750)
* add workflows

* fix

* add flow

* fix

* change names

* add comments

* fix helm.yaml file

* fix helm.yaml

* fix helm.yaml

* fix realse-helm.yaml

* fix helm.yaml

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-10-20 22:35:08 +04:00
dependabot[bot]
3e72a7ac4e
Bump actions/setup-node from 3.4.1 to 3.5.1 (#2747)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.4.1 to 3.5.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3.4.1...v3.5.1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-20 22:29:36 +04:00
dependabot[bot]
1c627ba0e8
Bump pnpm/action-setup from 2.2.3 to 2.2.4 (#2757)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 2.2.3 to 2.2.4.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v2.2.3...v2.2.4)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-20 22:28:23 +04:00
komilos
dc1785e338
Fix KSQL empty field in Stream properties causes errors (#2744)
Co-authored-by: Kamila Alekbaeva <kalekbaeva@provectus.com>
2022-10-20 15:17:26 +04:00
Alexandr Nezboretskiy
7f92c0f2e5
[e2e] refactor POM classes structure (#2736)
* Resolved conflicts

* revert QaseExtension

* Added waiter

* Deleted unused imports

* Renamed method clickOnButton

* Added waitUntil

* Refactored SelenideElements

* Refactored xPath in ConnectorCreateForm

* Resolve conversations

* Revert xPath

* Resolved conversations

* Resolved conversations

* Resolved conversations

* Deleted clickByJavaScript

* Refactored methods setConnectorConfig and setConfig, added alertMessage condition

Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2022-10-20 12:29:39 +03:00
Hrant Abrahamyan
45aa4542ba
Migrate Schema details table to the new version of Table component (#2708)
* Migrate Schema details table to the new version of Table component

* change get row ogigin data from fixtures
2022-10-19 21:36:33 +04:00
David
15e7fc42d2
Migrate Topic Consumers page to new version of table component (#2717)
* Migrate Dashboard table to the new version on table components #2682

* Added universal component to the column section and added part of test  #2682

* Added universal component for the all new tables in project  #2682

* deleted color argument on LinkCell component

* deleted link on topic count

* Migrate Topic Consumers page to new version of table component #2681

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-10-19 21:31:18 +04:00
David
6581ee605b
Migrate Topic Overview to the new version of table #2684 (#2704)
* Migrate Topic Overview to the new version of table #2684

* changed Dropdown Toggle visibility to disabled and fixed test

* changed drop down button disabled rule

* deleted cleanUpPolicy form the some tests

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-10-19 21:27:06 +04:00
Aditya Bhattad
0e4a314082
Topic messages: rename "content" to "value" (#2765) 2022-10-19 21:24:19 +04:00
Ilya Kuramshin
63b6bb3fa1
ISSUE-2202: smart filters headers test added (#2763) 2022-10-17 16:24:14 +04:00
Roman Zabaluev
2b5dd270e2
Implement Connectors sorting / backend (#2291)
Co-authored-by: Artem Kazlanzhy <akazlanzhy@provectus.com>
2022-10-14 13:16:29 +04:00
dependabot[bot]
37f1d2254e
Bump jwalton/gh-docker-logs from 2.2.0 to 2.2.1 (#2745)
Bumps [jwalton/gh-docker-logs](https://github.com/jwalton/gh-docker-logs) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/jwalton/gh-docker-logs/releases)
- [Changelog](https://github.com/jwalton/gh-docker-logs/blob/master/.releaserc)
- [Commits](https://github.com/jwalton/gh-docker-logs/compare/v2.2.0...v2.2.1)

---
updated-dependencies:
- dependency-name: jwalton/gh-docker-logs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-14 13:01:19 +04:00
dependabot[bot]
6a2b9cc593
Bump pnpm/action-setup from 2.2.2 to 2.2.3 (#2746)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 2.2.2 to 2.2.3.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v2.2.2...v2.2.3)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-14 12:49:07 +04:00
Narekmat
09e06e7854
Add workflows for helm release (#2632)
* add workflows

* fix

* add flow

* fix

* change names

* add comments

* fix helm.yaml file

* fix helm.yaml

* fix helm.yaml

* fix realse-helm.yaml
2022-10-14 12:29:34 +04:00
Ilya Kuramshin
8b91f50af5 Smart filter offset binding (#2732)
* adding "offset" var to smart filter binding

Co-authored-by: iliax <ikuramshin@provectus.com>
2022-10-13 22:41:43 +04:00
Ilya Kuramshin
19e38fb1bf
Msk serverless support (BE) (#2737)
Msk serverless support:
1. ReactiveAdminClient.loadBrokersConfig returns empty map if configs retrieval not supported by kafka backend
2. ReactiveAdminClient.toMone exception unwrapping added
3. FeatureService delete topics enabled set true by default
4. TopicCreationDTO.replicationFactor made optional


Co-authored-by: iliax <ikuramshin@provectus.com>
2022-10-13 22:30:07 +04:00
David
0939d6140f
Migrate Dashboard table (#2694)
* Migrate Dashboard table to the new version on table components #2682

* Added universal component to the column section and added part of test  #2682

* Added universal component for the all new tables in project  #2682

* deleted color argument on LinkCell component

* deleted link on topic count

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
2022-10-10 19:36:53 +04:00
Kris-K-Dev
7d5b7de992
#2325 Make connectors table rows clickable and #2076 Implement connec… (#2689)
* #2325 Make connectors table rows clickable and #2076 Implement connectors sorting

* #2325 fix status sorting

* fix ConnectorsTests

* #2325 code review

* #2325 add test coverage

* #2325 code review fix

* #2325 fix redirects for topics

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2022-10-07 11:20:22 -04:00
Hrant Abrahamyan
80eb2dccfe
Unify tabs placement (#2637)
* Unify tabs placement

* moved topic page pane

* change

* remove topic pane change

* fix ConnectorsTests

Co-authored-by: Oleg Shur <workshur@gmail.com>
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2022-10-07 17:04:21 +04:00
Arthur
67eea972f7
Create navigation thru the app using web driver (#2701)
* [e2e] create navigation thru the app using web driver #2642

* [e2e]Fix create navigation thru the app using web driver #2642

* [e2e]Fix create navigation thru the app using web driver #2642

* [e2e]Fix2 create navigation thru the app using web driver #2642

* [e2e]Fix3 create navigation thru the app using web driver #2642

* [e2e]Fix4 create navigation thru the app using web driver #2642

* [e2e]Fix5 create navigation thru the app using web driver #2642

* [e2e]Fix6 create navigation thru the app using web driver #2642

* [e2e]Fix7 create navigation thru the app using web driver #2642

Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2022-10-07 15:01:58 +03:00
Marat Gumarov
6dff8f105e
Support prometheus as a metrics interface (#2190)
* Unified internal metric representation (RawMetric)
* Prometheus retriever implemented
* Jmx metrics formatted to jmx-exporter openmentrics format

Co-authored-by: Mohamad Choukair <mchoukair@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: Daniel Ching <110129035+daching-provectus@users.noreply.github.com>
Co-authored-by: Daniel Ching <daching@provectus.com>
Co-authored-by: German Osin <germanosin@Germans-MacBook-Pro.local>
Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Ilya Kuramshin <iliax@proton.me>
2022-10-07 14:36:27 +04:00
David
c961344824
Add "Total size" of Partition within Topic's statistics #2536 (#2662)
* add "Total size" of Partition within Topic's statistics #2536

* Used Bytes Formatted on total size of Partition within Topic's #2536

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-10-04 16:31:07 +04:00
Winnie Chiu
9632ffdbdb
Add "Messages behind" for Topics within Consumer group profile (#2614)
Co-authored-by: winniechiu <winniechiu@cht.com.tw>
2022-10-04 16:25:55 +04:00
Aditya Bhattad
e3aeb0cac8
Delete "Num Of Topics" column (#2690)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-10-04 16:23:11 +04:00
Alexandr Nezboretskiy
f8f3d87259
[e2e] Rename POM classes according to their type and naming on UI (#2698)
* Renamed classes for same name with UI

* Facade refactored

* Deleted SchemaCreateView.java

* accompanying changes

* deleted SchemaCreateView.java

* delete ConnectorDetails.java outdated

* add new ConnectorDetails class

* refactored of ConnectorCreateForm

* Added spaces between methods
2022-10-04 09:23:36 +03:00
Ilya Kuramshin
b19b9d82e9
Minor backend fixes (#2696)
Minor backend fixes:
1. InternalTopic.leader fiels filling fix
2. bytesIn/OutPerSec fields set to TopicDTO
3. "subject" property added to SR SchemaDescription
2022-10-03 17:16:55 +04:00
David-DB88
68218668ec
fixed tests connectors buttons with a sandwich menu #2403 (#2666)
* fixed tests connectors buttons with a sandwich menu #2403

* Changed color delete button and fixed tests #2403

* fix deleteConnector()

* fix deleteConnector()

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2022-10-03 11:42:48 +03:00
Oleg Shur
8731de1520
Add scrollable wrapper to the new table component (#2692) 2022-10-02 14:38:36 +03:00
Vaishnavi Joshi
55c8d6ac2d
Topic list: Rename "total partitions" to "partitions" (#2687) 2022-10-02 11:34:13 +04:00
David-DB88
a1d14ab430
Add warning message for the Topic Danger zone #2534 (#2663)
* Add warning message for Danger zone in case of editing the Topic #2534

* Used existing palette color on warning message for Danger zone in case of editing the Topic #2534

* Update kafka-ui-react-app/src/components/Topics/Topic/Edit/DangerZone/DangerZone.tsx

Co-authored-by: davitbejanyan <dbejanyan@provectus.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-09-30 17:04:40 +04:00
Ilya Kuramshin
2f786c080b
ISSUE-2080: Consumer groups not found for topic (#2628)
* Fixing consumers visibility when offsets not committed
Co-authored-by: iliax <ikuramshin@provectus.com>
2022-09-30 13:21:54 +04:00
Alexandr Nezboretskiy
3f4791ff0a
[e2e] create screen facade class and refactor objects of page classes (#2656)
* Deleted classes Pages.java, Helpers.java

* Refactored BaseTest.java, added extension of Facade

* Deleted ExtensionMethod(WaitUtils.class) from ConnectorCreateView

* Refactored of TestClasses, added new TestInstance(TestInstance.Lifecycle.PER_CLASS) annotation for using nonstatic BeforeAll/AfterAll annotation

* Deleted ExtensionMethod(WaitUtils.class) annotation in ConnectorsView

* Refactored SmokeTests

* Added new abstract class Facade

* ConnectorsTests upd

* BaseTest resolved

* Initial new object classes in Facade

* Fix and refactored test classes

* Revert "Fix and refactored test classes"

This reverts commit b0890b32ca.

* rename apiHelpers / apiHelper

* refactored "new Objects classes"
2022-09-29 14:34:48 +03:00
Roman Zabaluev
7db55d5acf
Expose build info for actuator (#2583) 2022-09-28 15:56:03 +04:00
Hrant Abrahamyan
eb03a12233
Format dates in a single place, Display build date instead of full commit hash in version info (#2590)
* message

* if tag contains -SNAPSHOT - display formatted timestamp

* create Time format context

* fix pull request commits

* change pull request commits

* add fetchTimeFormat function

* add fetchTimeFormat function

* chnage test run

* fix testing error

* covered global context with tests

* removed unused import statement

* fixed smell

* pull master

* fixed code smeils

* covered Version component, hooks with tests, fixed code review comments

* converted outdated to boolean

* remove tag condition from return
2022-09-28 14:23:16 +03:00
Ilya Kuramshin
97f1c639a3
1. fixing infinite recursion with cyclic references (#2640)
2. using record names in unions to make possible to use several record
3. tests refactored

Co-authored-by: iliax <ikuramshin@provectus.com>
2022-09-28 14:08:17 +04:00
Ilya Kuramshin
049b35fc99
Pluggable serde (#2125)
* checkstyle

* node version reverted

* api comments

* unused properties removed

* serde api fix

* renamings

* PR review fixes

* checkstyle fix

* PR fixes

* UUID serde tests added

* UUID serde tests added

* fixed due to review comments

* 1. kafka-ui-serde-api renamed 2. kafka-clients dependency removed from kafka-ui-serde-api module

* dep fix

* Add serde to send message component (#2620)

* Add serde to send message component

* adds serde selects to messages views

Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: Kristina Kiparoidze <kkiparoidze@provectus.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-09-27 19:52:59 +04:00
Arthur
63719d718d
Issue_2438 (#2649)
* [e2e] create Setup class and refactoring of BaseTest #2438

* [e2e] create Setup class and refactoring of BaseTest #2438

Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2022-09-27 13:02:56 +03:00
Hrant Abrahamyan
f31b965d66
Implement Search within Consumer group profile (#2629)
* Implement Search within Consumer group profile

* use useSearchParams and add search test

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-09-27 13:15:59 +04:00
Hrant Abrahamyan
3733729a55
Create schema view is too wide (#2618)
* Create schema view is too wide

* renove inputWidth props

* fixed form container width

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-09-27 13:03:56 +04:00
Vlad Senyuta
eb062359a9
[e2e] Update module structure (#2641) 2022-09-26 17:02:48 +04:00
Oleg Shur
bae5c39cf2
KC: Make viewing/editing config a single view (#2613)
* Get rid of KC edit config page

* fix e2e-checks

Co-authored-by: VladSenyuta <vlad.senyuta@gmail.com>
2022-09-26 13:05:01 +04:00
Winnie Chiu
b940c28b5c
Schema registry: Previous version's schema preview is too narrow (#2615) (#2638) 2022-09-25 23:11:47 +03:00
Arthur
6e8ce77fd3
Issue#2437 (#2626)
* [e2e] refactoring of assertions cross tests #2437

* [e2e] refactoring of assertions cross tests #2437

* [e2e] refactoring of assertions cross tests #2437

* [e2e] refactoring of assertions cross tests #2437

* [e2e] refactoring of assertions cross tests #2437

* [e2e]Fix refactoring of assertions cross tests #2437

* [e2e]Fix refactoring of assertions cross tests #2437

* [e2e]Fix refactoring of assertions cross tests #2437
2022-09-22 15:39:01 +03:00
Ilya Kuramshin
d673ea63a1
Fixing infinite polls in ForwardRecordEmitter for topic where no record found for last offset (compact topic) (#2627)
Co-authored-by: iliax <ikuramshin@provectus.com>
2022-09-22 09:19:00 +04:00
Vlad Senyuta
b4424fc960
[e2e] Fix produce message test (#2619)
* fix tests on master

* fix produceMessage()

* fix produceMessage()

* fix produceMessage()
2022-09-20 18:29:46 +04:00
BulatKha
cb0586bd44
Fix a typo in readme (#2617) 2022-09-20 15:24:36 +04:00
Oleg Shur
d9e74deb28
[Experimental] New Messages layout (#2462) 2022-09-20 13:44:02 +03:00
Alexandr Nezboretskiy
93852b2600
create object models and implement them into tests (#2606)
* Update object models

* SchemaLastUpdate

* Added fileToString in ApiHelper

* Added Connector model

* Update ConnectorsTests

* Added Topic model

* Update TopicTests

* Update SchemasTests

* Added Schema model

* Update TopicTests

* refactor of Schema

* Refactored TestClasses

* TopicTests update

* Topic update

* ConnectorsTests update

* Revert changes in QaseExtension

* Refactored steps of ApiHelper with object models

* Resolve conversation in ConnectorsTests

* Resolve conversation in SchemasTests

* Resolve conversation in TopicTests

* Delete unused object message
2022-09-20 12:11:32 +03:00
Hrant Abrahamyan
e621a172d5
Display additional fields in the table and overview (#2608)
* Display additional fields in the table and overview

* fix test errors

Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-09-20 12:24:04 +04:00
Winnie Chiu
9962d29926
Add "Num of Topics" to Topic/Consumer tab (#2607)
Co-authored-by: winniechiu <winniechiu@cht.com.tw>
2022-09-20 03:37:21 +04:00
Oleg Shur
5e500636d0
Refactor numeric inputs logic. (#2610)
* Prevent negative values

Closes #2451

* Add positiveOnly mode to input field

Co-authored-by: shubhwip <shubhrjain7@gmail.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-09-19 20:24:27 +03:00
Roman Zabaluev
596f4233fc
Disable ldap beans auto configuration (#2605) 2022-09-19 16:32:47 +04:00
Winnie Chiu
3b8cbd1dbf
Add "Total lag" within Consumer group (#2602)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-09-19 16:04:37 +04:00
Winnie Chiu
3bfdc98cc9
Rename "back to filters" label (#2604) 2022-09-18 16:19:22 +04:00
Winnie Chiu
6d448c0322
Rename "Relevant" version of a schema to "Actual" (#2597)
Co-authored-by: winniechiu <winniechiu@cht.com.tw>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-09-17 21:42:36 +04:00
Roman Zabaluev
69c6e9aeeb
Update docs considering docker plugin (#2595) 2022-09-16 19:59:49 +04:00
Roman Zabaluev
e300aa7d19
[e2e] Build local image upon e2e + fix tests (#2598)
* Build local image upon e2e

* Pull the appropriate image

* Fix e2e tests on master (#2600)

Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2022-09-16 18:34:47 +04:00
Hrant Abrahamyan
fa8c03a664
Rename 'Total Broker' to 'Broker Count' (#2596)
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-09-16 17:45:02 +04:00
Alexandr Nezboretskiy
72dd7127f8
Added method isSchemaDropDownDisabled() for handling error when updat… (#2591)
* Added method isSchemaDropDownDisabled() for handling error when update schema

* Update
2022-09-16 11:26:13 +03:00
Roman Zabaluev
15d09751a6
Fix flaky backend test (#2592) 2022-09-16 05:37:28 +04:00
Daniel Ching
71aa44a3d3
Get rid of dockerfile-maven-plugin (#2594)
* Resolve #1932

Replacing spotify maven docker plugin to use fabric8 docker maven plugin instead

* Remove unused arg

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-09-16 05:30:55 +04:00
Roman Zabaluev
d149d26013
Revert "Add helm labels required by istio (#2548)" (#2589)
This reverts commit 1134ec5d13.
2022-09-15 15:25:49 +04:00
Roman Zabaluev
5db2c17994
Cognito logout + revamp (#1063)
* application yml example

* Update SSO guide

* Add cognito logout handler

* Fix annotations

* impl a separate config file for cognito

* cleanup

* Rollback auth.type change

* Add compose example

* Auth revamp

* Review suggestions

* Use configurationProperties, rename urls to uris
2022-09-15 05:36:21 +04:00
Shubham Jain
6df2d0b602
Disable schemaType during schema edit (#2495)
* Disable schemaType during schema edit

Update Schema API documentation

closes #2197

* Apply suggestion


Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-09-15 05:07:45 +04:00
Daniel Ching
fc946a1dd1
Handle error message for schemas (#2520)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-09-15 05:00:46 +04:00
Jibin Philipose
9f32abcd09
New documentation for building and running without docker (#2574)
* New documentation for building and running without docker and some doc fixes and additions.

* Improvements in docs

* spell fix

* improvements in docs

* minor modification

* improvements
2022-09-15 04:38:05 +04:00
Kris-K-Dev
ed8b84b414
Fix URL encoding upon retrieving schemas (#2567)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-09-14 18:20:41 +04:00
Narekmat
df2b2e01de
fix kubeval (#2505)
* fix kubeval

* fix kubeval

* fix kubeval

* fix issue with hpa

* fix version to 1.24.0

* fix 1.25
2022-09-14 13:16:28 +04:00
Mau Rodríguez Morales
ee92ea47cb
Issue 2304: applying fix for saved filters cancel navigation issue (#2482)
* Issue 2304: applying fix for saved filters cancel navigation issue

* Addressing unit test warnings

Co-authored-by: Mau Rodriguez Morales <mrodriguezmorales@provectus.com>
Co-authored-by: Kristina Kiparoidze <kkiparoidze@provectus.com>
Co-authored-by: Kris-K-Dev <92114648+Kris-K-Dev@users.noreply.github.com>
2022-09-13 11:58:19 -05:00
Kris-K-Dev
38c8a43bc4
Manage broker configs (#2489)
* #712 broker configs page

* #712 add tests

* #712 broker configs page new updates and code review

* #712 fix ui issue

* #712 code review fix

* #712 null as string fix

* #712 eslint warning fix

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-09-13 06:04:26 +04:00
Hrant Abrahamyan
43485f7343
Upgrade jest and dependent packages (#2565) 2022-09-13 05:37:38 +04:00
Patryk D. Cichy
1134ec5d13
Add helm labels required by istio (#2548) 2022-09-09 17:43:34 +04:00
Shubham Jain
79c5f19758
Enhance documentation regarding arm/m1 (#2453)
* Update docs to help Apple Mac M1 Users
 * Update missing information about
 * building react app
 * Update prerequisites docs

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-09-09 02:36:55 +04:00
Roman Zabaluev
c8306f5970
Fix consumers sorting (#2447)
* Fix consumers sorting

* Fix tests

* Review fix

* Review suggestions
2022-09-02 16:27:33 +04:00
Kris-K-Dev
91b86b5b78
#2180 The e letter allowed to paste into number fields (#2508)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-09-01 08:57:36 -06:00
Vlad Senyuta
77dca1594c
Fix documentation 2022-09-01 17:31:58 +04:00
Roman Zabaluev
ecb28f4dd5
Fix e2e compose paths
& update docs
2022-09-01 17:23:37 +04:00
Vlad Senyuta
9440c5e7af
[e2e] Get rid of 2nd cluster (#2509)
* add pageLoadTimeout

* upd readme

* upd readme

* upd readme

* upd readme

* rmv second cluster

* rmv second cluster

* rmv second cluster

* More renames

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-09-01 14:12:18 +04:00
Mau Rodríguez Morales
0ca69fb142
Add a warning upon deleting saved filter which is in use (#2484)
Co-authored-by: Mau Rodriguez Morales <mrodriguezmorales@provectus.com>
2022-09-01 13:43:46 +04:00
Shubham Jain
5ff65e4472
Add full message details to export (#2493) 2022-08-30 17:57:54 +04:00
Sergiy-provectus
085dfec389
Make message timestamp format configurable (backend) (#2277)
* [2163] Make message timestamp format configurable

* [2163] Make message timestamp format configurable - PR comments update

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-08-30 16:28:59 +04:00
João Estrela
89a2c8d920
[Helm] base64 encode secrets (#2492)
* Fix #2393

* Bump chart version

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-08-30 16:17:08 +04:00
Shubham Jain
b135594e3f
Add a compose file for arm64 (#2503)
Update documentation
Create scripts folder
Closes #2502
2022-08-30 16:11:50 +04:00
Roman Zabaluev
9e1f8d773f
Add a failover recovery for empty cluster versions (#2473)
* Add a failover recovery for empty cluster versions

* Review suggestions
2022-08-30 12:06:05 +04:00
Vlad Senyuta
56e4cbf60f
Update readme for e2e (#2496) 2022-08-30 02:02:41 +04:00
Roman Zabaluev
63a4514522
Update ssl compose example with
Add a property to disable CN verification
2022-08-29 14:04:27 +04:00
Shubham Jain
01127d8f10
Fix SR subject encoding (#2483) (#2471) (#1995)
* Fix subject encoding frontend (#1995)

* Add tests for schemas with non ascii chars #1995

* Backend: Fix URL encoding while getting schemas (#2471)

Add Test for subject name with non ascii chars
Closes #1995

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

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-08-26 20:51:00 +04:00
Shubham Jain
a9c31e6a32
Fix topic edit redirect (#2485) 2022-08-25 00:41:22 +04:00
dependabot[bot]
0aafd49de0
Bump urlstechie/urlchecker-action from 0.0.32 to 0.0.33 (#2478)
Bumps [urlstechie/urlchecker-action](https://github.com/urlstechie/urlchecker-action) from 0.0.32 to 0.0.33.
- [Release notes](https://github.com/urlstechie/urlchecker-action/releases)
- [Commits](https://github.com/urlstechie/urlchecker-action/compare/0.0.32...0.0.33)

---
updated-dependencies:
- dependency-name: urlstechie/urlchecker-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-23 13:35:04 +04:00
KriKiparoidze
6de2eaeab1
#2261 "Value" field is focused with adding the Custom Parameter in a Topic (#2469) 2022-08-22 15:11:53 -05:00
Roman Zabaluev
5ac52efb7a
Fix transient jre CVEs (#2480) 2022-08-22 21:04:22 +04:00
dependabot[bot]
61e56f2a1e
Bump aquasecurity/trivy-action from 0.6.2 to 0.7.1 (#2476)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.6.2 to 0.7.1.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.6.2...0.7.1)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-22 20:35:09 +04:00
Alexandr Nezboretskiy
c0d64d7c56
get rid of SheakyThrows annotation (#2470)
* Fix unstable e2e test #2373

* Fix unstable e2e test #2373

* Prepare steps for Schema Registry and Connector fixed #2288

* Fix unstable e2e test #2373

* Revert "Prepare steps for Schema Registry and Connector fixed #2288"

This reverts commit cfeb224e99.

* fix FileUtils

* Update FileUtils #2431

* Resolved MConflicts #2431Сopy

* Resolved MConflicts part2 #2431Сopy

* Updated ApiHelper and added annotations #2431Сopy

* Revert Objects.requireNonNull #2431Сopy

* Last update #2431Сopy

* Delete KaffkaSteps

* Update ApiHelper

Co-authored-by: anezboretskiy <anezboretskiy@modeln.com>
2022-08-22 18:38:57 +03:00
Alexandr Nezboretskiy
d63c25e317
Delete of Steps package #2433 (#2466)
Co-authored-by: anezboretskiy <anezboretskiy@modeln.com>
Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2022-08-19 19:38:35 +03:00
Roman Zabaluev
862456921f
Fix e2e tests stability (#2461) 2022-08-19 20:08:40 +04:00
Vlad Senyuta
6f00ee0273
[e2e] Add pageLoadTimeout (#2472) 2022-08-19 16:24:55 +04:00
KriKiparoidze
26d800f997
Fix smart filters multiple conditions (#2400)
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-08-18 16:51:51 +04:00
KriKiparoidze
95a0306143
Bugfix/2320 move tasks to a new table (#2455)
* #2320 #2321 move tasks to a new table

* #2320 #2321 test coverage

* #2320 #2321 code review fix

* Fix Expandable rows

Co-authored-by: Oleg Shuralev <workshur@gmail.com>
2022-08-18 13:28:51 +03:00
Arthur
a5f539c62a
verify Step annotation cross page methods #2434 (#2448)
Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2022-08-18 11:16:00 +03:00
MichaelGonzalezMurillo
a665fb4d83
Add an ability to build api without frontend based on a property (#2424) 2022-08-17 19:17:37 +04:00
Roman Zabaluev
fd62f76534
Update readme 2022-08-17 18:54:24 +04:00
Oleg Shur
8d3f098385
Use back link instead of breadcrumbs (#2430)
* Use back link instead of breadcrumbs

* Unify topic pages

* Unify topic page actions

* fix

* Remove unused test
2022-08-15 14:08:10 +03:00
Oleg Shur
e1fb6bacc3
Get rid of SmartTable component (#2444)
* Get rid of SmartTable component

* Clickable rows

* Improve test coverage
2022-08-15 13:46:13 +03:00
Oleg Shur
21f17ad39e
Use new table component for topics list (#2426)
* Use new table component for topics list

* Fix styling

* Migrate BrokerLogdir to new tables

* Improve test coverage
2022-08-12 15:36:07 +03:00
Roman Zabaluev
5fdcd2124c
Fix a typo within topic's statistics (#2422) 2022-08-12 15:22:27 +04:00
MichaelGonzalezMurillo
24243e36ac
Fix validation message for Topic name field (#2425)
* Fixes #2203

* Fixes #2203 adding unit tests
2022-08-12 15:21:15 +04:00
Azat Safin
9b3495a2e9
use semver object for compare (#2387)
Co-authored-by: Azat Safin <azsafin@provectus.com>
2022-08-10 12:58:41 +03:00
Alexandr Nezboretskiy
d781ac45da
Get rid of asserts in helper classes #2295 (#2418)
* Get rid of asserts in helper classes #2295

* Fixed step description

* Deleted description of ConnectorCreateView

Co-authored-by: anezboretskiy <anezboretskiy@modeln.com>
Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2022-08-09 17:28:58 +03:00
Alexandr Nezboretskiy
ffb62d3eab
Fix unstable e2e test (#2416)
* Fix unstable e2e test #2373

* Fix unstable e2e test #2373

* Prepare steps for Schema Registry and Connector fixed #2288

* Fix unstable e2e test #2373

* Revert "Prepare steps for Schema Registry and Connector fixed #2288"

This reverts commit cfeb224e99.

* Adding @Disabled annotation #2373

Co-authored-by: anezboretskiy <anezboretskiy@modeln.com>
Co-authored-by: Vlad Senyuta <66071557+VladSenyuta@users.noreply.github.com>
2022-08-09 16:53:31 +03:00
Oleg Shur
7765a268af
Topic statistics (#2413)
* Topic statistics

* Typo

* Code smell

* Specs

* Specs

* Use timestamp helper

* Improve coverage

* styling
2022-08-09 16:13:03 +03:00
Daniel Ching
757bf9526e
Fixing bug 2243 - Replication Factor validation (#2370)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-08-08 14:36:12 -06:00
MichaelGonzalezMurillo
7f74bf312a
fix #2322 (#2410)
Do not display broker error as "none"
2022-08-08 11:20:34 -06:00
dependabot[bot]
b1a13e442b
Bump urlstechie/urlchecker-action from 0.0.31 to 0.0.32 (#2415)
Bumps [urlstechie/urlchecker-action](https://github.com/urlstechie/urlchecker-action) from 0.0.31 to 0.0.32.
- [Release notes](https://github.com/urlstechie/urlchecker-action/releases)
- [Commits](https://github.com/urlstechie/urlchecker-action/compare/0.0.31...0.0.32)

---
updated-dependencies:
- dependency-name: urlstechie/urlchecker-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 17:04:29 +04:00
Sungjun Lee
5beb6168b9
Fixed SECURE_BROKER link (#2412) 2022-08-08 17:03:09 +04:00
dependabot[bot]
125aa970ef
Bump aquasecurity/trivy-action from 0.6.1 to 0.6.2 (#2414)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.6.1 to 0.6.2.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.6.1...0.6.2)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-08 17:01:14 +04:00
Oleg Shur
8efd890540
Update Alerts to use ReactNode as a message content (#2399) 2022-08-08 13:00:43 +03:00
Roman Zabaluev
32b550f671
Update CONTRIBUTING.md 2022-08-05 23:15:48 +04:00
MichaelGonzalezMurillo
122f90fbb2
fixes #1622 (#2398)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-08-05 12:27:44 -06:00
Daniel Ching
98257b2b5f
Resolve issue #2262 validate topic creation (#2390)
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-08-05 09:13:28 -06:00
Oleg Shur
8f0ffe665c
Refactor topics (#2386) 2022-08-05 00:25:50 +03:00
Roman Zabaluev
edb7da6fce
Disable unstable test (#2395) 2022-08-04 17:38:27 +04:00
dependabot[bot]
8bcb13a4c5
Bump urlstechie/urlchecker-action from 0.0.27 to 0.0.31 (#2334)
Bumps [urlstechie/urlchecker-action](https://github.com/urlstechie/urlchecker-action) from 0.0.27 to 0.0.31.
- [Release notes](https://github.com/urlstechie/urlchecker-action/releases)
- [Commits](https://github.com/urlstechie/urlchecker-action/compare/0.0.27...0.0.31)

---
updated-dependencies:
- dependency-name: urlstechie/urlchecker-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-03 19:44:55 +04:00
Roman Zabaluev
38d795d5a0
Drop unnecessary maven scripts (#1857)
* Drop unnecessary maven scripts

* Get rid of unnecessary files
2022-08-03 16:54:20 +04:00
MichaelGonzalezMurillo
27252393a2
CVE fixes Q2.22 (#2357)
* upgrading alpine to fix CVE-2022-28391 vulnerabilities

* bumping spring-boot-version which includes vulnerabilities fixes

* Bumping one more version to clean high vulnerabilities up u

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-08-03 15:50:53 +04:00
Oleg Shur
2d82b9c0a9
New Confirmation Messages modal (#2376)
* New Confirmation Messages

* Fix #2348

* Fix codesmels

* fix #2242

* fix #2347
2022-08-03 11:37:35 +03:00
Roman Zabaluev
b6e9e43868
[e2e] Fix kafka-connect healthcheck (#1921) 2022-08-02 18:32:13 +04:00
José Antonio Cortés López
1c0b297a59
Add the possibility to not specify the image.registry value (#2368)
* Allow not specify image.registry in the values of the helm chart

* Allow not specify image.registry in the values of the helm chart

* Allow not specify image.registry in the values of the helm chart
2022-08-02 17:18:01 +04:00
dependabot[bot]
3e5e8e9ba5
Bump aquasecurity/trivy-action from 0.5.1 to 0.6.1 (#2352)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.5.1 to 0.6.1.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.5.1...0.6.1)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-08-01 21:27:38 +04:00
MichaelGonzalezMurillo
ba983657e6
Update kafka-clients dependency 2022-08-01 21:24:27 +04:00
Smbat Siradeghyan
819ae60e6b
Fix default properties' values propagation upon topic edit (#2205)
* fix topic  edit form

* remove unused import

* add test for topicParamsTransformer

* add tests for topicParamsTransformer

* try to fix tests topicParamsTransformer

* try to fix tests topicParamsTransformer

* try to fix tests topicParamsTransformer

* fix tests for topicParamsTransformer

* try to fix tests topicParamsTransformer

* try to fix tests topicParamsTransformer

* try to fix tests topicParamsTransformer

* try to fix tests topicParamsTransformer

* fix review comments

* fix tests name

* fix tests name

* remove default value from getValue function

* fix tests names

* fix topic create page

* remove unused import

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-08-01 21:17:08 +04:00
Robert Azizbekyan
9827e01047
Remove ksql editor unnecessary line (#2339) 2022-08-01 21:09:26 +04:00
Oleg Shur
c4f97327c0
Make frontend work properly with custom context url (#2363)
* Add an ability to run app from subfolder

* linting

* Fix all the static resources URLs and manifest.json

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-08-01 20:47:49 +04:00
Roman Zabaluev
13d168c8a5
Fix e2e run on m1/arm (#2371)
* Fix e2e run on m1

* Update README.md
2022-08-01 20:18:24 +04:00
Oleg Shur
70414d2279
New Dropdown component (#2355)
* New Dropdown component

* Cleanup

* Styling

* Minireset
2022-07-31 15:38:44 +03:00
José Antonio Cortés López
bff27f1b5b
Fixed ingress template for k8s version older than 1.19 (#2318)
* Fixed ingress template for k8s version older than 1.19

* Added manifest tests with version lower than 1.19, and ingress enabled
2022-07-27 17:39:56 +04:00
Robert Azizbekyan
d92fe63e8a
Make Submit button inactive when required fields aren't filled (#2315)
* fixing create schema page validation issue

* fixing schema create form schemaType select issue

* adding test cases for schema creation
2022-07-27 16:20:40 +04:00
Oleg Shur
bffe316063
Use react-hot-toaster for alerts (#2312)
* Use react-hot-toaster for alerts

* Fix linting problems
2022-07-25 14:16:00 +03:00
Robert Azizbekyan
48325bc5ad
fixing newest first mode issue and actionscell dispatch issue (#2305) 2022-07-21 16:57:49 +04:00
Robert Azizbekyan
6891f71452
fixing create schema page validation issue (#2313) 2022-07-21 14:03:13 +04:00
Oleg Shur
66e4eede51
Upgrade RQ to v4 (#2300) 2022-07-21 10:08:23 +04:00
Robert Azizbekyan
30f836645d
Dependabot/npm and yarn/kafka UI react app/eslint plugin react 7.30.1 (#2232)
* Bump eslint-plugin-react from 7.29.4 to 7.30.1 in /kafka-ui-react-app

Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.29.4 to 7.30.1.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.29.4...v7.30.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* taking ActionsCell out of List

* removing package-lock

* refactoring props

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-19 18:53:07 +04:00
Oleg Shur
96b00785b5
Upgrade redux (#2299)
* got rid of redux-thunk

* Bump redux

* Bump ace. Got rid of node-fetch

* Fix vite config
2022-07-19 16:18:28 +03:00
Boris Djurdjevic
dfe12807e2
Fix typos in readme (#2296) 2022-07-19 14:43:41 +04:00
Oleg Shur
eb26883949
Upgrade dependancies (#2290)
* Bump vite

* bump eslint-import-resolver-typescript

* Cleanup

* Bump datepicker
2022-07-19 12:42:32 +03:00
Oleg Shur
7d4e42c860
got rid of the dead code (#2286) 2022-07-18 18:33:44 +03:00
kshpilchyna
cfcadd122c
[e2e] Implement Qase.io integration (#2233)
* qase.io integration
moved all helpers/util to main/java

* fix for locator (message/content)

* fix for locator (message/content) v2

* refactoring due to review

* refactoring, added verification by @CaseId

* small fix with NullPointer

* TEST FAILED RUN

* TEST FAILED RUN2

* TEST FAILED RUN3

* removed token, set correct @CaseId

* added status SKIPED for manual tests or not automated
changed getting token .getenv

* fix for token

* changed cases limit to 100

* fix for getting token

* refactoring due review

* changed name of variable

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-07-18 19:31:59 +04:00
Robert Azizbekyan
7845476af1
fixing forms not no be able to submit until all required fields are f… (#2221)
* fixing forms not no be able to submit until all required fields are filled

* fixing topic form validation issue
2022-07-18 17:08:32 +04:00
Robert Azizbekyan
002e4db355
fixing create topic (#2275) 2022-07-18 14:57:28 +04:00
dependabot[bot]
620d2955fb
Bump actions/setup-node from 3.4.0 to 3.4.1 (#2279)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3.4.0...v3.4.1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-18 14:18:49 +04:00
Oleg Shur
9af6b0032b
Kafka Connect with React-Query (#2258)
* Kafka Connect hooks

* Migrate connectors list page to RQ

* Migrate connector details page overview to RQ

* Migrate connector config page to RQ

* Migrate connector tasks page to RQ

* Get rid of some deadcode

* Migrate connector Actions page to RQ

* Get rid of some deadcode

* Migrate connector create page to RQ

* Migrate connector Edit page to RQ

* move fixtures to lib folder

* refactoring
2022-07-18 13:06:55 +03:00
Roman Zabaluev
5e04f3e880 Pass qase.io token into e2e workflow 2022-07-15 19:30:19 +04:00
Roman Zabaluev
541e4018ec
Active Directory support for LDAP (#2056)
* AD support for LDAP

* Review suggestions, documentation update
2022-07-15 18:06:49 +04:00
dependabot[bot]
119c7d0107
Bump docker/setup-buildx-action from 1 to 2 (#1945)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1 to 2.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-14 13:38:55 +04:00
dependabot[bot]
33eb50a397
Bump docker/build-push-action from 2 to 3 (#1943)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2 to 3.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-14 13:38:23 +04:00
dependabot[bot]
b3c7637a51
Bump hashicorp/setup-terraform from 1 to 2 (#1894)
Bumps [hashicorp/setup-terraform](https://github.com/hashicorp/setup-terraform) from 1 to 2.
- [Release notes](https://github.com/hashicorp/setup-terraform/releases)
- [Changelog](https://github.com/hashicorp/setup-terraform/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/setup-terraform/compare/v1...v2)

---
updated-dependencies:
- dependency-name: hashicorp/setup-terraform
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-14 13:37:11 +04:00
dependabot[bot]
9e661b4aa6
Bump docker/login-action from 1 to 2 (#2273)
Bumps [docker/login-action](https://github.com/docker/login-action) from 1 to 2.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-14 13:34:12 +04:00
dependabot[bot]
163a6cf2c6
Bump svenstaro/upload-release-action from 2.2.1 to 2.3.0 (#2272)
Bumps [svenstaro/upload-release-action](https://github.com/svenstaro/upload-release-action) from 2.2.1 to 2.3.0.
- [Release notes](https://github.com/svenstaro/upload-release-action/releases)
- [Changelog](https://github.com/svenstaro/upload-release-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/svenstaro/upload-release-action/compare/2.2.1...2.3.0)

---
updated-dependencies:
- dependency-name: svenstaro/upload-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-14 13:06:57 +04:00
dependabot[bot]
199c4ea2e8
Bump aquasecurity/trivy-action from 0.3.0 to 0.5.1 (#2271)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.3.0 to 0.5.1.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.3.0...0.5.1)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-14 13:05:17 +04:00
dependabot[bot]
cb8e8b2dc2
Bump actions/setup-node from 3.1.1 to 3.4.0 (#2270)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.1.1 to 3.4.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3.1.1...v3.4.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-14 13:03:11 +04:00
dependabot[bot]
2b27195cbf
Bump github/codeql-action from 1 to 2 (#2269)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-14 12:10:43 +04:00
dependabot[bot]
88cff603d5
Bump pnpm/action-setup from 2.0.1 to 2.2.2 (#2268)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 2.0.1 to 2.2.2.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v2.0.1...v2.2.2)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-14 12:08:56 +04:00
dependabot[bot]
f94952dabc
Bump mheap/github-action-required-labels from 1 to 2 (#2267)
Bumps [mheap/github-action-required-labels](https://github.com/mheap/github-action-required-labels) from 1 to 2.
- [Release notes](https://github.com/mheap/github-action-required-labels/releases)
- [Commits](https://github.com/mheap/github-action-required-labels/compare/v1...v2)

---
updated-dependencies:
- dependency-name: mheap/github-action-required-labels
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-14 12:06:47 +04:00
dependabot[bot]
eb21e7f974
Bump docker/setup-qemu-action from 1 to 2 (#1956)
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 1 to 2.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-14 12:02:55 +04:00
Roman Zabaluev
2d9bab7714
Fix workflows to satisfy workflow linter
* Update build-public-image.yml

* Update delete-public-image.yml
2022-07-13 21:20:41 +04:00
Azat Safin
3ab44233ed
Publish and delete docker image in public ecr (#2259)
* publish and delete docker image into public ecr

* small fix

Co-authored-by: Azat Safin <azsafin@provectus.com>
2022-07-13 16:13:37 +03:00
Kirill Morozov
0b76b12518
Added key-value form for stream parameters (#2191)
* Added key-value form for stream parameters

* Removed unused variable

* fixing some test cases and fixing width of stream props

* adding key value validation and tests

* fixing placeholder padding and font size

* remove unnecessary code

Co-authored-by: rAzizbekyan <razizbekyan@provectus.com>
Co-authored-by: Robert Azizbekyan <103438454+rAzizbekyan@users.noreply.github.com>
2022-07-12 12:40:52 +04:00
Artem Kazlanzhy
cbd4e4a52a
KSQLDB: Support Basic Auth (#2247)
* Support basic authentication for KSQL server

* Resolve mr issues

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-07-07 19:50:26 +04:00
ㅅㅅㅇ
83222edc62
Update running.md (#2248)
Fix broken url link
2022-07-06 09:10:40 +04:00
Roman Zabaluev
8b0515c027
Update issues templates
* Update helm issue template

* Update feature issue template

* Update bug issue template

* Add a question template

* Add a reminder to check for existing issues
2022-07-05 12:40:15 +04:00
azatsafin
f8713cf3ef
Flow to update product version on AWS Marketplace (#1951)
* add publish step

* test path

* set workdir for packer

* update workflow

Co-authored-by: Azat Safin <azsafin@provectus.com>
Co-authored-by: Oleksii Troian <otroian@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-07-05 00:34:56 +04:00
Roman Zabaluev
b9170956ff
Update logdirs label (#2234)
Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-07-04 13:36:56 +04:00
Oleg Shur
5296d42e88
Use pnpm (#2081)
* Migrate FE app to pnpm

* Fix node install cache

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-07-01 12:02:18 +03:00
Smbat Siradeghyan
9f2310472d
[ BROKER ] Add broker metrics page (#2157)
* add metrics page

* add test for broker

* add test for paths

* remove unused-vars

* add editor view for broker metrics

* add not available message

* try to fix BrokerLogdir tests

* add tests for translateLogdir and translateLogdirs

* add tests for translateLogdir and translateLogdirs

* add tests for metrics page

* fix review comments

* fix unused var

* remove describe duplicate

Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-06-30 13:22:52 +04:00
Robert Azizbekyan
a77869783b
fixing connectors path redirection issue no to navigate dashboard (#2187) 2022-06-29 16:10:55 +04:00
azatsafin
46bcbb3436
Get rid of feature-testing useless comments (#2219)
Co-authored-by: Azat Safin <azsafin@provectus.com>
2022-06-29 13:40:50 +04:00
Artem Kazlanzhy
3e5093d101
Make max-in-memory configurable for webclients (#2139)
* Fix max-in-memory configuration for KsqlApiClient

* Fix tests, resolve mr comments

* Fix max-in-memory configuration for RetryingKafkaConnectClient

* Refactor KafkaConnectClients class

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-06-28 23:58:50 +04:00
Oleg Shur
a4046d46ef
chore: migrate clusters from toolkit to react-query (#2214) 2022-06-28 15:15:12 +03:00
dependabot[bot]
0efbd130b9
Bump dayjs from 1.11.2 to 1.11.3 in /kafka-ui-react-app (#2210)
Bumps [dayjs](https://github.com/iamkun/dayjs) from 1.11.2 to 1.11.3.
- [Release notes](https://github.com/iamkun/dayjs/releases)
- [Changelog](https://github.com/iamkun/dayjs/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/iamkun/dayjs/compare/v1.11.2...v1.11.3)

---
updated-dependencies:
- dependency-name: dayjs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-28 13:00:12 +03:00
Roman Zabaluev
6e67255053
Update readme 2022-06-27 20:05:27 +04:00
azatsafin
101ebc55ef
Helm Chart Quick Start (#2176)
* add quickstart readme for helm chart

* add link to root README.md

* fix configurationfile example stored in configmap

* change order of possible deployment configuration

Co-authored-by: Azat Safin <azsafin@provectus.com>
2022-06-27 18:57:49 +03:00
Robert Azizbekyan
d7a3629470
Change the name of path for Schema Compare versions (#2194) 2022-06-27 16:59:00 +04:00
Robert Azizbekyan
cc0a98262b
fixing alert close icon position (#2193) 2022-06-27 16:24:47 +04:00
Oleg Shur
8acbcbacb9
Upgrade deps (#2206)
* hook

* Upgrade Jest to v28

* Upgrade Typescript
2022-06-27 13:07:47 +03:00
Robert Azizbekyan
5cb1a7e0ce
Fix incorrect order of requests for changing SR compatibility lvl (#2201) 2022-06-25 01:47:05 +04:00
Robert Azizbekyan
9c7f078ded
fixing logout redirect issue (#2170)
* fixing logout redirect issue

* fixing logout problem
2022-06-23 17:59:30 +04:00
Robert Azizbekyan
aa839b4d69
add asterix for custom params (#2192) 2022-06-22 11:48:03 +04:00
Kirill Morozov
3c922bc470
Make broker table row clickable (#2151)
* Added click functionality to the row

* Clickablerow moved to separate file

Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-06-21 19:53:11 +04:00
Kirill Morozov
fac348bb38
Added Social icons (#2137)
* Added Social icons

* Removed unused import

* Icon name fixed

* package-lock.json reverted

* Delete package-lock.json

* Added colors to theme

* Social icons refactored

* Discord icon size fixed

* Discord icon color fixed

* Discord icon replaced with the new one

* Icons colors changed

* Social Network Links

Co-authored-by: Oleg Shuralev <workshur@gmail.com>
2022-06-21 15:23:28 +03:00
azatsafin
d0e1e2bf6a
start use pr number instead of branch name for custom deployments (#2179)
Co-authored-by: Azat Safin <azsafin@provectus.com>
2022-06-17 15:20:41 +03:00
azatsafin
d565ad4e38
fix to remove deployment when pr closed with existing tag (#2174)
Co-authored-by: Azat Safin <azsafin@provectus.com>
2022-06-16 13:11:09 +03:00
Robert Azizbekyan
0528c3a28f
Separating ksqlDb tables and streams by tabs (#2145)
* separating ksqlDb tables and streams by tabs

* adding tests
2022-06-16 13:57:27 +04:00
Tom Lai
41fd765d83
Fixed width of messages meta info block (#2171)
Co-authored-by: Yiu ming Lai <ymlai87416@gmail.com>
2022-06-16 10:19:09 +03:00
Oleg Shur
1b71ccb975
Migrate React app to Vite (#2153)
* Ejected CRA

* Cleanup

* jest

* Cleanup

* refactor cluster widgets

* configure build

* configure build

* configure coverage

* Experiment with lazy

* add ace to vendor

* Cleanup
2022-06-15 16:59:02 +03:00
Robert Azizbekyan
d859dd6b3f
fix adding message for topics (#2161) 2022-06-15 16:56:47 +04:00
ChristinaKristane
4ebc74212c
[e2e] Produce message tests, schema registry tests (#984)
* #825 add methods for creating Schema Registry

* #825 Produced message added and Schema Registry added

* add test for produced message

* update topic test

* fix test 'produce message', added tag for docker selenium image

* added schema registry rests

* changed schema value

* changed locator for schema selector

* added verification container running, need to close before new test class

* fix for timeout exception, removed deletion of cookies

* small fix for remote driver

* small fix for remote driver v2

* fix for api deletion if not exist

Co-authored-by: kshpilchyna <kshpilchyna@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-06-15 00:15:03 +04:00
Ilya Kuramshin
396341dbf7
Backend: topic analysis (#1965)
* Topic Analyzer implementation

* small cleanup

* hourly stats added

* imports fix

* compilation fixes

* PR fixes

* PR fixes (renaming)

* tests compilation fix

* apis improved

* checkstyle fix

* renaming

* node version rollback

* Fix naming

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>

Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-06-14 15:31:00 +04:00
Roman Zabaluev
e4dc1134ab
Fix possible CWE-94 in a workflow 2022-06-09 15:50:43 +04:00
Robert Azizbekyan
3b69b67c60
Adding isWindowed column to ksql table (#2138)
* adding isWindowed column to ksql table

* removing unnecessary code
2022-06-09 12:29:03 +04:00
Kirill Morozov
16ac428610
Burger fixed (#2131)
* Burger fixed

* Used function 'closeSidebar'

* Removed unused import

* Added whitespace before return

* Added useCallBack wrapper for closeSidebar function

* Added useCallBack wrapper for closeSidebar function

* Delete backend.yml

* backend.yml restored

* Extra spaces removed
2022-06-09 10:01:53 +03:00
Ilya Kuramshin
2fcb0d1abe
Fix timeouts with huge amount of topics (#2019)
* partitioning getTopicsConfig & describeTopics calls for cases where topics count is big

* comments added

Co-authored-by: iliax <ikuramshin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-06-08 16:00:19 +04:00
Oleg Shur
f294b1bbad
Import Brokers page without lazy (#2142) 2022-06-07 18:28:38 +03:00
Arsen Simonyan
45dc7f616c
Add logout button UI (#1854)
* add logout button ui

* adding redirect to /logout

Co-authored-by: rAzizbekyan <razizbekyan@provectus.com>
Co-authored-by: Robert Azizbekyan <103438454+rAzizbekyan@users.noreply.github.com>
2022-06-07 16:05:58 +04:00
dependabot[bot]
3c984fc451
Bump @testing-library/dom from 8.11.1 to 8.13.0 in /kafka-ui-react-app (#2067)
Bumps [@testing-library/dom](https://github.com/testing-library/dom-testing-library) from 8.11.1 to 8.13.0.
- [Release notes](https://github.com/testing-library/dom-testing-library/releases)
- [Changelog](https://github.com/testing-library/dom-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/dom-testing-library/compare/v8.11.1...v8.13.0)

---
updated-dependencies:
- dependency-name: "@testing-library/dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-07 14:22:05 +03:00
dependabot[bot]
19f27e7b92
Bump @reduxjs/toolkit from 1.8.1 to 1.8.2 in /kafka-ui-react-app (#2066)
Bumps [@reduxjs/toolkit](https://github.com/reduxjs/redux-toolkit) from 1.8.1 to 1.8.2.
- [Release notes](https://github.com/reduxjs/redux-toolkit/releases)
- [Commits](https://github.com/reduxjs/redux-toolkit/compare/1.8.1...v1.8.2)

---
updated-dependencies:
- dependency-name: "@reduxjs/toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-06-07 14:21:30 +03:00
Oleg Shur
70656b7fc0
Use react-query for server state managment (#2133)
* Use react-query for server state managment

* Refactor using of react query
2022-06-07 13:30:15 +03:00
Oleg Shur
3cd0c2897a
get rid of unused bulma styles. small UI refactoring (#2130)
* Get rid of bulma

* Refactor SecondaryTabs

* Refactor Messages View

* Refactor Inputs

* get rid of unused components

* refactoring

* Remove unused bulma styles
2022-06-07 11:15:30 +03:00
Robert Azizbekyan
5fa2bcf5b2
fixing ksql table (#2115) 2022-06-07 11:29:06 +04:00
azatsafin
f98c26e4fa
Helm: add support for external application config in yaml format (#2020)
* support yamlConfigMap

* add support of external config map

* remove test config

* update helm version and readme

* pass kafka-ui.yaml directly as helm chart value

* fix configmap metadata name

* update readme

Co-authored-by: Azat Safin <azsafin@provectus.com>
Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-06-07 01:46:01 +04:00
Smbat Siradeghyan
e6f3157508
Add UI for broker log dirs (#1992)
* change brokker table

* add broker page

* add tests for broker page

* add test for broker

* add test for broker

* remove unused import

* fix comments

* fix coments

* fix new coments

* fix comments

* fix coments

Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-06-06 21:15:48 +03:00
sbritprovectus
e5f2df86dd
Fix e2e tests (#1543)
* Fix tests. Change folders structure

* Activate tests

* Update selenoid.yaml, broesers.json. Add pull of selenoid browser image.

* Change method of pulling chrome image

* Fix browsers.json and return the pulling of browser image

* Update pom.

* Update pom

* Fix pom

* Fix java version in pom

* Migrate to selenium containers

* Return selenoid container. Fix using of BASE_URL

* Delete video recording for Selenoid container

* expose kafka-ui port

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>

* Fix tests run

* Delete comment from workflow file

* Stop using containers and migrate to WDM.

* Delete comments. Update dependencies.

* Comment using of  TestConfiguration.BASE_URL.replace("localhost", "host.docker.internal");

* Retern changes

* Clean code

* Update e2e-checks.yaml

* Update e2e-checks.yaml

* Fix skip test parameter in tests project

* Delete host.docker.internal in base tests

* Return previous usage of testcontainers

* Delete base url configuration

* Revert versions in pom.xml

* Return some values

* Small fixes for stabilize tests

* Trying to fix tests running on github

* Update base test

* Fix selenide url

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>

* Fix selenide url

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>

* test stuff

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>

* added extra-hosts host.docker.internal:host-gateway

* added extra-hosts host.docker.internal:host-gateway

* added extra-hosts host.docker.internal:host-gateway

* added command --add-host

* separate driver container

* small refactoring, change selenoid to BrowserWebDriverContainer

* changed in BaseTest port from 8678 to 8080

* changed tests with xpath and added additional actions (click javascrip, click with action)

* added issue to allure reporting

* provided fix for connectors tests

* deleted afterAll annotation

* fixed tests with ConnectorsTests

* fixed tests with Topics

* removed commented action with click

* Revert unnecessary changes

* Fix workflow

* added @Disabled for test- update topic dui to issue https://github.com/provectus/kafka-ui/issues/1500

* removed dependency, testconteiners version

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
Co-authored-by: kshpilchyna <kshpilchyna@provectus.com>
2022-06-06 22:05:43 +04:00
Kirill Morozov
1ca8873d35
Added buttons wrapping (#2126)
* Added buttons wrapping

* Layout improved
2022-06-06 14:18:10 +03:00
Robert Azizbekyan
070fba4d08
Using new API endpoint for KSQLDB instead of deprecated one (#2098)
* using new API endpoint for KSQLDB instead of deprecated one

* adding type and interface for header and accessors
2022-06-06 12:32:47 +04:00
Robert Azizbekyan
657025dfd4
adding success alert for topic recreation and fixed select arrow position (#2104) 2022-06-06 12:14:48 +04:00
Robert Azizbekyan
7db40577b5
fixing schema version path issue (#2100) 2022-06-06 11:49:30 +04:00
Robert Azizbekyan
c64519c2c1
fixing connector task count to work without refresh (#2099) 2022-06-06 11:41:57 +04:00
Robert Azizbekyan
0f0d51d386
fixing problem of endless loading after deleting multiple topics (#2095) 2022-06-06 11:34:32 +04:00
Roman Zabaluev
c1bdbec2b2
Fix basic auth logout page (#2106) 2022-06-03 16:36:06 +04:00
dependabot[bot]
4b70cbbde4
Bump @types/react-dom from 18.0.3 to 18.0.5 in /kafka-ui-react-app (#2072)
Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 18.0.3 to 18.0.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-03 13:24:13 +03:00
dependabot[bot]
801aeec666
Bump eslint from 8.15.0 to 8.16.0 in /kafka-ui-react-app (#2071)
Bumps [eslint](https://github.com/eslint/eslint) from 8.15.0 to 8.16.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.15.0...v8.16.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-03 13:23:39 +03:00
Roman Zabaluev
8aea5ca2d2
Fix helm icon URL (#2060) 2022-06-03 13:07:05 +04:00
Vanessasaurus
a0f5093635
Bump urlchecker-action version (#2101) 2022-06-03 12:56:15 +04:00
Robert Azizbekyan
9eae6b1f0a
adding success alert message for topic deletion (#2094) 2022-06-02 14:45:17 +04:00
Robert Azizbekyan
a211c41207
adding AsyncRequestStatus enum to avoid possible gramatical issues (#2093) 2022-06-02 13:33:13 +04:00
Robert Azizbekyan
70d3cee0bf
fixing partition dropdown (#2073) 2022-06-02 13:21:20 +04:00
Ilya Kuramshin
c0b3ca3bc6
ISSUE-2083: New ksql endpoints added to replace deprecated (#2089)
* New Ksql apis created to replace deprecated
2022-06-01 15:40:46 +03:00
Mgrdich
f0673b6005
Remove History from packages (#2092) 2022-06-01 12:33:16 +04:00
Robert Azizbekyan
eb9aeef2d1
disable produce message button if cluster is readOnly (#2077) 2022-05-31 19:04:33 +04:00
Mgrdich
c42858e722
Fix Selectors to not give error if not fetched yet (#2075) 2022-05-31 17:17:40 +04:00
Mgrdich
89c409a5d6
Fix Connector On Creation redirection (#2074) 2022-05-31 17:10:16 +04:00
Oleg Shur
a90aa52af5
Pkg update (#2063)
* Get Rid of react-router + minor updates

* jest update

* upgrade use-debounce & dayjs versions

* Refactor specs to reduce number of warnings
2022-05-31 14:49:47 +03:00
Robert Azizbekyan
50afb26f95
fixing error messages to be user friendly (#2049) 2022-05-31 14:58:20 +04:00
Mgrdich
71ac16357b
react router migration (#2045)
* remove withRouter HOC from FiltersContainer

* remove withRouter HOC from Topics DetailsContainer

* remove withRouter HOC from Topics TopicsConsumerGroupsContainer

* withRouter HOC from Topics TopicsConsumerGroupsContainer

* minor code refactor in the Details spec

* Routes code modifications to refactor strings representation to functions

* Settings and TopicsConsumer removal of HOC with Router

* Remove withRouter HOC from Overview file

* Remove withRouter HOC from Edit file

* replace Router path with functions instead of strings

* delete CustomParamsContainer and use the simple component in the TopicForm

* remove HOC from DangerZone container

* Remove withRouter HOC from Connect pages like Config , Overview , Tasks

* Remove withRouter HOC from Connect pages like Actions, Details, Edit, New

* Refactor Kafka Connect Codes

* Refactor Topics pages

* Remove HOC from Diff component and minor code refactor

* Route component migration into children instead of renderProps or component param in App Component

* Route component migration into children instead of renderProps or component param in Cluster Component

* Route component migration into children instead of renderProps or component param in Topics Component

* Route component migration into children instead of renderProps or component param in Topic Component

* Route component migration into children instead of renderProps or component param in Topic Component

* minor bug fix in the Overview selector spread

* change Router from component Render to child render
in ConsumerGroups page

* change Router from component Render to child render
in Schemas page

* change Router from component Render to child render
in KsqlDb page

* change Router from component Render to child render
in Connect page

* change Router from component Render to child render
in Connect Details page

* Overview Details styling code modifications

* All written path to paths with functions

* Route Parameters code fix with functions and params with variables

* Updating BreadCrumb Route

* Refactor Redirects

* WIP React Router v6 migration

* Remove unused imports from the file

* Make KsqlDb pages work with relative Routes

* WIP Make Connect pages work and fix the Schema page testing problem

* transforming consumer groups into relative path router

* Transform Topics pages into relative routes

* Transform Topic pages into relative routes

* Minor changes in Connect and KsqlDb test suites relative routes

* Minor changes in Connect and KsqlDb test suites relative routes

* change the Details into relative Routes

* Topics List naviagtion and caching issue fixed in tests suites

* Topic New Naviagation issue fix + tests suites

* Details navigate migrating into relative paths

* Send Message Submit Naviagttion with tests suites

* Topic Edit pages with working routes navigation

* Topic Details and ResetOffsets Pages tests suites and navigations

* Messages Table Tests suites

* BreadCrumbs Routes fixes

* ClusterMenu and Links styling minor code modifications

* ClusterMenu and Links styling minor code modifications

* Minor Code modifications

* Fix Lintter Problems

* fix Code Smells

* create custom useParams hook

* Adding Path tests

* minor code refactors

* Fix the Button Component redundant Props + transforming routes to relative

* Fix linter issues
2022-05-31 12:33:15 +03:00
Robert Azizbekyan
2a51f0ee14
fixing form error message issue (#2047) 2022-05-31 13:32:41 +04:00
Robert Azizbekyan
7ba10c1b7a
adding error message when created message has wrong header format (#2033) 2022-05-30 18:36:04 +04:00
Robert Azizbekyan
7211a18b57
adding success alert for partitions update and display changes immediately without refresh (#2038) 2022-05-30 16:55:16 +04:00
Kirill Morozov
996e127a02
Fixed Selected partitions label (#2042)
* Fixed Selected partitions label

* Console logs removed
2022-05-30 13:24:59 +03:00
Kirill Morozov
4f1078aabb
Next button removed (#2036)
* Next button removed

* Removed Next button functionality

* Removed unused import
2022-05-30 13:15:27 +03:00
Oleg Shur
93a09a6327
Get rid of senseless useCallback hooks (#2048)
* Remove senseless React.useCallback

* Remove senseless React.useCallback
2022-05-30 12:45:21 +03:00
Robert Azizbekyan
b32ff9ca8b
fixing dropdown arrow behavior for Topics Messages (#2028)
* fixing dropdown arrow behavior

* adding color from theme
2022-05-30 11:46:32 +04:00
Robert Azizbekyan
cf6454c987
fixing message count problem when clearing or adding messages (#2029) 2022-05-30 11:38:46 +04:00
Robert Azizbekyan
cc109a7125
Show close icon on hover (#2034)
* show close icon on hover

* style changes to avoid repeating styles
2022-05-30 11:24:06 +04:00
Roman Zabaluev
8393232a83
Fix version display (#2044) 2022-05-27 14:29:54 +04:00
doomcrewinc
6b1b47f02b
issues/2037: Changed 'Connects' to 'Connectors' (#2041)
Signed-off-by: doomcrewinc <oilfield101@gmail.com>
2022-05-27 11:59:52 +03:00
Roman Zabaluev
0c881b2df5
Rename messages consumed text (#2027) 2022-05-25 21:00:21 +04:00
Kirill Morozov
ab805c39c5
Click function moved from icon to row (#2017)
* Click function moved from icon to row

* Added cursor: pointer style
2022-05-25 14:52:57 +03:00
Kirill Morozov
ad2966f31b
Topics sorted alphabetically (#1999)
* Added topics sorting and tests

* Sorting topics logic moved to redux, test improved

* LocaleCompare replaced with default sort function

* Shadow fixed on overview topic page

* Code samples fixed in InfoModal

* String type removed

* Unused import removed

* Default JS sort method removed with lodash library sorting method
2022-05-25 14:33:05 +03:00
Robert Azizbekyan
6d8c6cace0
Refactoring Topics reducer into redux toolkit (#1939)
* WIP: creating topicSlice

* reformating reducer into toolkit slice and fixed tests

* removing unnecessary lines

* removing dismiss alert action and tests for actions

* removing unnecessary code

* adding tests for selectors

* adding test case for new topics

* adding test cases for topic reducer when fulfilled

* removing unnecessary code

* adding test cases for asyncthunks to increase coverage

* adding new test cases to cover topicSlice

* adding clear messsages fulfilled test case

* removing unnecessary code
2022-05-25 14:54:33 +04:00
Kirill Morozov
3ee2f87255
Feature/1334 please add a counters of all connectors tasks and failed connectors tasks (#2002)
* Added failed connections counter

* Getting failed connectors moved to Redux selector

* Failed connectors test has been rewritten in testing-library way

* Update kafka-ui-react-app/src/components/Connect/List/List.tsx

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

* Suggestion exepted

* Added test case for failed connectors counter

* Unused import removed

* Added failed tasks counter

* Update kafka-ui-react-app/src/redux/reducers/connect/selectors.ts

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

* Reduce args renamed

Co-authored-by: k.morozov <k.morozov@ffin.ru>
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-05-20 20:53:31 +03:00
Ilya Kuramshin
6891138f15
ISSUE-1024: BackwardRecordEmitter fix (#1934)
BackwardRecordEmitter fix

Co-authored-by: iliax <ikuramshin@provectus.com>
2022-05-19 18:34:04 +03:00
Kirill Morozov
d1c59dd74b
Added replicas data to topic overview page (#1993)
* Added replicas data to topic overview page

* Added tests

* Tests improved

* Some logic moved to css plus some refactoring

* Index removed

* Tests improved
2022-05-19 14:44:26 +03:00
Kirill Morozov
ca545ddf36
1865 implement a tooltip with smart filters documentation (#1989)
* Added QuestionIcon

* Added Info button functionality and tests

* Styled component renamed

* Info button testing moved to AddFilter spec

* Styled paragraph renamed

* Info text fixed
2022-05-18 11:30:21 +03:00
dependabot[bot]
3321460185
Bump @hookform/resolvers from 2.8.5 to 2.8.9 in /kafka-ui-react-app (#1978)
Bumps [@hookform/resolvers](https://github.com/react-hook-form/resolvers) from 2.8.5 to 2.8.9.
- [Release notes](https://github.com/react-hook-form/resolvers/releases)
- [Commits](https://github.com/react-hook-form/resolvers/compare/v2.8.5...v2.8.9)

---
updated-dependencies:
- dependency-name: "@hookform/resolvers"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-18 10:35:16 +03:00
Kirill Morozov
18eadfca28
1865 implement a tooltip with smart filters documentation (#1952)
* Added QuestionIcon

* Added Info button functionality and tests

* Styled component renamed

* Info button testing moved to AddFilter spec

* Styled paragraph renamed
2022-05-17 15:10:41 +03:00
Kirill Morozov
7eab325ac3
Added failed connections counter (#1831)
* Added failed connections counter

* Getting failed connectors moved to Redux selector

* Failed connectors test has been rewritten in testing-library way

* Update kafka-ui-react-app/src/components/Connect/List/List.tsx

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

* Suggestion exepted

* Added test case for failed connectors counter

* Unused import removed

Co-authored-by: k.morozov <k.morozov@ffin.ru>
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-05-17 13:04:59 +03:00
Kirill Morozov
20300f327d
Spinner fixed (#1964)
* Spinner fixed

* Tests refactored
2022-05-17 12:53:38 +03:00
Kirill Morozov
06864984a1
Border radius fixed (#1985) 2022-05-17 12:04:01 +03:00
Roman Zabaluev
26e84ff185
Fix indicator pane gap width (#1981) 2022-05-17 00:49:57 +04:00
Kirill Morozov
7958e2a9b5
Added fixed width to the tables cells (#1959)
* Added fixed width to the tables cells

* Removed affecting on other tables width
2022-05-16 18:51:12 +03:00
Smbat Siradeghyan
527df864bb
add test (#1979) 2022-05-16 18:03:32 +04:00
Oleg Shur
13791d0401
Update lockfile version (#1983) 2022-05-16 15:03:20 +03:00
ValentinPrischepa
ae1a400255
Move DTO mappers to controllers (#1805)
* [ISSUE-949] moved mapper methods to controllers

* [ISSUE-949] Applied code review comments

* [ISSUE-949] fixed formatting issue

Co-authored-by: Roman Zabaluev <rzabaluev@provectus.com>
2022-05-16 15:06:20 +04:00
dependabot[bot]
6849e25c8e
Bump netty.version from 4.1.75.Final to 4.1.77.Final (#1968)
Bumps `netty.version` from 4.1.75.Final to 4.1.77.Final.

Updates `netty-buffer` from 4.1.75.Final to 4.1.77.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.75.Final...netty-4.1.77.Final)

Updates `netty-common` from 4.1.75.Final to 4.1.77.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.75.Final...netty-4.1.77.Final)

Updates `netty-codec` from 4.1.75.Final to 4.1.77.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.75.Final...netty-4.1.77.Final)

Updates `netty-handler` from 4.1.75.Final to 4.1.77.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.75.Final...netty-4.1.77.Final)

Updates `netty-resolver` from 4.1.75.Final to 4.1.77.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.75.Final...netty-4.1.77.Final)

Updates `netty-transport` from 4.1.75.Final to 4.1.77.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.75.Final...netty-4.1.77.Final)

Updates `netty-transport-native-epoll` from 4.1.75.Final to 4.1.77.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.75.Final...netty-4.1.77.Final)

Updates `netty-transport-native-unix-common` from 4.1.75.Final to 4.1.77.Final
- [Release notes](https://github.com/netty/netty/releases)
- [Commits](https://github.com/netty/netty/compare/netty-4.1.75.Final...netty-4.1.77.Final)

---
updated-dependencies:
- dependency-name: io.netty:netty-buffer
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.netty:netty-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.netty:netty-codec
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.netty:netty-handler
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.netty:netty-resolver
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.netty:netty-transport
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.netty:netty-transport-native-epoll
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.netty:netty-transport-native-unix-common
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-16 14:45:43 +04:00
dependabot[bot]
c352ecb698
Bump commons-pool2 from 2.2 to 2.11.1 (#1942)
Bumps commons-pool2 from 2.2 to 2.11.1.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-pool2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-13 19:58:03 +04:00
Roman Zabaluev
5f86cae8c0
Update supported versions in security policy 2022-05-13 19:35:51 +04:00
dependabot[bot]
02103317fe
Bump maven-resources-plugin from 3.1.0 to 3.2.0 (#1599)
Bumps [maven-resources-plugin](https://github.com/apache/maven-resources-plugin) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/apache/maven-resources-plugin/releases)
- [Commits](https://github.com/apache/maven-resources-plugin/compare/maven-resources-plugin-3.1.0...maven-resources-plugin-3.2.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-resources-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-13 19:32:35 +04:00
dependabot[bot]
818e5d8127
Bump @fortawesome/fontawesome-free in /kafka-ui-react-app (#1749)
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.15.4 to 6.1.1.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.15.4...6.1.1)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-12 16:56:12 +03:00
Robert Azizbekyan
81d1e955da
Refactor TopicMessages's store to redux/toolkit (#1902)
* Refactor TopicMessages's store to redux/toolkit

* adding test cases to improve coverage

* fixing eslint error

* removing extra code

* Transform redux connect reducer and actions into toolkit slice. (#1883)

* integrate redux toolkit for connects

* uncomment test case

* remove unnecessary comment

* reduce duplication

* Implement code highlighting for smart filters (#1868)

* Implement code highlighting for smart filters

* delete unnecessary code

* fixing eslint problem

* fixing sonar code smells (#1826)

* fixing sonar code smells

* removing unnecessary change

* fixing some sonar code smell issues

* making requested changes

* Fix sonar badges in readme (#1906)

* fixing merge conflicts

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

* Add positive notifications after some successful actions. (#1830)

* add some positive notifications after successful actions

* some improvements

* improve alerts reducer tests

* Fix test warnings (#1908)

* fix fetch mock warnings in brokers.spec.tsx

* use separate waitFor-s for fetch-mock call expects

* Persist show internal topics switch state (#1832)

* persist show internal topics switch state

* minor improvements in topics list tests

* prevent duplication in topic list test file

* fix seek type select border-radius and user-select (#1904)

* Refetch topics list to display the updated data (#1900)

* refetch topics list to display the updated data

* fixing sonar code smells (#1826)

* fixing sonar code smells

* removing unnecessary change

* fixing some sonar code smell issues

* making requested changes

* Fix sonar badges in readme (#1906)

Co-authored-by: Robert Azizbekyan <103438454+rAzizbekyan@users.noreply.github.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>

* Show confirmation modal when clear messages is clicked in topics list (#1899)

* show confirmation modal when clear messages is clicked in topics list

* change variable name

* add missing dependencies

* use useModal hook for topics list modals

* display a human-readable error message for topic custom parameers value field (#1896)

* modify dependencies to fix partitions filter bug (#1901)

Co-authored-by: Arsen Simonyan <103444767+simonyandev@users.noreply.github.com>
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-05-12 16:41:58 +04:00
dependabot[bot]
fa6f587f97
Bump jest-styled-components from 7.0.6 to 7.0.8 in /kafka-ui-react-app (#1295)
Bumps [jest-styled-components](https://github.com/styled-components/jest-styled-components) from 7.0.6 to 7.0.8.
- [Release notes](https://github.com/styled-components/jest-styled-components/releases)
- [Changelog](https://github.com/styled-components/jest-styled-components/blob/main/CHANGELOG.md)
- [Commits](https://github.com/styled-components/jest-styled-components/compare/v7.0.6...v7.0.8)

---
updated-dependencies:
- dependency-name: jest-styled-components
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-12 14:27:54 +03:00
dependabot[bot]
a3d7a1f376
Bump @testing-library/jest-dom in /kafka-ui-react-app (#1806)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.14.1 to 5.16.4.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v5.14.1...v5.16.4)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-12 13:59:32 +03:00
Oleg Shur
b6834c81bb
Use Node v16.15.0 (#1958) 2022-05-12 13:08:51 +03:00
Oleg Shur
eb47ec012d
Upgrade to React 18 (#1955)
* Upgrade deps

* migration

* Fix specs

* exclude index.tsx from sonar metrics

* Update deps
2022-05-12 01:03:08 +03:00
dependabot[bot]
1e3561ea28
Bump actions/checkout from 2 to 3 (#1706)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-12 01:05:30 +04:00
Oleg Shur
19c8fe8693
Romove enzyme. Cleanup warnings (#1950)
* remove enzyme from dependencies

* Fix warnings

* cleanup code smels

* Rollback contract change
2022-05-11 16:54:11 +03:00
Smbat Siradeghyan
ee102aa87e
In Sync Replicas metric displays correct information (#1920)
Co-authored-by: Smbat Siradeghyan
Co-authored-by: Oleg Shur <workshur@gmail.com>
2022-05-11 11:37:07 +03:00
Mgrdich
e597f14b8d
Issues/215 topics page tests (#1948)
* Add Tests to Topics Lists Page for TopicsTableCells

* Delete obsolete ListItems and its test suites from topics.

* Add tests suites for the new Topic creation

* Add tests suites for TopicForm styled components

* Minor code modifications in the CustomParamField test file

* Minor code modifications in the CustomParams test file

* Minor code modifications in the Topic folder

* Add test suites for Topic Edit Page + minor modifications in the DangerZone test suite

* Add tests suites for Topic Edit page

* Add tests suites for Topic Edit page

* Add tests suites for Topic Edit page

* Add tests suites for DangerZone and validation

* Add tests suites for DangerZone

* Add tests suites for DangerZone

* Add tests suites to SendMessage

* increase the tests coverage for validateMessage

* minor changes in the SendMessage and validateMessage function

* add alert message suggestion in the SendMessage

* add alert message suggestion in the SendMessage

* Total Coverage of Overview test suites

* increase tests suite coverage in the Filters styles

* increase tests suite coverage in the Filters styles + Messages Page

* improve the test coverage of the Message Component

* improve the test coverage of the Message Component

* improve the test coverage of the MessagesTable Component

* improve the test coverage of the MessagesTable Component

* improve the test coverage of the MessagesTable Component

* Add Tests for Topic Page

* Change to react testing library from enzyme Topics list

* optimizing List elements Tests suites

* delete necessary file

* minor bug fix in messages due to the rebase

* minor semantic changes in the Test suites
2022-05-11 12:27:22 +04:00
Oleg Shur
a94697c6af
replace enzyme with testing library (#1909)
* Removed two enzyme test with testing-library tests

* Got rid of enzyme and wrapper in List.spec.tsx

* Got rid of enzyme and wrapper in ListItem.spec.tsx

* Got rid of enzyme and wrapper in BytesFormatted.spec.tsx

* Got rid of enzyme and wrapper in ConfirmationModal.spec.tsx

* Got rid of enzyme and wrapper in Tabs.spec.tsx

* Got rid of enzyme and wrapper in Actions.spec.tsx

* Got rid of enzyme and wrapper in ListItem.spec.tsx

* Got rid of enzyme and wrapper in FiltersContainer.spec.tsx

* Got rid of enzyme and wrapper in ListItem.spec.tsx

* Got rid of Enzyme in a two more files

* Got rid of Enzyme in testHelpers.tsx

* Got rid of snapshots

* Three wrappers replaced with render from testHelpers

* Testing id replaced

* Fixed linter warnings

* Got rid of testIds

* Got rid of unnecessary containers and ...queryBy functions

* Got rid of dublicated ...getByRole functions

* Got rid of dublicated more than two times ...getByText functions

* Got rid of unused imports

* Got rid of unused import

* Desciptions fixed

* Got rid of providers

* Got rid of unused imports

* package-lock.json reverted

* Refactor Actions component specs

* Get rid of TestRouterWrapper

* Refactor specs

* Refactor specs

* linting

Co-authored-by: k.morozov <k.morozov@ffin.ru>
Co-authored-by: lazzy-panda <grifx.design@gmail.com>
2022-05-11 01:36:25 +03:00
dependabot[bot]
34db4ccab6
Bump actions/cache from 2 to 3.0.1 (#1795)
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.0.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v2...v3.0.1)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-10 16:50:40 +04:00
dependabot[bot]
6022eb3e86
Bump maven-surefire-plugin from 2.22.0 to 2.22.2 (#1940)
Bumps [maven-surefire-plugin](https://github.com/apache/maven-surefire) from 2.22.0 to 2.22.2.
- [Release notes](https://github.com/apache/maven-surefire/releases)
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-2.22.0...surefire-2.22.2)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-surefire-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-10 16:19:20 +04:00
dependabot[bot]
1f4e20ca50
Bump aquasecurity/trivy-action from 0.2.3 to 0.3.0 (#1941)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.2.3 to 0.3.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.2.3...0.3.0)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-10 16:03:13 +04:00
dependabot[bot]
5371348a33
Bump frontend-maven-plugin from 1.12.0 to 1.12.1 (#1804)
Bumps [frontend-maven-plugin](https://github.com/eirslett/frontend-maven-plugin) from 1.12.0 to 1.12.1.
- [Release notes](https://github.com/eirslett/frontend-maven-plugin/releases)
- [Changelog](https://github.com/eirslett/frontend-maven-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eirslett/frontend-maven-plugin/compare/frontend-plugins-1.12.0...frontend-plugins-1.12.1)

---
updated-dependencies:
- dependency-name: com.github.eirslett:frontend-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-10 14:29:08 +03:00
dependabot[bot]
8013f19c88
Bump spring-boot.version from 2.6.3 to 2.6.7 (#1926)
Bumps `spring-boot.version` from 2.6.3 to 2.6.7.

Updates `spring-boot-starter-webflux` from 2.6.3 to 2.6.7
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v2.6.3...v2.6.7)

Updates `spring-boot-starter-validation` from 2.6.3 to 2.6.7
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v2.6.3...v2.6.7)

Updates `spring-boot-dependencies` from 2.6.3 to 2.6.7
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v2.6.3...v2.6.7)

Updates `spring-boot-maven-plugin` from 2.6.3 to 2.6.7
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v2.6.3...v2.6.7)

---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-starter-webflux
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework.boot:spring-boot-starter-validation
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework.boot:spring-boot-dependencies
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-10 14:59:55 +04:00
dependabot[bot]
5d706eaf59
Bump async from 2.6.3 to 2.6.4 in /kafka-ui-react-app (#1937)
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-09 18:20:37 +04:00
dependabot[bot]
e72fbfa78b
Bump ejs from 3.1.6 to 3.1.7 in /kafka-ui-react-app (#1927)
Bumps [ejs](https://github.com/mde/ejs) from 3.1.6 to 3.1.7.
- [Release notes](https://github.com/mde/ejs/releases)
- [Changelog](https://github.com/mde/ejs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mde/ejs/compare/v3.1.6...v3.1.7)

---
updated-dependencies:
- dependency-name: ejs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-09 17:51:54 +04:00
Marat Gumarov
eb32b2eb2b
Configure jacoco reports to sonar (#1925)
* issues/1537. Added jacoco reports to sonar

* issues/1537. fixed sonar property

* issues/1537. fixed jacoco.xml path
2022-05-06 10:03:09 +03:00
1341 changed files with 71110 additions and 59304 deletions

View file

@ -0,0 +1,36 @@
{
"name": "Java",
"image": "mcr.microsoft.com/devcontainers/java:0-17",
"features": {
"ghcr.io/devcontainers/features/java:1": {
"version": "none",
"installMaven": "true",
"installGradle": "false"
},
"ghcr.io/devcontainers/features/docker-in-docker:2": {}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "java -version",
"customizations": {
"vscode": {
"extensions" : [
"vscjava.vscode-java-pack",
"vscjava.vscode-maven",
"vscjava.vscode-java-debug",
"EditorConfig.EditorConfig",
"ms-azuretools.vscode-docker",
"antfu.vite",
"ms-kubernetes-tools.vscode-kubernetes-tools",
"github.vscode-pull-request-github"
]
}
}
}

286
.editorconfig Normal file
View file

@ -0,0 +1,286 @@
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
max_line_length = 120
tab_width = 4
ij_continuation_indent_size = 8
ij_formatter_off_tag = @formatter:off
ij_formatter_on_tag = @formatter:on
ij_formatter_tags_enabled = true
ij_smart_tabs = false
ij_visual_guides = none
ij_wrap_on_typing = false
trim_trailing_whitespace = true
[*.java]
indent_size = 2
ij_continuation_indent_size = 4
ij_java_align_consecutive_assignments = false
ij_java_align_consecutive_variable_declarations = false
ij_java_align_group_field_declarations = false
ij_java_align_multiline_annotation_parameters = false
ij_java_align_multiline_array_initializer_expression = false
ij_java_align_multiline_assignment = false
ij_java_align_multiline_binary_operation = false
ij_java_align_multiline_chained_methods = false
ij_java_align_multiline_extends_list = false
ij_java_align_multiline_for = true
ij_java_align_multiline_method_parentheses = false
ij_java_align_multiline_parameters = true
ij_java_align_multiline_parameters_in_calls = false
ij_java_align_multiline_parenthesized_expression = false
ij_java_align_multiline_records = true
ij_java_align_multiline_resources = true
ij_java_align_multiline_ternary_operation = false
ij_java_align_multiline_text_blocks = false
ij_java_align_multiline_throws_list = false
ij_java_align_subsequent_simple_methods = false
ij_java_align_throws_keyword = false
ij_java_align_types_in_multi_catch = true
ij_java_annotation_parameter_wrap = off
ij_java_array_initializer_new_line_after_left_brace = false
ij_java_array_initializer_right_brace_on_new_line = false
ij_java_array_initializer_wrap = normal
ij_java_assert_statement_colon_on_next_line = false
ij_java_assert_statement_wrap = normal
ij_java_assignment_wrap = normal
ij_java_binary_operation_sign_on_next_line = false
ij_java_binary_operation_wrap = normal
ij_java_blank_lines_after_anonymous_class_header = 0
ij_java_blank_lines_after_class_header = 0
ij_java_blank_lines_after_imports = 1
ij_java_blank_lines_after_package = 1
ij_java_blank_lines_around_class = 1
ij_java_blank_lines_around_field = 0
ij_java_blank_lines_around_field_in_interface = 0
ij_java_blank_lines_around_initializer = 1
ij_java_blank_lines_around_method = 1
ij_java_blank_lines_around_method_in_interface = 1
ij_java_blank_lines_before_class_end = 0
ij_java_blank_lines_before_imports = 1
ij_java_blank_lines_before_method_body = 0
ij_java_blank_lines_before_package = 1
ij_java_block_brace_style = end_of_line
ij_java_block_comment_add_space = false
ij_java_block_comment_at_first_column = true
ij_java_builder_methods = none
ij_java_call_parameters_new_line_after_left_paren = false
ij_java_call_parameters_right_paren_on_new_line = false
ij_java_call_parameters_wrap = normal
ij_java_case_statement_on_separate_line = true
ij_java_catch_on_new_line = false
ij_java_class_annotation_wrap = split_into_lines
ij_java_class_brace_style = end_of_line
ij_java_class_count_to_use_import_on_demand = 999
ij_java_class_names_in_javadoc = 1
ij_java_do_not_indent_top_level_class_members = false
ij_java_do_not_wrap_after_single_annotation = false
ij_java_do_not_wrap_after_single_annotation_in_parameter = false
ij_java_do_while_brace_force = always
ij_java_doc_add_blank_line_after_description = true
ij_java_doc_add_blank_line_after_param_comments = false
ij_java_doc_add_blank_line_after_return = false
ij_java_doc_add_p_tag_on_empty_lines = true
ij_java_doc_align_exception_comments = true
ij_java_doc_align_param_comments = true
ij_java_doc_do_not_wrap_if_one_line = false
ij_java_doc_enable_formatting = true
ij_java_doc_enable_leading_asterisks = true
ij_java_doc_indent_on_continuation = false
ij_java_doc_keep_empty_lines = true
ij_java_doc_keep_empty_parameter_tag = true
ij_java_doc_keep_empty_return_tag = true
ij_java_doc_keep_empty_throws_tag = true
ij_java_doc_keep_invalid_tags = true
ij_java_doc_param_description_on_new_line = false
ij_java_doc_preserve_line_breaks = false
ij_java_doc_use_throws_not_exception_tag = true
ij_java_else_on_new_line = false
ij_java_entity_dd_suffix = EJB
ij_java_entity_eb_suffix = Bean
ij_java_entity_hi_suffix = Home
ij_java_entity_lhi_prefix = Local
ij_java_entity_lhi_suffix = Home
ij_java_entity_li_prefix = Local
ij_java_entity_pk_class = java.lang.String
ij_java_entity_vo_suffix = VO
ij_java_enum_constants_wrap = normal
ij_java_extends_keyword_wrap = normal
ij_java_extends_list_wrap = normal
ij_java_field_annotation_wrap = split_into_lines
ij_java_finally_on_new_line = false
ij_java_for_brace_force = always
ij_java_for_statement_new_line_after_left_paren = false
ij_java_for_statement_right_paren_on_new_line = false
ij_java_for_statement_wrap = normal
ij_java_generate_final_locals = false
ij_java_generate_final_parameters = false
ij_java_if_brace_force = always
ij_java_imports_layout = $*,|,*
ij_java_indent_case_from_switch = true
ij_java_insert_inner_class_imports = false
ij_java_insert_override_annotation = true
ij_java_keep_blank_lines_before_right_brace = 2
ij_java_keep_blank_lines_between_package_declaration_and_header = 2
ij_java_keep_blank_lines_in_code = 2
ij_java_keep_blank_lines_in_declarations = 2
ij_java_keep_builder_methods_indents = false
ij_java_keep_control_statement_in_one_line = true
ij_java_keep_first_column_comment = true
ij_java_keep_indents_on_empty_lines = false
ij_java_keep_line_breaks = true
ij_java_keep_multiple_expressions_in_one_line = false
ij_java_keep_simple_blocks_in_one_line = false
ij_java_keep_simple_classes_in_one_line = false
ij_java_keep_simple_lambdas_in_one_line = false
ij_java_keep_simple_methods_in_one_line = false
ij_java_label_indent_absolute = false
ij_java_label_indent_size = 0
ij_java_lambda_brace_style = end_of_line
ij_java_layout_static_imports_separately = true
ij_java_line_comment_add_space = false
ij_java_line_comment_add_space_on_reformat = false
ij_java_line_comment_at_first_column = true
ij_java_message_dd_suffix = EJB
ij_java_message_eb_suffix = Bean
ij_java_method_annotation_wrap = split_into_lines
ij_java_method_brace_style = end_of_line
ij_java_method_call_chain_wrap = normal
ij_java_method_parameters_new_line_after_left_paren = false
ij_java_method_parameters_right_paren_on_new_line = false
ij_java_method_parameters_wrap = normal
ij_java_modifier_list_wrap = false
ij_java_multi_catch_types_wrap = normal
ij_java_names_count_to_use_import_on_demand = 999
ij_java_new_line_after_lparen_in_annotation = false
ij_java_new_line_after_lparen_in_record_header = false
ij_java_parameter_annotation_wrap = normal
ij_java_parentheses_expression_new_line_after_left_paren = false
ij_java_parentheses_expression_right_paren_on_new_line = false
ij_java_place_assignment_sign_on_next_line = false
ij_java_prefer_longer_names = true
ij_java_prefer_parameters_wrap = false
ij_java_record_components_wrap = normal
ij_java_repeat_synchronized = true
ij_java_replace_instanceof_and_cast = false
ij_java_replace_null_check = true
ij_java_replace_sum_lambda_with_method_ref = true
ij_java_resource_list_new_line_after_left_paren = false
ij_java_resource_list_right_paren_on_new_line = false
ij_java_resource_list_wrap = normal
ij_java_rparen_on_new_line_in_annotation = false
ij_java_rparen_on_new_line_in_record_header = false
ij_java_session_dd_suffix = EJB
ij_java_session_eb_suffix = Bean
ij_java_session_hi_suffix = Home
ij_java_session_lhi_prefix = Local
ij_java_session_lhi_suffix = Home
ij_java_session_li_prefix = Local
ij_java_session_si_suffix = Service
ij_java_space_after_closing_angle_bracket_in_type_argument = false
ij_java_space_after_colon = true
ij_java_space_after_comma = true
ij_java_space_after_comma_in_type_arguments = true
ij_java_space_after_for_semicolon = true
ij_java_space_after_quest = true
ij_java_space_after_type_cast = true
ij_java_space_before_annotation_array_initializer_left_brace = false
ij_java_space_before_annotation_parameter_list = false
ij_java_space_before_array_initializer_left_brace = true
ij_java_space_before_catch_keyword = true
ij_java_space_before_catch_left_brace = true
ij_java_space_before_catch_parentheses = true
ij_java_space_before_class_left_brace = true
ij_java_space_before_colon = true
ij_java_space_before_colon_in_foreach = true
ij_java_space_before_comma = false
ij_java_space_before_do_left_brace = true
ij_java_space_before_else_keyword = true
ij_java_space_before_else_left_brace = true
ij_java_space_before_finally_keyword = true
ij_java_space_before_finally_left_brace = true
ij_java_space_before_for_left_brace = true
ij_java_space_before_for_parentheses = true
ij_java_space_before_for_semicolon = false
ij_java_space_before_if_left_brace = true
ij_java_space_before_if_parentheses = true
ij_java_space_before_method_call_parentheses = false
ij_java_space_before_method_left_brace = true
ij_java_space_before_method_parentheses = false
ij_java_space_before_opening_angle_bracket_in_type_parameter = false
ij_java_space_before_quest = true
ij_java_space_before_switch_left_brace = true
ij_java_space_before_switch_parentheses = true
ij_java_space_before_synchronized_left_brace = true
ij_java_space_before_synchronized_parentheses = true
ij_java_space_before_try_left_brace = true
ij_java_space_before_try_parentheses = true
ij_java_space_before_type_parameter_list = false
ij_java_space_before_while_keyword = true
ij_java_space_before_while_left_brace = true
ij_java_space_before_while_parentheses = true
ij_java_space_inside_one_line_enum_braces = false
ij_java_space_within_empty_array_initializer_braces = false
ij_java_space_within_empty_method_call_parentheses = false
ij_java_space_within_empty_method_parentheses = false
ij_java_spaces_around_additive_operators = true
ij_java_spaces_around_annotation_eq = true
ij_java_spaces_around_assignment_operators = true
ij_java_spaces_around_bitwise_operators = true
ij_java_spaces_around_equality_operators = true
ij_java_spaces_around_lambda_arrow = true
ij_java_spaces_around_logical_operators = true
ij_java_spaces_around_method_ref_dbl_colon = false
ij_java_spaces_around_multiplicative_operators = true
ij_java_spaces_around_relational_operators = true
ij_java_spaces_around_shift_operators = true
ij_java_spaces_around_type_bounds_in_type_parameters = true
ij_java_spaces_around_unary_operator = false
ij_java_spaces_within_angle_brackets = false
ij_java_spaces_within_annotation_parentheses = false
ij_java_spaces_within_array_initializer_braces = false
ij_java_spaces_within_braces = false
ij_java_spaces_within_brackets = false
ij_java_spaces_within_cast_parentheses = false
ij_java_spaces_within_catch_parentheses = false
ij_java_spaces_within_for_parentheses = false
ij_java_spaces_within_if_parentheses = false
ij_java_spaces_within_method_call_parentheses = false
ij_java_spaces_within_method_parentheses = false
ij_java_spaces_within_parentheses = false
ij_java_spaces_within_record_header = false
ij_java_spaces_within_switch_parentheses = false
ij_java_spaces_within_synchronized_parentheses = false
ij_java_spaces_within_try_parentheses = false
ij_java_spaces_within_while_parentheses = false
ij_java_special_else_if_treatment = true
ij_java_subclass_name_suffix = Impl
ij_java_ternary_operation_signs_on_next_line = false
ij_java_ternary_operation_wrap = normal
ij_java_test_name_suffix = Test
ij_java_throws_keyword_wrap = normal
ij_java_throws_list_wrap = normal
ij_java_use_external_annotations = false
ij_java_use_fq_class_names = false
ij_java_use_relative_indents = false
ij_java_use_single_class_imports = true
ij_java_variable_annotation_wrap = normal
ij_java_visibility = public
ij_java_while_brace_force = always
ij_java_while_on_new_line = false
ij_java_wrap_comments = false
ij_java_wrap_first_method_in_call_chain = false
ij_java_wrap_long_lines = false
[*.md]
insert_final_newline = false
trim_trailing_whitespace = false
[*.yaml]
indent_size = 2
[*.yml]
indent_size = 2

4
.github/CODEOWNERS vendored
View file

@ -14,5 +14,5 @@
# TESTS
/kafka-ui-e2e-checks/ @provectus/kafka-qa
# HELM CHARTS
/charts/ @provectus/kafka-devops
# INFRA
/.github/workflows/ @provectus/kafka-devops

92
.github/ISSUE_TEMPLATE/bug.yml vendored Normal file
View file

@ -0,0 +1,92 @@
name: "\U0001F41E Bug report"
description: File a bug report
labels: ["status/triage", "type/bug"]
assignees: []
body:
- type: markdown
attributes:
value: |
Hi, thanks for raising the issue(-s), all contributions really matter!
Please, note that we'll close the issue without further explanation if you don't follow
this template and don't provide the information requested within this template.
- type: checkboxes
id: terms
attributes:
label: Issue submitter TODO list
description: By you checking these checkboxes we can be sure you've done the essential things.
options:
- label: I've looked up my issue in [FAQ](https://docs.kafka-ui.provectus.io/faq/common-problems)
required: true
- label: I've searched for an already existing issues [here](https://github.com/provectus/kafka-ui/issues)
required: true
- label: I've tried running `master`-labeled docker image and the issue still persists there
required: true
- label: I'm running a supported version of the application which is listed [here](https://github.com/provectus/kafka-ui/blob/master/SECURITY.md)
required: true
- type: textarea
attributes:
label: Describe the bug (actual behavior)
description: A clear and concise description of what the bug is. Use a list, if there is more than one problem
validations:
required: true
- type: textarea
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen
validations:
required: false
- type: textarea
attributes:
label: Your installation details
description: |
How do you run the app? Please provide as much info as possible:
1. App version (commit hash in the top left corner of the UI)
2. Helm chart version, if you use one
3. Your application config. Please remove the sensitive info like passwords or API keys.
4. Any IAAC configs
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
description: |
Please write down the order of the actions required to reproduce the issue.
For the advanced setups/complicated issue, we might need you to provide
a minimal [reproducible example](https://stackoverflow.com/help/minimal-reproducible-example).
validations:
required: true
- type: textarea
attributes:
label: Screenshots
description: |
If applicable, add screenshots to help explain your problem
validations:
required: false
- type: textarea
attributes:
label: Logs
description: |
If applicable, *upload* screenshots to help explain your problem
validations:
required: false
- type: textarea
attributes:
label: Additional context
description: |
Add any other context about the problem here. E.G.:
1. Are there any alternative scenarios (different data/methods/configuration/setup) you have tried?
Were they successful or the same issue occurred? Please provide steps as well.
2. Related issues (if there are any).
3. Logs (if available)
4. Is there any serious impact or behaviour on the end-user because of this issue, that can be overlooked?
validations:
required: false

View file

@ -1,40 +0,0 @@
---
name: "\U0001F41E Bug report"
about: Create a bug report
title: ''
labels: status/triage, type/bug
assignees: ''
---
**Describe the bug**
<!--(A clear and concise description of what the bug is.)-->
**Set up**
<!--
(How do you run the app?
Which version of the app are you running? Provide either docker image version or check commit hash at the top left corner. We won't be able to help you without this information.)
-->
**Steps to Reproduce**
Steps to reproduce the behavior:
1.
**Expected behavior**
<!--
(A clear and concise description of what you expected to happen)
-->
**Screenshots**
<!--
(If applicable, add screenshots to help explain your problem)
-->
**Additional context**
<!--
(Add any other context about the problem here)
-->

14
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View file

@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: Report helm issue
url: https://github.com/provectus/kafka-ui-charts
about: Our helm charts are located in another repo. Please raise issues/PRs regarding charts in that repo.
- name: Official documentation
url: https://docs.kafka-ui.provectus.io/
about: Before reaching out for support, please refer to our documentation. Read "FAQ" and "Common problems", also try using search there.
- name: Community Discord
url: https://discord.gg/4DWzD7pGE5
about: Chat with other users, get some support or ask questions.
- name: GitHub Discussions
url: https://github.com/provectus/kafka-ui/discussions
about: An alternative place to ask questions or to get some support.

66
.github/ISSUE_TEMPLATE/feature.yml vendored Normal file
View file

@ -0,0 +1,66 @@
name: "\U0001F680 Feature request"
description: Propose a new feature
labels: ["status/triage", "type/feature"]
assignees: []
body:
- type: markdown
attributes:
value: |
Hi, thanks for raising the issue(-s), all contributions really matter!
Please, note that we'll close the issue without further explanation if you don't follow
this template and don't provide the information requested within this template.
- type: checkboxes
id: terms
attributes:
label: Issue submitter TODO list
description: By you checking these checkboxes we can be sure you've done the essential things.
options:
- label: I've searched for an already existing issues [here](https://github.com/provectus/kafka-ui/issues)
required: true
- label: I'm running a supported version of the application which is listed [here](https://github.com/provectus/kafka-ui/blob/master/SECURITY.md) and the feature is not present there
required: true
- type: textarea
attributes:
label: Is your proposal related to a problem?
description: |
Provide a clear and concise description of what the problem is.
For example, "I'm always frustrated when..."
validations:
required: false
- type: textarea
attributes:
label: Describe the feature you're interested in
description: |
Provide a clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Describe alternatives you've considered
description: |
Let us know about other solutions you've tried or researched.
validations:
required: false
- type: input
attributes:
label: Version you're running
description: |
Please provide the app version you're currently running:
1. App version (commit hash in the top left corner of the UI)
validations:
required: true
- type: textarea
attributes:
label: Additional context
description: |
Is there anything else you can add about the proposal?
You might want to link to related issues here, if you haven't already.
validations:
required: false

View file

@ -1,35 +0,0 @@
---
name: "\U0001F680 Feature request"
about: Propose a new feature
title: ''
labels: status/triage, type/feature
assignees: ''
---
### Is your proposal related to a problem?
<!--
Provide a clear and concise description of what the problem is.
For example, "I'm always frustrated when..."
-->
### Describe the solution you'd like
<!--
Provide a clear and concise description of what you want to happen.
-->
### Describe alternatives you've considered
<!--
Let us know about other solutions you've tried or researched.
-->
### Additional context
<!--
Is there anything else you can add about the proposal?
You might want to link to related issues here, if you haven't already.
-->

View file

@ -1,40 +0,0 @@
---
name: "⎈ K8s/Helm problem report"
about: Report a problem with k8s/helm charts/etc
title: ''
labels: scope/k8s, status/triage
assignees: azatsafin, 5hin0bi
---
**Describe the bug**
<!--(A clear and concise description of what the bug is.)-->
**Set up**
<!--
(How do you run the app?
Which version of the app are you running? Provide either docker image version or check commit hash at the top left corner. We won't be able to help you without this information.)
-->
**Steps to Reproduce**
Steps to reproduce the behavior:
1.
**Expected behavior**
<!--
(A clear and concise description of what you expected to happen)
-->
**Screenshots**
<!--
(If applicable, add screenshots to help explain your problem)
-->
**Additional context**
<!--
(Add any other context about the problem here)
-->

View file

@ -8,8 +8,6 @@ updates:
timezone: Europe/Moscow
reviewers:
- "Haarolean"
assignees:
- "Haarolean"
labels:
- "scope/backend"
- "type/dependencies"
@ -99,8 +97,6 @@ updates:
timezone: Europe/Moscow
reviewers:
- "Haarolean"
assignees:
- "Haarolean"
labels:
- "scope/infrastructure"
- "type/dependencies"

View file

@ -9,21 +9,33 @@ template: |
exclude-labels:
- 'scope/infrastructure'
- 'scope/QA'
- 'scope/AQA'
- 'type/dependencies'
- 'type/chore'
- 'type/documentation'
- 'type/refactoring'
categories:
- title: '🚩 Breaking Changes'
labels:
- 'impact/changelog'
- title: '⚙Features'
labels:
- 'type/feature'
- title: '🪛Enhancements'
labels:
- 'type/enhancement'
- title: '🔨Bug Fixes'
labels:
- 'type/bug'
- title: 'Security'
labels:
- 'type/security'
- title: '⎈ Helm/K8S Changes'
labels:
- 'scope/k8s'

View file

@ -1,4 +1,4 @@
name: AWS Marketplace Publisher
name: "Infra: Release: AWS Marketplace Publisher"
on:
workflow_dispatch:
inputs:
@ -10,6 +10,11 @@ on:
description: 'Version of KafkaUI'
required: true
default: '0.3.2'
PublishOnMarketplace:
description: 'If set to true, the request to update AWS Server product version will be raised'
required: true
default: false
type: boolean
jobs:
build-ami:
@ -19,14 +24,14 @@ jobs:
- name: Clone infra repo
run: |
echo "Cloning repo..."
git clone https://kafka-ui-infra:${{ secrets.KAFKA_UI_INFRA_TOKEN }}@gitlab.provectus.com/provectus-internals/kafka-ui-infra.git --branch ${{ github.event.inputs.KafkaUIInfraBranch }}
git clone https://infra-tech:${{ secrets.INFRA_USER_ACCESS_TOKEN }}@github.com/provectus/kafka-ui-infra.git --branch ${{ github.event.inputs.KafkaUIInfraBranch }}
echo "Cd to packer DIR..."
cd kafka-ui-infra/ami
echo "WORK_DIR=$(pwd)" >> $GITHUB_ENV
echo "Packer will be triggered in this dir $WORK_DIR"
- name: Configure AWS credentials for Kafka-UI account
uses: aws-actions/configure-aws-credentials@v1
uses: aws-actions/configure-aws-credentials@v3
with:
aws-access-key-id: ${{ secrets.AWS_AMI_PUBLISH_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_AMI_PUBLISH_KEY_SECRET }}
@ -46,6 +51,27 @@ jobs:
with:
command: build
arguments: "-color=false -on-error=abort -var=kafka_ui_release_version=${{ github.event.inputs.KafkaUIReleaseVersion }}"
target: kafka-ui-infra/ami/kafka-ui.pkr.hcl
target: kafka-ui.pkr.hcl
working_directory: ${{ env.WORK_DIR }}
env:
PACKER_LOG: 1
# add fresh AMI to AWS Marketplace
- name: Publish Artifact at Marketplace
if: ${{ github.event.inputs.PublishOnMarketplace == 'true' }}
env:
PRODUCT_ID: ${{ secrets.AWS_SERVER_PRODUCT_ID }}
RELEASE_VERSION: "${{ github.event.inputs.KafkaUIReleaseVersion }}"
RELEASE_NOTES: "https://github.com/provectus/kafka-ui/releases/tag/v${{ github.event.inputs.KafkaUIReleaseVersion }}"
MP_ROLE_ARN: ${{ secrets.AWS_MARKETPLACE_AMI_ACCESS_ROLE }} # https://docs.aws.amazon.com/marketplace/latest/userguide/ami-single-ami-products.html#single-ami-marketplace-ami-access
AMI_OS_VERSION: "amzn2-ami-kernel-5.10-hvm-*-x86_64-gp2"
run: |
set -x
pwd
ls -la kafka-ui-infra/ami
echo $WORK_DIR/manifest.json
export AMI_ID=$(jq -r '.builds[-1].artifact_id' kafka-ui-infra/ami/manifest.json | cut -d ":" -f2)
/bin/bash kafka-ui-infra/aws-marketplace/prepare_changeset.sh > changeset.json
aws marketplace-catalog start-change-set \
--catalog "AWSMarketplace" \
--change-set "$(cat changeset.json)"

View file

@ -1,4 +1,4 @@
name: backend
name: "Backend: PR/master build & test"
on:
push:
branches:
@ -8,49 +8,49 @@ on:
paths:
- "kafka-ui-api/**"
- "pom.xml"
permissions:
checks: write
pull-requests: write
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- name: Cache local Maven repository
uses: actions/cache@v2
- name: Set up JDK
uses: actions/setup-java@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK 1.13
uses: actions/setup-java@v1
with:
java-version: 1.13
java-version: '17'
distribution: 'zulu'
cache: 'maven'
- name: Cache SonarCloud packages
uses: actions/cache@v1
uses: actions/cache@v3
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Build and analyze pull request target
if: ${{ github.event_name == 'pull_request_target' }}
if: ${{ github.event_name == 'pull_request' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN_BACKEND }}
HEAD_REF: ${{ github.head_ref }}
BASE_REF: ${{ github.base_ref }}
run: |
mvn versions:set -DnewVersion=${{ github.event.pull_request.head.sha }}
mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
./mvnw -B -ntp versions:set -DnewVersion=${{ github.event.pull_request.head.sha }}
./mvnw -B -V -ntp verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
-Dsonar.projectKey=com.provectus:kafka-ui_backend \
-Dsonar.pullrequest.key=${{ github.event.pull_request.number }} \
-Dsonar.pullrequest.branch=${{ github.head_ref }} \
-Dsonar.pullrequest.base=${{ github.base_ref }}
-Dsonar.pullrequest.branch=$HEAD_REF \
-Dsonar.pullrequest.base=$BASE_REF
- name: Build and analyze push master
if: ${{ github.event_name == 'push' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN_BACKEND }}
run: |
mvn versions:set -DnewVersion=$GITHUB_SHA
mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
./mvnw -B -ntp versions:set -DnewVersion=$GITHUB_SHA
./mvnw -B -V -ntp verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
-Dsonar.projectKey=com.provectus:kafka-ui_backend

View file

@ -1,4 +1,4 @@
name: Pull Request Labels
name: "Infra: PR block merge"
on:
pull_request:
types: [opened, labeled, unlabeled, synchronize]
@ -6,7 +6,7 @@ jobs:
block_merge:
runs-on: ubuntu-latest
steps:
- uses: mheap/github-action-required-labels@v1
- uses: mheap/github-action-required-labels@v5
with:
mode: exactly
count: 0

View file

@ -1,4 +1,4 @@
name: DeployFromBranch
name: "Infra: Feature Testing: Init env"
on:
workflow_dispatch:
@ -9,50 +9,43 @@ jobs:
if: ${{ github.event.label.name == 'status/feature_testing' || github.event.label.name == 'status/feature_testing_public' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: get branch name
id: extract_branch
run: |
hub pr checkout ${{ github.event.pull_request.number }}
branch_name=$(hub branch | grep "*" | sed -e 's/^\*//')
echo $branch_name
echo ::set-output name=branch::${branch_name}
tag=$(echo $branch_name | sed 's/\//-/g' | sed 's/\./-/g' | sed 's/\_/-/g' | sed -e 's/\(.*\)/\L\1/' | cut -c1-32 | sed -E 's/(^[^a-z0-9])*([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)([^a-z0-9]*)/\2/')
echo ::set-output name=tag::${tag}
tag='pr${{ github.event.pull_request.number }}'
echo "tag=${tag}" >> $GITHUB_OUTPUT
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Cache local Maven repository
uses: actions/cache@v2
- name: Set up JDK
uses: actions/setup-java@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK 1.13
uses: actions/setup-java@v1
with:
java-version: 1.13
java-version: '17'
distribution: 'zulu'
cache: 'maven'
- name: Build
id: build
run: |
mvn versions:set -DnewVersion=$GITHUB_SHA
mvn clean package -Pprod -DskipTests
export VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
echo "::set-output name=version::${VERSION}"
./mvnw -B -ntp versions:set -DnewVersion=$GITHUB_SHA
./mvnw -B -V -ntp clean package -Pprod -DskipTests
export VERSION=$(./mvnw -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
echo "version=${VERSION}" >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v2
- name: Cache Docker layers
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Configure AWS credentials for Kafka-UI account
uses: aws-actions/configure-aws-credentials@v1
uses: aws-actions/configure-aws-credentials@v3
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@ -62,7 +55,7 @@ jobs:
uses: aws-actions/amazon-ecr-login@v1
- name: Build and push
id: docker_build_and_push
uses: docker/build-push-action@v2
uses: docker/build-push-action@v4
with:
builder: ${{ steps.buildx.outputs.name }}
context: kafka-ui-api
@ -80,29 +73,33 @@ jobs:
steps:
- name: clone
run: |
git clone https://kafka-ui-infra:${{ secrets.KAFKA_UI_INFRA_TOKEN }}@gitlab.provectus.com/provectus-internals/kafka-ui-infra.git
git clone https://infra-tech:${{ secrets.INFRA_USER_ACCESS_TOKEN }}@github.com/provectus/kafka-ui-infra.git --branch envs
- name: create deployment
run: |
cd kafka-ui-infra/aws-infrastructure4eks/argocd/scripts
echo "Branch:${{ needs.build.outputs.tag }}"
./kafka-ui-deployment-from-branch.sh ${{ needs.build.outputs.tag }} ${{ github.event.label.name }} ${{ secrets.FEATURE_TESTING_UI_PASSWORD }}
git config --global user.email "kafka-ui-infra@provectus.com"
git config --global user.name "kafka-ui-infra"
git config --global user.email "infra-tech@provectus.com"
git config --global user.name "infra-tech"
git add ../kafka-ui-from-branch/
git commit -m "added env:${{ needs.build.outputs.deploy }}" && git push || true
- name: make comment with private deployment link
- name: update status check for private deployment
if: ${{ github.event.label.name == 'status/feature_testing' }}
uses: peter-evans/create-or-update-comment@v2
uses: Sibz/github-status-action@v1.1.6
with:
issue-number: ${{ github.event.pull_request.number }}
body: |
Custom deployment will be available at http://${{ needs.build.outputs.tag }}.internal.kafka-ui.provectus.io
authToken: ${{secrets.GITHUB_TOKEN}}
context: "Click Details button to open custom deployment page"
state: "success"
sha: ${{ github.event.pull_request.head.sha || github.sha }}
target_url: "http://${{ needs.build.outputs.tag }}.internal.kafka-ui.provectus.io"
- name: make comment with public deployment link
- name: update status check for public deployment
if: ${{ github.event.label.name == 'status/feature_testing_public' }}
uses: peter-evans/create-or-update-comment@v2
uses: Sibz/github-status-action@v1.1.6
with:
issue-number: ${{ github.event.pull_request.number }}
body: |
Custom deployment will be available at http://${{ needs.build.outputs.tag }}.kafka-ui.provectus.io in 5 minutes
authToken: ${{secrets.GITHUB_TOKEN}}
context: "Click Details button to open custom deployment page"
state: "success"
sha: ${{ github.event.pull_request.head.sha || github.sha }}
target_url: "http://${{ needs.build.outputs.tag }}.internal.kafka-ui.provectus.io"

View file

@ -1,40 +1,22 @@
name: RemoveCustomDeployment
name: "Infra: Feature Testing: Destroy env"
on:
workflow_dispatch:
pull_request:
types: ['unlabeled', 'closed']
jobs:
remove:
if: ${{ github.event.label.name == 'status/feature_testing' || github.event.label.name == 'status/feature_testing_public' }}
runs-on: ubuntu-latest
if: ${{ (github.event.label.name == 'status/feature_testing' || github.event.label.name == 'status/feature_testing_public') || (github.event.action == 'closed' && (contains(github.event.pull_request.labels.*.name, 'status/feature_testing') || contains(github.event.pull_request.labels.*.name, 'status/feature_testing_public'))) }}
steps:
- uses: actions/checkout@v2
- name: get branch name
id: extract_branch
run: |
hub pr checkout ${{ github.event.pull_request.number }}
branch_name=$(hub branch | grep "*" | sed -e 's/^\*//')
echo $branch_name
echo ::set-output name=branch::${branch_name}
tag=$(echo $branch_name | sed 's/\//-/g' | sed 's/\./-/g' | sed 's/\_/-/g' | cut -c1-32)
echo ::set-output name=tag::${tag}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v3
- name: clone
run: |
git clone https://kafka-ui-infra:${{ secrets.KAFKA_UI_INFRA_TOKEN }}@gitlab.provectus.com/provectus-internals/kafka-ui-infra.git
git clone https://infra-tech:${{ secrets.INFRA_USER_ACCESS_TOKEN }}@github.com/provectus/kafka-ui-infra.git --branch envs
- name: remove env
run: |
cd kafka-ui-infra/aws-infrastructure4eks/argocd/scripts
echo "Branch:${{ steps.extract_branch.outputs.tag }}"
./delete-env.sh ${{ steps.extract_branch.outputs.tag }}
git config --global user.email "kafka-ui-infra@provectus.com"
git config --global user.name "kafka-ui-infra"
./delete-env.sh pr${{ github.event.pull_request.number }} || true
git config --global user.email "infra-tech@provectus.com"
git config --global user.name "infra-tech"
git add ../kafka-ui-from-branch/
git commit -m "removed env:${{ needs.build.outputs.deploy }}" && git push || true
- name: make comment with deployment link
uses: peter-evans/create-or-update-comment@v2
with:
issue-number: ${{ github.event.pull_request.number }}
body: |
Custom deployment removed

View file

@ -0,0 +1,74 @@
name: "Infra: Image Testing: Deploy"
on:
workflow_dispatch:
pull_request:
types: ['labeled']
jobs:
build:
if: ${{ github.event.label.name == 'status/image_testing' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: get branch name
id: extract_branch
run: |
tag='${{ github.event.pull_request.number }}'
echo "tag=${tag}" >> $GITHUB_OUTPUT
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'
- name: Build
id: build
run: |
./mvnw -B -ntp versions:set -DnewVersion=$GITHUB_SHA
./mvnw -B -V -ntp clean package -Pprod -DskipTests
export VERSION=$(./mvnw -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
echo "version=${VERSION}" >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Configure AWS credentials for Kafka-UI account
uses: aws-actions/configure-aws-credentials@v3
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
with:
registry-type: 'public'
- name: Build and push
id: docker_build_and_push
uses: docker/build-push-action@v4
with:
builder: ${{ steps.buildx.outputs.name }}
context: kafka-ui-api
push: true
tags: public.ecr.aws/provectus/kafka-ui-custom-build:${{ steps.extract_branch.outputs.tag }}
build-args: |
JAR_FILE=kafka-ui-api-${{ steps.build.outputs.version }}.jar
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
- name: make comment with private deployment link
uses: peter-evans/create-or-update-comment@v3
with:
issue-number: ${{ github.event.pull_request.number }}
body: |
Image published at public.ecr.aws/provectus/kafka-ui-custom-build:${{ steps.extract_branch.outputs.tag }}
outputs:
tag: ${{ steps.extract_branch.outputs.tag }}

View file

@ -20,6 +20,8 @@ on:
paths:
- 'kafka-ui-contract/**'
- 'kafka-ui-react-app/**'
- 'kafka-ui-api/**'
- 'kafka-ui-serde-api/**'
schedule:
- cron: '39 15 * * 6'
@ -31,18 +33,18 @@ jobs:
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
language: [ 'javascript', 'java' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v3
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@ -50,10 +52,17 @@ jobs:
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
uses: github/codeql-action/autobuild@v2
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@ -67,4 +76,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v2

View file

@ -8,37 +8,31 @@ jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Cache local Maven repository
uses: actions/cache@v2
- name: Set up JDK
uses: actions/setup-java@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK 1.13
uses: actions/setup-java@v1
with:
java-version: 1.13
java-version: '17'
distribution: 'zulu'
cache: 'maven'
- name: Build project
id: build
run: |
mvn versions:set -DnewVersion=$GITHUB_SHA
mvn clean package -DskipTests
export VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
echo "::set-output name=version::${VERSION}"
./mvnw -B -ntp versions:set -DnewVersion=$GITHUB_SHA
./mvnw -B -V -ntp clean package -DskipTests
export VERSION=$(./mvnw -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
echo "version=${VERSION}" >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v2
- name: Cache Docker layers
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
@ -46,7 +40,7 @@ jobs:
${{ runner.os }}-buildx-
- name: Build docker image
uses: docker/build-push-action@v2
uses: docker/build-push-action@v4
with:
builder: ${{ steps.buildx.outputs.name }}
context: kafka-ui-api
@ -61,7 +55,7 @@ jobs:
cache-to: type=local,dest=/tmp/.buildx-cache
- name: Run CVE checks
uses: aquasecurity/trivy-action@0.2.3
uses: aquasecurity/trivy-action@0.12.0
with:
image-ref: "provectuslabs/kafka-ui:${{ steps.build.outputs.version }}"
format: "table"

View file

@ -0,0 +1,34 @@
name: "Infra: Image Testing: Delete"
on:
workflow_dispatch:
pull_request:
types: ['unlabeled', 'closed']
jobs:
remove:
if: ${{ github.event.label.name == 'status/image_testing' || ( github.event.action == 'closed' && (contains(github.event.pull_request.labels, 'status/image_testing'))) }}
runs-on: ubuntu-latest
steps:
- name: get branch name
id: extract_branch
run: |
echo
tag='${{ github.event.pull_request.number }}'
echo "tag=${tag}" >> $GITHUB_OUTPUT
- name: Configure AWS credentials for Kafka-UI account
uses: aws-actions/configure-aws-credentials@v3
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
with:
registry-type: 'public'
- name: Remove from ECR
id: remove_from_ecr
run: |
aws ecr-public batch-delete-image \
--repository-name kafka-ui-custom-build \
--image-ids imageTag=${{ steps.extract_branch.outputs.tag }} \
--region us-east-1

View file

@ -1,4 +1,4 @@
name: Documentation
name: "Infra: Docs: URL linter"
on:
pull_request:
types:
@ -13,11 +13,11 @@ jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Check URLs in files
uses: urlstechie/urlchecker-action@0.2.31
uses: urlstechie/urlchecker-action@0.0.34
with:
exclude_patterns: localhost,127.0.,192.168.
exclude_urls: https://api.server,https://graph.microsoft.com/User.Read,https://dev-a63ggcut.auth0.com/
exclude_urls: https://api.server,https://graph.microsoft.com/User.Read,https://dev-a63ggcut.auth0.com/,http://main-schema-registry:8081,http://schema-registry:8081,http://another-yet-schema-registry:8081,http://another-schema-registry:8081
print_all: false
file_types: .md

88
.github/workflows/e2e-automation.yml vendored Normal file
View file

@ -0,0 +1,88 @@
name: "E2E: Automation suite"
on:
workflow_dispatch:
inputs:
test_suite:
description: 'Select test suite to run'
default: 'regression'
required: true
type: choice
options:
- regression
- sanity
- smoke
qase_token:
description: 'Set Qase token to enable integration'
required: false
type: string
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.sha }}
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v3
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: eu-central-1
- name: Set up environment
id: set_env_values
run: |
cat "./kafka-ui-e2e-checks/.env.ci" >> "./kafka-ui-e2e-checks/.env"
- name: Pull with Docker
id: pull_chrome
run: |
docker pull selenoid/vnc_chrome:103.0
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'
- name: Build with Maven
id: build_app
run: |
./mvnw -B -ntp versions:set -DnewVersion=${{ github.sha }}
./mvnw -B -V -ntp clean install -Pprod -Dmaven.test.skip=true ${{ github.event.inputs.extraMavenOptions }}
- name: Compose with Docker
id: compose_app
# use the following command until #819 will be fixed
run: |
docker-compose -f kafka-ui-e2e-checks/docker/selenoid-git.yaml up -d
docker-compose -f ./documentation/compose/e2e-tests.yaml up -d
- name: Run test suite
run: |
./mvnw -B -ntp versions:set -DnewVersion=${{ github.sha }}
./mvnw -B -V -ntp -DQASEIO_API_TOKEN=${{ github.event.inputs.qase_token }} -Dsurefire.suiteXmlFiles='src/test/resources/${{ github.event.inputs.test_suite }}.xml' -Dsuite=${{ github.event.inputs.test_suite }} -f 'kafka-ui-e2e-checks' test -Pprod
- name: Generate Allure report
uses: simple-elf/allure-report-action@master
if: always()
id: allure-report
with:
allure_results: ./kafka-ui-e2e-checks/allure-results
gh_pages: allure-results
allure_report: allure-report
subfolder: allure-results
report_url: "http://kafkaui-allure-reports.s3-website.eu-central-1.amazonaws.com"
- uses: jakejarvis/s3-sync-action@master
if: always()
env:
AWS_S3_BUCKET: 'kafkaui-allure-reports'
AWS_REGION: 'eu-central-1'
SOURCE_DIR: 'allure-history/allure-results'
- name: Deploy report to Amazon S3
if: always()
uses: Sibz/github-status-action@v1.1.6
with:
authToken: ${{secrets.GITHUB_TOKEN}}
context: "Click Details button to open Allure report"
state: "success"
sha: ${{ github.sha }}
target_url: http://kafkaui-allure-reports.s3-website.eu-central-1.amazonaws.com/${{ github.run_number }}
- name: Dump Docker logs on failure
if: failure()
uses: jwalton/gh-docker-logs@v2.2.1

View file

@ -1,53 +1,57 @@
name: e2e-checks
name: "E2E: PR healthcheck"
on:
pull_request_target:
types: ["opened", "edited", "reopened", "synchronize"]
types: [ "opened", "edited", "reopened", "synchronize" ]
paths:
- "kafka-ui-api/**"
- "kafka-ui-contract/**"
- "kafka-ui-react-app/**"
- "kafka-ui-e2e-checks/**"
- "pom.xml"
permissions:
statuses: write
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Cache local Maven repository
uses: actions/cache@v2
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set the values
aws-access-key-id: ${{ secrets.S3_AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.S3_AWS_SECRET_ACCESS_KEY }}
aws-region: eu-central-1
- name: Set up environment
id: set_env_values
run: |
cat "./kafka-ui-e2e-checks/.env.ci" >> "./kafka-ui-e2e-checks/.env"
- name: pull docker
id: pull_selenoid
- name: Pull with Docker
id: pull_chrome
run: |
docker pull selenoid/vnc:chrome_86.0
- name: Set up JDK 1.13
uses: actions/setup-java@v1
docker pull selenoid/vnc_chrome:103.0
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: 1.13
java-version: '17'
distribution: 'zulu'
cache: 'maven'
- name: Build with Maven
id: build_app
run: |
mvn versions:set -DnewVersion=${{ github.event.pull_request.head.sha }}
mvn clean package -DskipTests ${{ github.event.inputs.extraMavenOptions }}
- name: compose app
./mvnw -B -ntp versions:set -DnewVersion=${{ github.event.pull_request.head.sha }}
./mvnw -B -V -ntp clean install -Pprod -Dmaven.test.skip=true ${{ github.event.inputs.extraMavenOptions }}
- name: Compose with Docker
id: compose_app
# use the following command until #819 will be fixed
run: |
docker-compose -f ./documentation/compose/kafka-ui-connectors.yaml up -d
- name: e2e run
docker-compose -f kafka-ui-e2e-checks/docker/selenoid-git.yaml up -d
docker-compose -f ./documentation/compose/e2e-tests.yaml up -d && until [ "$(docker exec kafka-ui wget --spider --server-response http://localhost:8080/actuator/health 2>&1 | grep -c 'HTTP/1.1 200 OK')" == "1" ]; do echo "Waiting for kafka-ui ..." && sleep 1; done
- name: Run test suite
run: |
mvn versions:set -DnewVersion=${{ github.event.pull_request.head.sha }}
mvn -pl '!kafka-ui-api' test -Pprod
./mvnw -B -ntp versions:set -DnewVersion=${{ github.event.pull_request.head.sha }}
./mvnw -B -V -ntp -Dsurefire.suiteXmlFiles='src/test/resources/smoke.xml' -f 'kafka-ui-e2e-checks' test -Pprod
- name: Generate allure report
uses: simple-elf/allure-report-action@master
if: always()
@ -57,23 +61,22 @@ jobs:
gh_pages: allure-results
allure_report: allure-report
subfolder: allure-results
- name: Deploy allure report to Github Pages
report_url: "http://kafkaui-allure-reports.s3-website.eu-central-1.amazonaws.com"
- uses: jakejarvis/s3-sync-action@master
if: always()
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: allure-history
publish_branch: gh-pages
destination_dir: ./allure
- name: Post the link to allure report
env:
AWS_S3_BUCKET: 'kafkaui-allure-reports'
AWS_REGION: 'eu-central-1'
SOURCE_DIR: 'allure-history/allure-results'
- name: Deploy report to Amazon S3
if: always()
uses: Sibz/github-status-action@v1.1.6
with:
authToken: ${{secrets.GITHUB_TOKEN}}
context: "Test report"
context: "Click Details button to open Allure report"
state: "success"
sha: ${{ github.event.pull_request.head.sha || github.sha }}
target_url: https://${{ github.repository_owner }}.github.io/kafka-ui/allure/allure-results/${{ github.run_number }}
target_url: http://kafkaui-allure-reports.s3-website.eu-central-1.amazonaws.com/${{ github.run_number }}
- name: Dump docker logs on failure
if: failure()
uses: jwalton/gh-docker-logs@v2.2.0
uses: jwalton/gh-docker-logs@v2.2.1

43
.github/workflows/e2e-manual.yml vendored Normal file
View file

@ -0,0 +1,43 @@
name: "E2E: Manual suite"
on:
workflow_dispatch:
inputs:
test_suite:
description: 'Select test suite to run'
default: 'manual'
required: true
type: choice
options:
- manual
- qase
qase_token:
description: 'Set Qase token to enable integration'
required: true
type: string
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.sha }}
- name: Set up environment
id: set_env_values
run: |
cat "./kafka-ui-e2e-checks/.env.ci" >> "./kafka-ui-e2e-checks/.env"
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'
- name: Build with Maven
id: build_app
run: |
./mvnw -B -ntp versions:set -DnewVersion=${{ github.sha }}
./mvnw -B -V -ntp clean install -Pprod -Dmaven.test.skip=true ${{ github.event.inputs.extraMavenOptions }}
- name: Run test suite
run: |
./mvnw -B -ntp versions:set -DnewVersion=${{ github.sha }}
./mvnw -B -V -ntp -DQASEIO_API_TOKEN=${{ github.event.inputs.qase_token }} -Dsurefire.suiteXmlFiles='src/test/resources/${{ github.event.inputs.test_suite }}.xml' -Dsuite=${{ github.event.inputs.test_suite }} -f 'kafka-ui-e2e-checks' test -Pprod

75
.github/workflows/e2e-weekly.yml vendored Normal file
View file

@ -0,0 +1,75 @@
name: "E2E: Weekly suite"
on:
schedule:
- cron: '0 1 * * 1'
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.sha }}
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v3
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: eu-central-1
- name: Set up environment
id: set_env_values
run: |
cat "./kafka-ui-e2e-checks/.env.ci" >> "./kafka-ui-e2e-checks/.env"
- name: Pull with Docker
id: pull_chrome
run: |
docker pull selenoid/vnc_chrome:103.0
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'
- name: Build with Maven
id: build_app
run: |
./mvnw -B -ntp versions:set -DnewVersion=${{ github.sha }}
./mvnw -B -V -ntp clean install -Pprod -Dmaven.test.skip=true ${{ github.event.inputs.extraMavenOptions }}
- name: Compose with Docker
id: compose_app
# use the following command until #819 will be fixed
run: |
docker-compose -f kafka-ui-e2e-checks/docker/selenoid-git.yaml up -d
docker-compose -f ./documentation/compose/e2e-tests.yaml up -d
- name: Run test suite
run: |
./mvnw -B -ntp versions:set -DnewVersion=${{ github.sha }}
./mvnw -B -V -ntp -DQASEIO_API_TOKEN=${{ secrets.QASEIO_API_TOKEN }} -Dsurefire.suiteXmlFiles='src/test/resources/sanity.xml' -Dsuite=weekly -f 'kafka-ui-e2e-checks' test -Pprod
- name: Generate Allure report
uses: simple-elf/allure-report-action@master
if: always()
id: allure-report
with:
allure_results: ./kafka-ui-e2e-checks/allure-results
gh_pages: allure-results
allure_report: allure-report
subfolder: allure-results
report_url: "http://kafkaui-allure-reports.s3-website.eu-central-1.amazonaws.com"
- uses: jakejarvis/s3-sync-action@master
if: always()
env:
AWS_S3_BUCKET: 'kafkaui-allure-reports'
AWS_REGION: 'eu-central-1'
SOURCE_DIR: 'allure-history/allure-results'
- name: Deploy report to Amazon S3
if: always()
uses: Sibz/github-status-action@v1.1.6
with:
authToken: ${{secrets.GITHUB_TOKEN}}
context: "Click Details button to open Allure report"
state: "success"
sha: ${{ github.sha }}
target_url: http://kafkaui-allure-reports.s3-website.eu-central-1.amazonaws.com/${{ github.run_number }}
- name: Dump Docker logs on failure
if: failure()
uses: jwalton/gh-docker-logs@v2.2.1

View file

@ -1,4 +1,4 @@
name: frontend
name: "Frontend: PR/master build & test"
on:
push:
branches:
@ -8,6 +8,9 @@ on:
paths:
- "kafka-ui-contract/**"
- "kafka-ui-react-app/**"
permissions:
checks: write
pull-requests: write
jobs:
build-and-test:
env:
@ -15,40 +18,38 @@ jobs:
NODE_ENV: dev
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
# Disabling shallow clone is recommended for improving relevancy of reporting
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- name: Use Node.js
uses: actions/setup-node@v3.1.1
- uses: pnpm/action-setup@v2.4.0
with:
node-version: "14"
- name: Cache node dependency
uses: actions/cache@v1
version: 8.6.12
- name: Install node
uses: actions/setup-node@v3.8.1
with:
path: kafka-ui-react-app/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
node-version: "18.17.1"
cache: "pnpm"
cache-dependency-path: "./kafka-ui-react-app/pnpm-lock.yaml"
- name: Install Node dependencies
run: |
cd kafka-ui-react-app/
npm install
pnpm install --frozen-lockfile
- name: Generate sources
run: |
cd kafka-ui-react-app/
npm run gen:sources
pnpm gen:sources
- name: Linter
run: |
cd kafka-ui-react-app/
npm run lint:CI
pnpm lint:CI
- name: Tests
run: |
cd kafka-ui-react-app/
npm run test:CI
pnpm test:CI
- name: SonarCloud Scan
uses: workshur/sonarcloud-github-action@improved_basedir
uses: sonarsource/sonarcloud-github-action@master
with:
projectBaseDir: ./kafka-ui-react-app
args: -Dsonar.pullrequest.key=${{ github.event.pull_request.number }} -Dsonar.pullrequest.branch=${{ github.head_ref }} -Dsonar.pullrequest.base=${{ github.base_ref }}

View file

@ -1,32 +0,0 @@
name: Helm
on:
pull_request:
types: [ 'opened', 'edited', 'reopened', 'synchronize' ]
paths:
- "charts/**"
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '0 8 * * 3'
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Helm tool installer
uses: Azure/setup-helm@v1
- name: Setup Kubeval
uses: lra/setup-kubeval@v1.0.1
- name: Run kubeval
shell: bash
run: |
sed -i "s@enabled: false@enabled: true@g" charts/kafka-ui/values.yaml
K8S_VERSIONS=$(git ls-remote --refs --tags https://github.com/kubernetes/kubernetes.git | cut -d/ -f3 | grep -e '^v1\.[0-9]\{2\}\.[0]\{1,2\}$' | grep -v -e '^v1\.1[0-8]\{1\}' | cut -c2-)
echo "NEXT K8S VERSIONS ARE GOING TO BE TESTED: $K8S_VERSIONS"
echo ""
for version in $K8S_VERSIONS
do
echo $version;
helm template charts/kafka-ui -f charts/kafka-ui/values.yaml | kubeval --additional-schema-locations https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master --strict -v $version;
done

View file

@ -1,4 +1,4 @@
name: Master
name: "Master: Build & deploy"
on:
workflow_dispatch:
push:
@ -8,41 +8,37 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Cache local Maven repository
uses: actions/cache@v2
- uses: actions/checkout@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
ref: ${{ github.event.pull_request.head.sha }}
- name: Set up JDK 1.13
uses: actions/setup-java@v1
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: 1.13
java-version: '17'
distribution: 'zulu'
cache: 'maven'
- name: Build
id: build
run: |
mvn versions:set -DnewVersion=$GITHUB_SHA
mvn clean package -Pprod -DskipTests
export VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
echo "::set-output name=version::${VERSION}"
./mvnw -B -ntp versions:set -DnewVersion=$GITHUB_SHA
./mvnw -V -B -ntp clean package -Pprod -DskipTests
export VERSION=$(./mvnw -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
echo "version=${VERSION}" >> $GITHUB_OUTPUT
#################
# #
# Docker images #
# #
#################
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v2
- name: Cache Docker layers
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
@ -50,18 +46,19 @@ jobs:
${{ runner.os }}-buildx-
- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
id: docker_build_and_push
uses: docker/build-push-action@v2
uses: docker/build-push-action@v4
with:
builder: ${{ steps.buildx.outputs.name }}
context: kafka-ui-api
platforms: linux/amd64,linux/arm64
provenance: false
push: true
tags: |
provectuslabs/kafka-ui:${{ steps.build.outputs.version }}
@ -77,11 +74,11 @@ jobs:
#################################
- name: update-master-deployment
run: |
git clone https://kafka-ui-infra:${{ secrets.KAFKA_UI_INFRA_TOKEN }}@gitlab.provectus.com/provectus-internals/kafka-ui-infra.git --branch master
git clone https://infra-tech:${{ secrets.INFRA_USER_ACCESS_TOKEN }}@github.com/provectus/kafka-ui-infra.git --branch master
cd kafka-ui-infra/aws-infrastructure4eks/argocd/scripts
echo "Image digest is:${{ steps.docker_build_and_push.outputs.digest }}"
./kafka-ui-update-master-digest.sh ${{ steps.docker_build_and_push.outputs.digest }}
git config --global user.email "kafka-ui-infra@provectus.com"
git config --global user.name "kafka-ui-infra"
git config --global user.email "infra-tech@provectus.com"
git config --global user.name "infra-tech"
git add ../kafka-ui/*
git commit -m "updated master image digest: ${{ steps.docker_build_and_push.outputs.digest }}" && git push

View file

@ -1,13 +1,14 @@
name: "PR Checklist checked"
name: "PR: Checklist linter"
on:
pull_request_target:
types: [opened, edited, synchronize, reopened]
permissions:
checks: write
jobs:
task-check:
runs-on: ubuntu-latest
steps:
- uses: kentaro-m/task-completed-checker-action@v0.1.0
- uses: kentaro-m/task-completed-checker-action@v0.1.2
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
- uses: dekinderfiets/pr-description-enforcer@0.0.1

View file

@ -0,0 +1,30 @@
name: "Infra: Release: Serde API"
on: workflow_dispatch
jobs:
release-serde-api:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- run: |
git config user.name github-actions
git config user.email github-actions@github.com
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: "17"
distribution: "zulu"
cache: "maven"
- id: install-secret-key
name: Install GPG secret key
run: |
cat <(echo -e "${{ secrets.GPG_PRIVATE_KEY }}") | gpg --batch --import
- name: Publish to Maven Central
run: |
mvn source:jar javadoc:jar package gpg:sign -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} -Dserver.username=${{ secrets.NEXUS_USERNAME }} -Dserver.password=${{ secrets.NEXUS_PASSWORD }} nexus-staging:deploy -pl kafka-ui-serde-api -s settings.xml

View file

@ -1,4 +1,4 @@
name: Release
name: "Infra: Release"
on:
release:
types: [published]
@ -9,37 +9,32 @@ jobs:
outputs:
version: ${{steps.build.outputs.version}}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- run: |
git config user.name github-actions
git config user.email github-actions@github.com
- name: Cache local Maven repository
uses: actions/cache@v2
- name: Set up JDK
uses: actions/setup-java@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up JDK 1.13
uses: actions/setup-java@v1
with:
java-version: 1.13
java-version: '17'
distribution: 'zulu'
cache: 'maven'
- name: Build with Maven
id: build
run: |
mvn versions:set -DnewVersion=${{ github.event.release.tag_name }}
mvn clean package -Pprod -DskipTests
export VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
echo ::set-output name=version::${VERSION}
./mvnw -B -ntp versions:set -DnewVersion=${{ github.event.release.tag_name }}
./mvnw -B -V -ntp clean package -Pprod -DskipTests
export VERSION=$(./mvnw -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
echo "version=${VERSION}" >> $GITHUB_OUTPUT
- name: Upload files to a GitHub release
uses: svenstaro/upload-release-action@2.2.1
uses: svenstaro/upload-release-action@2.7.0
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: kafka-ui-api/target/kafka-ui-api-${{ steps.build.outputs.version }}.jar
@ -56,13 +51,13 @@ jobs:
# #
#################
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v2
- name: Cache Docker layers
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
@ -70,18 +65,19 @@ jobs:
${{ runner.os }}-buildx-
- name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
id: docker_build_and_push
uses: docker/build-push-action@v2
uses: docker/build-push-action@v4
with:
builder: ${{ steps.buildx.outputs.name }}
context: kafka-ui-api
platforms: linux/amd64,linux/arm64
provenance: false
push: true
tags: |
provectuslabs/kafka-ui:${{ steps.build.outputs.version }}
@ -95,30 +91,10 @@ jobs:
runs-on: ubuntu-latest
needs: release
steps:
- uses: actions/checkout@v2
- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v2
with:
fetch-depth: 1
- run: |
git config user.name github-actions
git config user.email github-actions@github.com
- uses: azure/setup-helm@v1
- name: update chart version
run: |
export version=${{needs.release.outputs.version}}
sed -i "s/version:.*/version: ${version}/" charts/kafka-ui/Chart.yaml
sed -i "s/appVersion:.*/appVersion: ${version}/" charts/kafka-ui/Chart.yaml
- name: add chart
run: |
export VERSION=${{needs.release.outputs.version}}
MSG=$(helm package --app-version ${VERSION} charts/kafka-ui)
git fetch origin
git stash
git checkout -b gh-pages origin/gh-pages
helm repo index .
git add -f ${MSG##*/} index.yaml
git commit -m "release ${VERSION}"
git push
token: ${{ secrets.CHARTS_ACTIONS_TOKEN }}
repository: provectus/kafka-ui-charts
event-type: prepare-helm-release
client-payload: '{"appversion": "${{ needs.release.outputs.version }}"}'

View file

@ -1,19 +1,34 @@
name: Release Drafter
name: "Infra: Release Drafter run"
on:
push:
# branches to consider in the event; optional, defaults to all
branches:
- master
workflow_dispatch:
inputs:
version:
description: 'Release version'
required: false
branch:
description: 'Target branch'
required: false
default: 'master'
permissions:
contents: read
jobs:
update_release_draft:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: release-drafter/release-drafter@v5
with:
config-name: release_drafter.yaml
disable-autolabeler: true
version: ${{ github.event.inputs.version }}
commitish: ${{ github.event.inputs.branch }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View file

@ -1,4 +1,4 @@
name: Separate environment create
name: "Infra: Feature Testing Public: Init env"
on:
workflow_dispatch:
inputs:
@ -8,19 +8,82 @@ on:
default: 'demo'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: get branch name
id: extract_branch
run: |
tag="${{ github.event.inputs.ENV_NAME }}-$(date '+%F-%H-%M-%S')"
echo "tag=${tag}" >> $GITHUB_OUTPUT
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'zulu'
cache: 'maven'
- name: Build
id: build
run: |
./mvnw -B -ntp versions:set -DnewVersion=$GITHUB_SHA
./mvnw -B -V -ntp clean package -Pprod -DskipTests
export VERSION=$(./mvnw -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
echo "version=${VERSION}" >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Configure AWS credentials for Kafka-UI account
uses: aws-actions/configure-aws-credentials@v3
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: eu-central-1
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
- name: Build and push
id: docker_build_and_push
uses: docker/build-push-action@v4
with:
builder: ${{ steps.buildx.outputs.name }}
context: kafka-ui-api
push: true
tags: 297478128798.dkr.ecr.eu-central-1.amazonaws.com/kafka-ui:${{ steps.extract_branch.outputs.tag }}
build-args: |
JAR_FILE=kafka-ui-api-${{ steps.build.outputs.version }}.jar
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
outputs:
tag: ${{ steps.extract_branch.outputs.tag }}
separate-env-create:
runs-on: ubuntu-latest
needs: build
steps:
- name: clone
run: |
git clone https://kafka-ui-infra:${{ secrets.KAFKA_UI_INFRA_TOKEN }}@gitlab.provectus.com/provectus-internals/kafka-ui-infra.git
git clone https://infra-tech:${{ secrets.INFRA_USER_ACCESS_TOKEN }}@github.com/provectus/kafka-ui-infra.git --branch envs
- name: separate env create
run: |
cd kafka-ui-infra/aws-infrastructure4eks/argocd/scripts
bash separate_env_create.sh ${{ github.event.inputs.ENV_NAME }} ${{ secrets.FEATURE_TESTING_UI_PASSWORD }}
git config --global user.email "kafka-ui-infra@provectus.com"
git config --global user.name "kafka-ui-infra"
bash separate_env_create.sh ${{ github.event.inputs.ENV_NAME }} ${{ secrets.FEATURE_TESTING_UI_PASSWORD }} ${{ needs.build.outputs.tag }}
git config --global user.email "infra-tech@provectus.com"
git config --global user.name "infra-tech"
git add -A
git commit -m "separate env added: ${{ github.event.inputs.ENV_NAME }}" && git push || true

View file

@ -1,4 +1,4 @@
name: Separate environment remove
name: "Infra: Feature Testing Public: Destroy env"
on:
workflow_dispatch:
inputs:
@ -13,12 +13,12 @@ jobs:
steps:
- name: clone
run: |
git clone https://kafka-ui-infra:${{ secrets.KAFKA_UI_INFRA_TOKEN }}@gitlab.provectus.com/provectus-internals/kafka-ui-infra.git
git clone https://infra-tech:${{ secrets.INFRA_USER_ACCESS_TOKEN }}@github.com/provectus/kafka-ui-infra.git --branch envs
- name: separate environment remove
run: |
cd kafka-ui-infra/aws-infrastructure4eks/argocd/scripts
bash separate_env_remove.sh ${{ github.event.inputs.ENV_NAME }}
git config --global user.email "kafka-ui-infra@provectus.com"
git config --global user.name "kafka-ui-infra"
git config --global user.email "infra-tech@provectus.com"
git config --global user.name "infra-tech"
git add -A
git commit -m "separate env removed: ${{ github.event.inputs.ENV_NAME }}" && git push || true

View file

@ -1,4 +1,4 @@
name: 'Close stale issues'
name: 'Infra: Close stale issues'
on:
schedule:
- cron: '30 1 * * *'
@ -7,7 +7,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v5
- uses: actions/stale@v8
with:
days-before-issue-stale: 7
days-before-issue-close: 3

View file

@ -1,4 +1,4 @@
name: terraform_deploy
name: "Infra: Terraform deploy"
on:
workflow_dispatch:
inputs:
@ -26,18 +26,14 @@ jobs:
echo "Terraform will be triggered in this dir $TF_DIR"
- name: Configure AWS credentials for Kafka-UI account
uses: aws-actions/configure-aws-credentials@v1
uses: aws-actions/configure-aws-credentials@v3
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: eu-central-1
- name: Terraform Install
uses: hashicorp/setup-terraform@v1
- name: Terraform format
id: fmt
run: cd $TF_DIR && terraform fmt -check
uses: hashicorp/setup-terraform@v2
- name: Terraform init
id: init

View file

@ -1,4 +1,4 @@
name: Add triage label to new issues
name: "Infra: Triage: Apply triage label for issues"
on:
issues:
types:

View file

@ -1,4 +1,4 @@
name: Add triage label to new PRs
name: "Infra: Triage: Apply triage label for PRs"
on:
pull_request:
types:

View file

@ -7,7 +7,9 @@ on:
issues:
types:
- opened
permissions:
issues: write
pull-requests: write
jobs:
welcome:
runs-on: ubuntu-latest

View file

@ -1,4 +1,4 @@
name: "Workflow linter"
name: "Infra: Workflow linter"
on:
pull_request:
types:
@ -12,7 +12,7 @@ jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}

3
.gitignore vendored
View file

@ -31,6 +31,9 @@ build/
.vscode/
/kafka-ui-api/app/node
### SDKMAN ###
.sdkmanrc
.DS_Store
*.code-workspace

View file

@ -1,117 +0,0 @@
/*
* Copyright 2007-present the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.net.*;
import java.io.*;
import java.nio.channels.*;
import java.util.Properties;
public class MavenWrapperDownloader {
private static final String WRAPPER_VERSION = "0.5.6";
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
* use instead of the default one.
*/
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
".mvn/wrapper/maven-wrapper.properties";
/**
* Path where the maven-wrapper.jar will be saved to.
*/
private static final String MAVEN_WRAPPER_JAR_PATH =
".mvn/wrapper/maven-wrapper.jar";
/**
* Name of the property which should be used to override the default download url for the wrapper.
*/
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
public static void main(String args[]) {
System.out.println("- Downloader started");
File baseDirectory = new File(args[0]);
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
// If the maven-wrapper.properties exists, read it and check if it contains a custom
// wrapperUrl parameter.
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
String url = DEFAULT_DOWNLOAD_URL;
if(mavenWrapperPropertyFile.exists()) {
FileInputStream mavenWrapperPropertyFileInputStream = null;
try {
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
Properties mavenWrapperProperties = new Properties();
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
} catch (IOException e) {
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
} finally {
try {
if(mavenWrapperPropertyFileInputStream != null) {
mavenWrapperPropertyFileInputStream.close();
}
} catch (IOException e) {
// Ignore ...
}
}
}
System.out.println("- Downloading from: " + url);
File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
if(!outputFile.getParentFile().exists()) {
if(!outputFile.getParentFile().mkdirs()) {
System.out.println(
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
}
}
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
try {
downloadFileFromURL(url, outputFile);
System.out.println("Done");
System.exit(0);
} catch (Throwable e) {
System.out.println("- Error downloading");
e.printStackTrace();
System.exit(1);
}
}
private static void downloadFileFromURL(String urlString, File destination) throws Exception {
if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
String username = System.getenv("MVNW_USERNAME");
char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
}
URL website = new URL(urlString);
ReadableByteChannel rbc;
rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream(destination);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
rbc.close();
}
}

Binary file not shown.

View file

@ -1,2 +1,18 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar

View file

@ -1,3 +1,5 @@
This guide is an exact copy of the same documented located [in our official docs](https://docs.kafka-ui.provectus.io/development/contributing). If there are any differences between the documents, the one located in our official docs should prevail.
This guide aims to walk you through the process of working on issues and Pull Requests (PRs).
Bear in mind that you will not be able to complete some steps on your own if you do not have a “write” permission. Feel free to reach out to the maintainers to help you unlock these activities.
@ -20,7 +22,7 @@ You also need to consider labels. You can sort the issues by scope labels, such
## Grabbing the issue
There is a bunch of criteria that make an issue feasible for development. <br/>
The implementation of any features and/or their enhancements should be reasonable, must be backed by justified requirements (demanded by the community, [roadmap](documentation/project/ROADMAP.md) plans, etc.). The final decision is left for the maintainers' discretion.
The implementation of any features and/or their enhancements should be reasonable, must be backed by justified requirements (demanded by the community, [roadmap](https://docs.kafka-ui.provectus.io/project/roadmap) plans, etc.). The final decision is left for the maintainers' discretion.
All bugs should be confirmed as such (i.e. the behavior is unintended).
@ -39,7 +41,7 @@ To keep the status of the issue clear to everyone, please keep the card's status
## Setting up a local development environment
Please refer to [this guide](documentation/project/contributing/README.md).
Please refer to [this guide](https://docs.kafka-ui.provectus.io/development/contributing).
# Pull Requests
@ -78,6 +80,7 @@ When creating a PR please do the following:
4. If the PR does not close any of the issues, the PR itself might need to have a milestone set. Reach out to the maintainers to consult.
5. Assign the PR to yourself. A PR assignee is someone whose goal is to get the PR merged.
6. Add reviewers. As a rule, reviewers' suggestions are pretty good; please use them.
7. Upon merging the PR, please use a meaningful commit message, task name should be fine in this case.
### Pull Request checklist

178
README.md
View file

@ -1,21 +1,37 @@
![UI for Apache Kafka logo](documentation/images/kafka-ui-logo.png) UI for Apache Kafka&nbsp;
------------------
#### Versatile, fast and lightweight web UI for managing Apache Kafka® clusters. Built by developers, for developers.
<br/>
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/provectus/kafka-ui/blob/master/LICENSE)
![UI for Apache Kafka Price Free](documentation/images/free-open-source.svg)
[![Release version](https://img.shields.io/github/v/release/provectus/kafka-ui)](https://github.com/provectus/kafka-ui/releases)
[![Chat with us](https://img.shields.io/discord/897805035122077716)](https://discord.gg/4DWzD7pGE5)
[![Docker pulls](https://img.shields.io/docker/pulls/provectuslabs/kafka-ui)](https://hub.docker.com/r/provectuslabs/kafka-ui)
<p align="center">
<a href="https://docs.kafka-ui.provectus.io/">DOCS</a>
<a href="https://docs.kafka-ui.provectus.io/configuration/quick-start">QUICK START</a>
<a href="https://discord.gg/4DWzD7pGE5">COMMUNITY DISCORD</a>
<br/>
<a href="https://aws.amazon.com/marketplace/pp/prodview-ogtt5hfhzkq6a">AWS Marketplace</a>
<a href="https://www.producthunt.com/products/ui-for-apache-kafka/reviews/new">ProductHunt</a>
</p>
<p align="center">
<img src="https://repobeats.axiom.co/api/embed/2e8a7c2d711af9daddd34f9791143e7554c35d0f.svg" />
</p>
#### UI for Apache Kafka is a free, open-source web UI to monitor and manage Apache Kafka clusters.
UI for Apache Kafka is a simple tool that makes your data flows observable, helps find and troubleshoot issues faster and deliver optimal performance. Its lightweight dashboard makes it easy to track key metrics of your Kafka clusters - Brokers, Topics, Partitions, Production, and Consumption.
### DISCLAIMER
<em>UI for Apache Kafka is a free, open-source tool that is curated by Provectus, and is built and supported by the open-source community. The tool will remain free and open-source in the future. Provectus does not plan to add any paid features or subscription plans so that everyone can have a better experience observing their data. UI for Apache Kafka is a part of the [Provectus NextGen Data Platform](https://provectus.com/nextgen-data-platform/). Check it out for more details! </em>
<em>UI for Apache Kafka is a free tool built and supported by the open-source community. Curated by Provectus, it will remain free and open-source, without any paid features or subscription plans to be added in the future.
Looking for the help of Kafka experts? Provectus can help you design, build, deploy, and manage Apache Kafka clusters and streaming applications. Discover [Professional Services for Apache Kafka](https://provectus.com/professional-services-apache-kafka/), to unlock the full potential of Kafka in your enterprise! </em>
#### UI for Apache Kafka is a free, open-source web UI to monitor and manage Apache Kafka clusters.
UI for Apache Kafka is a simple tool that makes your data flows observable, helps find and troubleshoot issues faster and deliver optimal performance. Its lightweight dashboard makes it easy to track key metrics of your Kafka clusters - Brokers, Topics, Partitions, Production, and Consumption.
Set up UI for Apache Kafka with just a couple of easy commands to visualize your Kafka data in a comprehensible way. You can run the tool locally or in
the cloud.
Set up UI for Apache Kafka with just a couple of easy commands to visualize your Kafka data in a comprehensible way. You can run the tool locally or in
the cloud.
![Interface](documentation/images/Interface.gif)
@ -27,21 +43,24 @@ the cloud.
* **View Consumer Groups** — view per-partition parked offsets, combined and per-partition lag
* **Browse Messages** — browse messages with JSON, plain text, and Avro encoding
* **Dynamic Topic Configuration** — create and configure new topics with dynamic configuration
* **Configurable Authentification** — secure your installation with optional Github/Gitlab/Google OAuth 2.0
* **Configurable Authentification** — [secure](https://docs.kafka-ui.provectus.io/configuration/authentication) your installation with optional Github/Gitlab/Google OAuth 2.0
* **Custom serialization/deserialization plugins** - [use](https://docs.kafka-ui.provectus.io/configuration/serialization-serde) a ready-to-go serde for your data like AWS Glue or Smile, or code your own!
* **Role based access control** - [manage permissions](https://docs.kafka-ui.provectus.io/configuration/rbac-role-based-access-control) to access the UI with granular precision
* **Data masking** - [obfuscate](https://docs.kafka-ui.provectus.io/configuration/data-masking) sensitive data in topic messages
# The Interface
UI for Apache Kafka wraps major functions of Apache Kafka with an intuitive user interface.
![Interface](documentation/images/Interface.gif)
## Topics
UI for Apache Kafka makes it easy for you to create topics in your browser by several clicks,
UI for Apache Kafka makes it easy for you to create topics in your browser by several clicks,
pasting your own parameters, and viewing topics in the list.
![Create Topic](documentation/images/Create_topic_kafka-ui.gif)
It's possible to jump from connectors view to corresponding topics and from a topic to consumers (back and forth) for more convenient navigation.
connectors, overview topic settings.
connectors, overview topic settings.
![Connector_Topic_Consumer](documentation/images/Connector_Topic_Consumer.gif)
@ -55,123 +74,68 @@ There are 3 supported types of schemas: Avro®, JSON Schema, and Protobuf schema
![Create Schema Registry](documentation/images/Create_schema.gif)
Before producing avro-encoded messages, you have to add an avro schema for the topic in Schema Registry. Now all these steps are easy to do
Before producing avro/protobuf encoded messages, you have to add a schema for the topic in Schema Registry. Now all these steps are easy to do
with a few clicks in a user-friendly interface.
![Avro Schema Topic](documentation/images/Schema_Topic.gif)
# Getting Started
To run UI for Apache Kafka, you can use a pre-built Docker image or build it locally.
To run UI for Apache Kafka, you can use either a pre-built Docker image or build it (or a jar file) yourself.
## Configuration
We have plenty of [docker-compose files](documentation/compose/DOCKER_COMPOSE.md) as examples. They're built for various configuration stacks.
# Guides
- [SSO configuration](documentation/guides/SSO.md)
- [AWS IAM configuration](documentation/guides/AWS_IAM.md)
- [Docker-compose files](documentation/compose/DOCKER_COMPOSE.md)
- [Connection to a secure broker](documentation/compose/SECURE_BROKER.md)
### Configuration File
Example of how to configure clusters in the [application-local.yml](https://github.com/provectus/kafka-ui/blob/master/kafka-ui-api/src/main/resources/application-local.yml) configuration file:
```sh
kafka:
clusters:
-
name: local
bootstrapServers: localhost:29091
schemaRegistry: http://localhost:8085
schemaRegistryAuth:
username: username
password: password
# schemaNameTemplate: "%s-value"
jmxPort: 9997
-
```
* `name`: cluster name
* `bootstrapServers`: where to connect
* `schemaRegistry`: schemaRegistry's address
* `schemaRegistryAuth.username`: schemaRegistry's basic authentication username
* `schemaRegistryAuth.password`: schemaRegistry's basic authentication password
* `schemaNameTemplate`: how keys are saved to schemaRegistry
* `jmxPort`: open jmxPosrts of a broker
* `readOnly`: enable read only mode
Configure as many clusters as you need by adding their configs below separated with `-`.
## Running a Docker Image
The official Docker image for UI for Apache Kafka is hosted here: [hub.docker.com/r/provectuslabs/kafka-ui](https://hub.docker.com/r/provectuslabs/kafka-ui).
Launch Docker container in the background:
```sh
docker run -p 8080:8080 \
-e KAFKA_CLUSTERS_0_NAME=local \
-e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092 \
-d provectuslabs/kafka-ui:latest
## Quick start (Demo run)
```
Then access the web UI at [http://localhost:8080](http://localhost:8080).
Further configuration with environment variables - [see environment variables](#env_variables)
### Docker Compose
docker run -it -p 8080:8080 -e DYNAMIC_CONFIG_ENABLED=true provectuslabs/kafka-ui
```
If you prefer to use `docker-compose` please refer to the [documentation](docker-compose.md).
Then access the web UI at [http://localhost:8080](http://localhost:8080)
The command is sufficient to try things out. When you're done trying things out, you can proceed with a [persistent installation](https://docs.kafka-ui.provectus.io/quick-start/persistent-start)
## Building With Docker
## Persistent installation
### Prerequisites
```
services:
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
environment:
DYNAMIC_CONFIG_ENABLED: 'true'
volumes:
- ~/kui/config.yml:/etc/kafkaui/dynamic_config.yaml
```
Check [software-required.md](documentation/project/contributing/software-required.md)
Please refer to our [configuration](https://docs.kafka-ui.provectus.io/configuration/quick-start) page to proceed with further app configuration.
### Building
## Some useful configuration related links
Check [building.md](documentation/project/contributing/building.md)
[Web UI Cluster Configuration Wizard](https://docs.kafka-ui.provectus.io/configuration/configuration-wizard)
### Running
[Configuration file explanation](https://docs.kafka-ui.provectus.io/configuration/configuration-file)
Check [running.md](documentation/project/contributing/running.md)
[Docker Compose examples](https://docs.kafka-ui.provectus.io/configuration/compose-examples)
[Misc configuration properties](https://docs.kafka-ui.provectus.io/configuration/misc-configuration-properties)
## Helm charts
[Quick start](https://docs.kafka-ui.provectus.io/configuration/helm-charts/quick-start)
## Building from sources
[Quick start](https://docs.kafka-ui.provectus.io/development/building/prerequisites) with building
## Liveliness and readiness probes
Liveliness and readiness endpoint is at `/actuator/health`.
Liveliness and readiness endpoint is at `/actuator/health`.<br/>
Info endpoint (build info) is located at `/actuator/info`.
## <a name="env_variables"></a> Environment Variables
# Configuration options
Alternatively, each variable of the .yml file can be set with an environment variable.
For example, if you want to use an environment variable to set the `name` parameter, you can write it like this: `KAFKA_CLUSTERS_2_NAME`
All of the environment variables/config properties could be found [here](https://docs.kafka-ui.provectus.io/configuration/misc-configuration-properties).
|Name |Description
|-----------------------|-------------------------------
|`SERVER_SERVLET_CONTEXT_PATH` | URI basePath
|`LOGGING_LEVEL_ROOT` | Setting log level (trace, debug, info, warn, error). Default: info
|`LOGGING_LEVEL_COM_PROVECTUS` |Setting log level (trace, debug, info, warn, error). Default: debug
|`SERVER_PORT` |Port for the embedded server. Default: `8080`
|`KAFKA_ADMIN-CLIENT-TIMEOUT` | Kafka API timeout in ms. Default: `30000`
|`KAFKA_CLUSTERS_0_NAME` | Cluster name
|`KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS` |Address where to connect
|`KAFKA_CLUSTERS_0_KSQLDBSERVER` | KSQL DB server address
|`KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL` |Security protocol to connect to the brokers. For SSL connection use "SSL", for plaintext connection don't set this environment variable
|`KAFKA_CLUSTERS_0_SCHEMAREGISTRY` |SchemaRegistry's address
|`KAFKA_CLUSTERS_0_SCHEMAREGISTRYAUTH_USERNAME` |SchemaRegistry's basic authentication username
|`KAFKA_CLUSTERS_0_SCHEMAREGISTRYAUTH_PASSWORD` |SchemaRegistry's basic authentication password
|`KAFKA_CLUSTERS_0_SCHEMANAMETEMPLATE` |How keys are saved to schemaRegistry
|`KAFKA_CLUSTERS_0_JMXPORT` |Open jmxPosrts of a broker
|`KAFKA_CLUSTERS_0_READONLY` |Enable read-only mode. Default: false
|`KAFKA_CLUSTERS_0_DISABLELOGDIRSCOLLECTION` |Disable collecting segments information. It should be true for confluent cloud. Default: false
|`KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME` |Given name for the Kafka Connect cluster
|`KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS` |Address of the Kafka Connect service endpoint
|`KAFKA_CLUSTERS_0_KAFKACONNECT_0_USERNAME`| Kafka Connect cluster's basic authentication username
|`KAFKA_CLUSTERS_0_KAFKACONNECT_0_PASSWORD`| Kafka Connect cluster's basic authentication password
|`KAFKA_CLUSTERS_0_JMXSSL` |Enable SSL for JMX? `true` or `false`. For advanced setup, see `kafka-ui-jmx-secured.yml`
|`KAFKA_CLUSTERS_0_JMXUSERNAME` |Username for JMX authentication
|`KAFKA_CLUSTERS_0_JMXPASSWORD` |Password for JMX authentication
|`TOPIC_RECREATE_DELAY_SECONDS` |Time delay between topic deletion and topic creation attempts for topic recreate functionality. Default: 1
|`TOPIC_RECREATE_MAXRETRIES` |Number of attempts of topic creation after topic deletion for topic recreate functionality. Default: 15
# Contributing
Please refer to [contributing guide](https://docs.kafka-ui.provectus.io/development/contributing), we'll guide you from there.

View file

@ -6,8 +6,12 @@ Following versions of the project are currently being supported with security up
| Version | Supported |
| ------- | ------------------ |
| 0.3.x | :white_check_mark: |
| 0.2.x | :x: |
| 0.7.x | :white_check_mark: |
| 0.6.x | :x: |
| 0.5.x | :x: |
| 0.4.x | :x: |
| 0.3.x | :x: |
| 0.2.x | :x: |
| 0.1.x | :x: |
## Reporting a Vulnerability

View file

@ -1,25 +0,0 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
example/
README.md

View file

@ -1,7 +0,0 @@
apiVersion: v2
name: kafka-ui
description: A Helm chart for kafka-UI
type: application
version: 0.0.3
appVersion: latest
icon: https://github.com/provectus/kafka-ui/raw/master/images/kafka-ui-logo.png

View file

@ -1,31 +0,0 @@
# Kafka-UI Helm Chart
## Configuration
Most of the Helm charts parameters are common, follow table describe unique parameters related to application configuration.
### Kafka-UI parameters
| Parameter| Description| Default|
|---|---|---|
| `existingConfigMap`| Name of the existing ConfigMap with Kafka-UI environment variables | `nil`|
| `existingSecret`| Name of the existing Secret with Kafka-UI environment variables| `nil`|
| `envs.secret`| Set of the sensitive environment variables to pass to Kafka-UI | `{}`|
| `envs.config`| Set of the environment variables to pass to Kafka-UI | `{}`|
| `networkPolicy.enabled` | Enable network policies | `false`|
| `networkPolicy.egressRules.customRules` | Custom network egress policy rules | `[]`|
| `networkPolicy.ingressRules.customRules` | Custom network ingress policy rules | `[]`|
| `podLabels` | Extra labels for Kafka-UI pod | `{}`|
## Example
To install Kafka-UI need to execute follow:
``` bash
helm repo add kafka-ui https://provectus.github.io/kafka-ui
helm install kafka-ui kafka-ui/kafka-ui --set envs.config.KAFKA_CLUSTERS_0_NAME=local --set envs.config.KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092
```
To connect to Kafka-UI web application need to execute:
``` bash
kubectl port-forward svc/kafka-ui 8080:80
```
Open the `http://127.0.0.1:8080` on the browser to access Kafka-UI.

View file

@ -1,3 +0,0 @@
apiVersion: v1
entries: {}
generated: "2021-11-11T12:26:08.479581+03:00"

View file

@ -1,21 +0,0 @@
1. Get the application URL by running these commands:
{{- if .Values.ingress.enabled }}
{{- range $host := .Values.ingress.hosts }}
{{- range .paths }}
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
{{- end }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "kafka-ui.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "kafka-ui.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "kafka-ui.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
echo http://$SERVICE_IP:{{ .Values.service.port }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "kafka-ui.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:8080
{{- end }}

View file

@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "kafka-ui.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "kafka-ui.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "kafka-ui.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Common labels
*/}}
{{- define "kafka-ui.labels" -}}
helm.sh/chart: {{ include "kafka-ui.chart" . }}
{{ include "kafka-ui.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "kafka-ui.selectorLabels" -}}
app.kubernetes.io/name: {{ include "kafka-ui.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "kafka-ui.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "kafka-ui.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}

View file

@ -1,8 +0,0 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "kafka-ui.fullname" . }}
labels:
{{- include "kafka-ui.labels" . | nindent 4 }}
data:
{{- toYaml .Values.envs.config | nindent 2 }}

View file

@ -1,103 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "kafka-ui.fullname" . }}
labels:
{{- include "kafka-ui.labels" . | nindent 4 }}
spec:
{{- if not .Values.autoscaling.enabled }}
replicas: {{ .Values.replicaCount }}
{{- end }}
selector:
matchLabels:
{{- include "kafka-ui.selectorLabels" . | nindent 6 }}
template:
metadata:
annotations:
{{- with .Values.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}
labels:
{{- include "kafka-ui.selectorLabels" . | nindent 8 }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 8 }}
{{- end }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.initContainers }}
initContainers:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "kafka-ui.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- with .Values.env }}
env:
{{- toYaml . | nindent 12 }}
{{- end }}
envFrom:
{{- if .Values.existingConfigMap }}
- configMapRef:
name: {{ .Values.existingConfigMap }}
{{- end }}
- configMapRef:
name: {{ include "kafka-ui.fullname" . }}
{{- if .Values.existingSecret }}
- secretRef:
name: {{ .Values.existingSecret }}
{{- end }}
- secretRef:
name: {{ include "kafka-ui.fullname" . }}
ports:
- name: http
containerPort: 8080
protocol: TCP
livenessProbe:
httpGet:
{{- $contextPath := .Values.envs.config.SERVER_SERVLET_CONTEXT_PATH | default "" | printf "%s/actuator/health" | urlParse }}
path: {{ get $contextPath "path" }}
port: http
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 10
readinessProbe:
httpGet:
{{- $contextPath := .Values.envs.config.SERVER_SERVLET_CONTEXT_PATH | default "" | printf "%s/actuator/health" | urlParse }}
path: {{ get $contextPath "path" }}
port: http
initialDelaySeconds: 60
periodSeconds: 30
timeoutSeconds: 10
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.volumeMounts }}
volumeMounts:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.volumes }}
volumes:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}

View file

@ -1,28 +0,0 @@
{{- if .Values.autoscaling.enabled }}
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: {{ include "kafka-ui.fullname" . }}
labels:
{{- include "kafka-ui.labels" . | nindent 4 }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{ include "kafka-ui.fullname" . }}
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
metrics:
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
- type: Resource
resource:
name: cpu
targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
{{- end }}
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
- type: Resource
resource:
name: memory
targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
{{- end }}
{{- end }}

View file

@ -1,87 +0,0 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "kafka-ui.fullname" . -}}
{{- $svcPort := .Values.service.port -}}
{{- if $.Capabilities.APIVersions.Has "networking.k8s.io/v1" }}
apiVersion: networking.k8s.io/v1
{{- else if $.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
apiVersion: networking.k8s.io/v1beta1
{{- else }}
apiVersion: extensions/v1beta1
{{- end }}
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
{{- include "kafka-ui.labels" . | nindent 4 }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if .Values.ingress.tls.enabled }}
tls:
- hosts:
- {{ tpl .Values.ingress.host . }}
secretName: {{ .Values.ingress.tls.secretName }}
{{- end }}
{{- if .Values.ingress.ingressClassName }}
ingressClassName: {{ .Values.ingress.ingressClassName }}
{{- end }}
rules:
- http:
paths:
{{- if $.Capabilities.APIVersions.Has "networking.k8s.io/v1" -}}
{{- range .Values.ingress.precedingPaths }}
- path: {{ .path }}
pathType: Prefix
backend:
service:
name: {{ .serviceName }}
port:
number: {{ .servicePort }}
{{- end }}
- backend:
service:
name: {{ $fullName }}
port:
number: {{ $svcPort }}
pathType: Prefix
{{- if .Values.ingress.path }}
path: {{ .Values.ingress.path }}
{{- end }}
{{- range .Values.ingress.succeedingPaths }}
- path: {{ .path }}
pathType: Prefix
backend:
service:
name: {{ .serviceName }}
port:
number: {{ .servicePort }}
{{- end }}
{{- if tpl .Values.ingress.host . }}
host: {{tpl .Values.ingress.host . }}
{{- end }}
{{- else -}}
{{- range .Values.ingress.precedingPaths }}
- path: {{ .path }}
backend:
serviceName: {{ .serviceName }}
servicePort: {{ .servicePort }}
{{- end }}
- backend:
serviceName: {{ $fullName }}
servicePort: {{ $svcPort }}
{{- if .Values.ingress.path }}
path: {{ .Values.ingress.path }}
{{- end }}
{{- range .Values.ingress.succeedingPaths }}
- path: {{ .path }}
backend:
serviceName: {{ .serviceName }}
servicePort: {{ .servicePort }}
{{- end }}
{{- if tpl .Values.ingress.host . }}
host: {{ tpl .Values.ingress.host . }}
{{- end }}
{{- end }}
{{- end }}

View file

@ -1,18 +0,0 @@
{{- if and .Values.networkPolicy.enabled .Values.networkPolicy.egressRules.customRules }}
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: {{ printf "%s-egress" (include "kafka-ui.fullname" .) }}
labels:
{{- include "kafka-ui.labels" . | nindent 4 }}
spec:
podSelector:
matchLabels:
{{- include "kafka-ui.selectorLabels" . | nindent 6 }}
policyTypes:
- Egress
egress:
{{- if .Values.networkPolicy.egressRules.customRules }}
{{- toYaml .Values.networkPolicy.egressRules.customRules | nindent 4 }}
{{- end }}
{{- end }}

View file

@ -1,18 +0,0 @@
{{- if and .Values.networkPolicy.enabled .Values.networkPolicy.ingressRules.customRules }}
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: {{ printf "%s-ingress" (include "kafka-ui.fullname" .) }}
labels:
{{- include "kafka-ui.labels" . | nindent 4 }}
spec:
podSelector:
matchLabels:
{{- include "kafka-ui.selectorLabels" . | nindent 6 }}
policyTypes:
- Ingress
ingress:
{{- if .Values.networkPolicy.ingressRules.customRules }}
{{- toYaml .Values.networkPolicy.ingressRules.customRules | nindent 4 }}
{{- end }}
{{- end }}

View file

@ -1,9 +0,0 @@
apiVersion: v1
kind: Secret
metadata:
name: {{ include "kafka-ui.fullname" . }}
labels:
{{- include "kafka-ui.labels" . | nindent 4 }}
type: Opaque
data:
{{- toYaml .Values.envs.secret | nindent 2 }}

View file

@ -1,22 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "kafka-ui.fullname" . }}
labels:
{{- include "kafka-ui.labels" . | nindent 4 }}
{{- if .Values.service.annotations }}
annotations:
{{ toYaml .Values.service.annotations | nindent 4 }}
{{- end }}
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.port }}
targetPort: http
protocol: TCP
name: http
{{- if (and (eq .Values.service.type "NodePort") .Values.service.nodePort) }}
nodePort: {{ .Values.service.nodePort }}
{{- end }}
selector:
{{- include "kafka-ui.selectorLabels" . | nindent 4 }}

View file

@ -1,12 +0,0 @@
{{- if .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "kafka-ui.serviceAccountName" . }}
labels:
{{- include "kafka-ui.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View file

@ -1,127 +0,0 @@
replicaCount: 1
image:
registry: docker.io
repository: provectuslabs/kafka-ui
pullPolicy: IfNotPresent
# Overrides the image tag whose default is the chart appVersion.
tag: ""
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: ""
existingConfigMap: ""
existingSecret: ""
envs:
secret: {}
config: {}
networkPolicy:
enabled: false
egressRules:
## Additional custom egress rules
## e.g:
## customRules:
## - to:
## - namespaceSelector:
## matchLabels:
## label: example
customRules: []
ingressRules:
## Additional custom ingress rules
## e.g:
## customRules:
## - from:
## - namespaceSelector:
## matchLabels:
## label: example
customRules: []
podAnnotations: {}
podLabels: {}
podSecurityContext: {}
# fsGroup: 2000
securityContext: {}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
service:
type: ClusterIP
port: 80
# if you want to force a specific nodePort. Must be use with service.type=NodePort
# nodePort:
# Ingress configuration
ingress:
# Enable ingress resource
enabled: false
# Annotations for the Ingress
annotations: {}
# ingressClassName for the Ingress
ingressClassName: ""
# The path for the Ingress
path: ""
# The hostname for the Ingress
host: ""
# configs for Ingress TLS
tls:
# Enable TLS termination for the Ingress
enabled: false
# the name of a pre-created Secret containing a TLS private key and certificate
secretName: ""
# HTTP paths to add to the Ingress before the default path
precedingPaths: []
# Http paths to add to the Ingress after the default path
succeedingPaths: []
resources: {}
# limits:
# cpu: 200m
# memory: 512Mi
# requests:
# cpu: 200m
# memory: 256Mi
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 100
targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80
nodeSelector: {}
tolerations: []
affinity: {}
env: {}
initContainers: {}
volumeMounts: {}
volumes: {}

View file

@ -1,45 +0,0 @@
# Quick Start with docker-compose
Environment variables documentation - [see usage](README.md#env_variables).<br/>
We have plenty of example files with more complex configurations. Please check them out in ``docker`` directory.
* Add a new service in docker-compose.yml
```yaml
version: '2'
services:
kafka-ui:
image: provectuslabs/kafka-ui
container_name: kafka-ui
ports:
- "8080:8080"
restart: always
environment:
- KAFKA_CLUSTERS_0_NAME=local
- KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092
- KAFKA_CLUSTERS_0_ZOOKEEPER=localhost:2181
```
* If you prefer UI for Apache Kafka in read only mode
```yaml
version: '2'
services:
kafka-ui:
image: provectuslabs/kafka-ui
container_name: kafka-ui
ports:
- "8080:8080"
restart: always
environment:
- KAFKA_CLUSTERS_0_NAME=local
- KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka:9092
- KAFKA_CLUSTERS_0_ZOOKEEPER=localhost:2181
- KAFKA_CLUSTERS_0_READONLY=true
```
* Start UI for Apache Kafka process
```bash
docker-compose up -d kafka-ui
```

View file

@ -1,12 +1,16 @@
# Descriptions of docker-compose configurations (*.yaml)
1. [kafka-ui.yaml](./kafka-ui.yaml) - Default configuration with 2 kafka clusters with two nodes of Schema Registry, one kafka-connect and a few dummy topics.
2. [kafka-clusters-only.yaml](./kafka-clusters-only.yaml) - A configuration for development purposes, everything besides `kafka-ui` itself (to be run locally).
3. [kafka-ui-ssl.yml](./kafka-ssl.yml) - Connect to Kafka via TLS/SSL
4. [kafka-cluster-sr-auth.yaml](./kafka-cluster-sr-auth.yaml) - Schema registry with authentication.
5. [kafka-ui-auth-context.yaml](./kafka-ui-auth-context.yaml) - Basic (username/password) authentication with custom path (URL) (issue 861).
6. [kafka-ui-connectors.yaml](./kafka-ui-connectors.yaml) - Configuration with different connectors (github-source, s3, sink-activities, source-activities) and Ksql functionality.
7. [kafka-ui-jmx-secured.yml](./kafka-ui-jmx-secured.yml) - Kafkas JMX with SSL and authentication.
8. [kafka-ui-reverse-proxy.yaml](./kafka-ui-reverse-proxy.yaml) - An example for using the app behind a proxy (like nginx).
9. [kafka-ui-sasl.yaml](./kafka-ui-sasl.yaml) - SASL auth for Kafka.
10. [kafka-ui-traefik-proxy.yaml](./kafka-ui-traefik-proxy.yaml) - Traefik specific proxy configuration.
2. [kafka-ui-arm64.yaml](./kafka-ui-arm64.yaml) - Default configuration for ARM64(Mac M1) architecture with 1 kafka cluster without zookeeper with one node of Schema Registry, one kafka-connect and a few dummy topics.
3. [kafka-clusters-only.yaml](./kafka-clusters-only.yaml) - A configuration for development purposes, everything besides `kafka-ui` itself (to be run locally).
4. [kafka-ui-ssl.yml](./kafka-ssl.yml) - Connect to Kafka via TLS/SSL
5. [kafka-cluster-sr-auth.yaml](./kafka-cluster-sr-auth.yaml) - Schema registry with authentication.
6. [kafka-ui-auth-context.yaml](./kafka-ui-auth-context.yaml) - Basic (username/password) authentication with custom path (URL) (issue 861).
7. [e2e-tests.yaml](./e2e-tests.yaml) - Configuration with different connectors (github-source, s3, sink-activities, source-activities) and Ksql functionality.
8. [kafka-ui-jmx-secured.yml](./kafka-ui-jmx-secured.yml) - Kafkas JMX with SSL and authentication.
9. [kafka-ui-reverse-proxy.yaml](./nginx-proxy.yaml) - An example for using the app behind a proxy (like nginx).
10. [kafka-ui-sasl.yaml](./kafka-ui-sasl.yaml) - SASL auth for Kafka.
11. [kafka-ui-traefik-proxy.yaml](./traefik-proxy.yaml) - Traefik specific proxy configuration.
12. [oauth-cognito.yaml](./oauth-cognito.yaml) - OAuth2 with Cognito
13. [kafka-ui-with-jmx-exporter.yaml](./kafka-ui-with-jmx-exporter.yaml) - A configuration with 2 kafka clusters with enabled prometheus jmx exporters instead of jmx.
14. [kafka-with-zookeeper.yaml](./kafka-with-zookeeper.yaml) - An example for using kafka with zookeeper

View file

@ -1,86 +0,0 @@
---
version: '2'
services:
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
depends_on:
- zookeeper0
- kafka0
- schemaregistry0
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
KAFKA_CLUSTERS_0_ZOOKEEPER: zookeeper0:2181
KAFKA_CLUSTERS_0_JMXPORT: 9997
KAFKA_CLUSTERS_0_SCHEMAREGISTRY: http://schemaregistry0:8085
KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME: first
KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS: http://kafka-connect0:8083
KAFKA_CLUSTERS_1_NAME: secondLocal
KAFKA_CLUSTERS_1_BOOTSTRAPSERVERS: kafka1:29092
KAFKA_CLUSTERS_1_ZOOKEEPER: zookeeper1:2181
KAFKA_CLUSTERS_1_JMXPORT: 9998
KAFKA_CLUSTERS_1_SCHEMAREGISTRY: http://schemaregistry1:8085
KAFKA_CLUSTERS_1_KAFKACONNECT_0_NAME: first
KAFKA_CLUSTERS_1_KAFKACONNECT_0_ADDRESS: http://kafka-connect0:8083
AUTH_TYPE: "LDAP"
SPRING_LDAP_URLS: "ldap://ldap:10389"
SPRING_LDAP_DN_PATTERN: "cn={0},ou=people,dc=planetexpress,dc=com"
# USER SEARCH FILTER INSTEAD OF DN
# SPRING_LDAP_USERFILTER_SEARCHBASE: "dc=planetexpress,dc=com"
# SPRING_LDAP_USERFILTER_SEARCHFILTER: "(&(uid={0})(objectClass=inetOrgPerson))"
# LDAP ADMIN USER
# SPRING_LDAP_ADMINUSER: "cn=admin,dc=planetexpress,dc=com"
# SPRING_LDAP_ADMINPASSWORD: "GoodNewsEveryone"
ldap:
image: rroemhild/test-openldap:latest
hostname: "ldap"
zookeeper0:
image: confluentinc/cp-zookeeper:5.2.4
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- 2181:2181
kafka0:
image: confluentinc/cp-kafka:5.3.1
depends_on:
- zookeeper0
ports:
- 9092:9092
- 9997:9997
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper0:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
JMX_PORT: 9997
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka0 -Dcom.sun.management.jmxremote.rmi.port=9997
schemaregistry0:
image: confluentinc/cp-schema-registry:5.5.0
ports:
- 8085:8085
depends_on:
- zookeeper0
- kafka0
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka0:29092
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zookeeper0:2181
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
SCHEMA_REGISTRY_HOST_NAME: schemaregistry0
SCHEMA_REGISTRY_LISTENERS: http://schemaregistry0:8085
SCHEMA_REGISTRY_SCHEMA_REGISTRY_INTER_INSTANCE_PROTOCOL: "http"
SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas

View file

@ -0,0 +1,190 @@
---
version: '3.5'
services:
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8080/actuator/health
interval: 30s
timeout: 10s
retries: 10
depends_on:
kafka0:
condition: service_healthy
schemaregistry0:
condition: service_healthy
kafka-connect0:
condition: service_healthy
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
KAFKA_CLUSTERS_0_METRICS_PORT: 9997
KAFKA_CLUSTERS_0_SCHEMAREGISTRY: http://schemaregistry0:8085
KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME: first
KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS: http://kafka-connect0:8083
KAFKA_CLUSTERS_0_KSQLDBSERVER: http://ksqldb:8088
kafka0:
image: confluentinc/cp-kafka:7.2.1
hostname: kafka0
container_name: kafka0
healthcheck:
test: unset JMX_PORT && KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka0 -Dcom.sun.management.jmxremote.rmi.port=9999" && kafka-broker-api-versions --bootstrap-server=localhost:9092
interval: 30s
timeout: 10s
retries: 10
ports:
- "9092:9092"
- "9997:9997"
environment:
KAFKA_BROKER_ID: 1
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_JMX_PORT: 9997
KAFKA_JMX_HOSTNAME: localhost
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka0 -Dcom.sun.management.jmxremote.rmi.port=9997
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka0:29093'
KAFKA_LISTENERS: 'PLAINTEXT://kafka0:29092,CONTROLLER://kafka0:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
volumes:
- ./scripts/update_run.sh:/tmp/update_run.sh
command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"
schemaregistry0:
image: confluentinc/cp-schema-registry:7.2.1
ports:
- 8085:8085
depends_on:
kafka0:
condition: service_healthy
healthcheck:
test: [ "CMD", "timeout", "1", "curl", "--silent", "--fail", "http://schemaregistry0:8085/subjects" ]
interval: 30s
timeout: 10s
retries: 10
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka0:29092
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
SCHEMA_REGISTRY_HOST_NAME: schemaregistry0
SCHEMA_REGISTRY_LISTENERS: http://schemaregistry0:8085
SCHEMA_REGISTRY_SCHEMA_REGISTRY_INTER_INSTANCE_PROTOCOL: "http"
SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas
kafka-connect0:
build:
context: ./kafka-connect
args:
image: confluentinc/cp-kafka-connect:6.0.1
ports:
- 8083:8083
depends_on:
kafka0:
condition: service_healthy
schemaregistry0:
condition: service_healthy
healthcheck:
test: [ "CMD", "nc", "127.0.0.1", "8083" ]
interval: 30s
timeout: 10s
retries: 10
environment:
CONNECT_BOOTSTRAP_SERVERS: kafka0:29092
CONNECT_GROUP_ID: compose-connect-group
CONNECT_CONFIG_STORAGE_TOPIC: _connect_configs
CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1
CONNECT_OFFSET_STORAGE_TOPIC: _connect_offset
CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1
CONNECT_STATUS_STORAGE_TOPIC: _connect_status
CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1
CONNECT_KEY_CONVERTER: org.apache.kafka.connect.storage.StringConverter
CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: http://schemaregistry0:8085
CONNECT_VALUE_CONVERTER: org.apache.kafka.connect.storage.StringConverter
CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: http://schemaregistry0:8085
CONNECT_INTERNAL_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_INTERNAL_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_REST_ADVERTISED_HOST_NAME: kafka-connect0
CONNECT_PLUGIN_PATH: "/usr/share/java,/usr/share/confluent-hub-components"
# AWS_ACCESS_KEY_ID: ""
# AWS_SECRET_ACCESS_KEY: ""
kafka-init-topics:
image: confluentinc/cp-kafka:7.2.1
volumes:
- ./data/message.json:/data/message.json
depends_on:
kafka0:
condition: service_healthy
command: "bash -c 'echo Waiting for Kafka to be ready... && \
cub kafka-ready -b kafka0:29092 1 30 && \
kafka-topics --create --topic users --partitions 3 --replication-factor 1 --if-not-exists --bootstrap-server kafka0:29092 && \
kafka-topics --create --topic messages --partitions 2 --replication-factor 1 --if-not-exists --bootstrap-server kafka0:29092 && \
kafka-console-producer --bootstrap-server kafka0:29092 --topic users < /data/message.json'"
postgres-db:
build:
context: ./postgres
args:
image: postgres:9.6.22
ports:
- 5432:5432
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U dev_user" ]
interval: 10s
timeout: 5s
retries: 5
environment:
POSTGRES_USER: 'dev_user'
POSTGRES_PASSWORD: '12345'
create-connectors:
image: ellerbrock/alpine-bash-curl-ssl
depends_on:
postgres-db:
condition: service_healthy
kafka-connect0:
condition: service_healthy
volumes:
- ./connectors:/connectors
command: bash -c '/connectors/start.sh'
ksqldb:
image: confluentinc/ksqldb-server:0.18.0
healthcheck:
test: [ "CMD", "timeout", "1", "curl", "--silent", "--fail", "http://localhost:8088/info" ]
interval: 30s
timeout: 10s
retries: 10
depends_on:
kafka0:
condition: service_healthy
kafka-connect0:
condition: service_healthy
schemaregistry0:
condition: service_healthy
ports:
- 8088:8088
environment:
KSQL_CUB_KAFKA_TIMEOUT: 120
KSQL_LISTENERS: http://0.0.0.0:8088
KSQL_BOOTSTRAP_SERVERS: PLAINTEXT://kafka0:29092
KSQL_KSQL_LOGGING_PROCESSING_STREAM_AUTO_CREATE: "true"
KSQL_KSQL_LOGGING_PROCESSING_TOPIC_AUTO_CREATE: "true"
KSQL_KSQL_CONNECT_URL: http://kafka-connect0:8083
KSQL_KSQL_SCHEMA_REGISTRY_URL: http://schemaregistry0:8085
KSQL_KSQL_SERVICE_ID: my_ksql_1
KSQL_KSQL_HIDDEN_TOPICS: '^_.*'
KSQL_CACHE_MAX_BYTES_BUFFERING: 0

0
documentation/compose/jaas/client.properties Normal file → Executable file
View file

0
documentation/compose/jaas/kafka_connect.jaas Normal file → Executable file
View file

0
documentation/compose/jaas/kafka_connect.password Normal file → Executable file
View file

View file

@ -11,4 +11,8 @@ KafkaClient {
user_admin="admin-secret";
};
Client {};
Client {
org.apache.zookeeper.server.auth.DigestLoginModule required
username="zkuser"
password="zkuserpassword";
};

0
documentation/compose/jaas/schema_registry.jaas Normal file → Executable file
View file

0
documentation/compose/jaas/schema_registry.password Normal file → Executable file
View file

View file

@ -0,0 +1,4 @@
Server {
org.apache.zookeeper.server.auth.DigestLoginModule required
user_zkuser="zkuserpassword";
};

View file

@ -0,0 +1,2 @@
rules:
- pattern: ".*"

View file

@ -0,0 +1,10 @@
#!/usr/bin/env bash
JAVA_AGENT_FILE="/usr/share/jmx_exporter/jmx_prometheus_javaagent.jar"
if [ ! -f "$JAVA_AGENT_FILE" ]
then
echo "Downloading jmx_exporter javaagent"
curl -o $JAVA_AGENT_FILE https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.16.1/jmx_prometheus_javaagent-0.16.1.jar
fi
exec /etc/confluent/docker/run

View file

@ -2,43 +2,44 @@
version: '2'
services:
zookeeper1:
image: confluentinc/cp-zookeeper:5.2.4
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- 2182:2181
kafka1:
image: confluentinc/cp-kafka:5.3.1
depends_on:
- zookeeper1
image: confluentinc/cp-kafka:7.2.1
hostname: kafka1
container_name: kafka1
ports:
- "9092:9092"
- "9997:9997"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper1:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka1:29092,PLAINTEXT_HOST://localhost:9093
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://kafka1:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
JMX_PORT: 9998
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost -Dcom.sun.management.jmxremote.rmi.port=9998
ports:
- 9093:9093
- 9998:9998
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_JMX_PORT: 9997
KAFKA_JMX_HOSTNAME: localhost
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka1:29093'
KAFKA_LISTENERS: 'PLAINTEXT://kafka1:29092,CONTROLLER://kafka1:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
volumes:
- ./scripts/update_run.sh:/tmp/update_run.sh
command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"
schemaregistry1:
image: confluentinc/cp-schema-registry:5.5.0
image: confluentinc/cp-schema-registry:7.2.1
ports:
- 18085:8085
depends_on:
- zookeeper1
- kafka1
volumes:
- ./jaas:/conf
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka1:29092
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zookeeper1:2181
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
SCHEMA_REGISTRY_HOST_NAME: schemaregistry1
SCHEMA_REGISTRY_LISTENERS: http://schemaregistry1:8085
@ -54,13 +55,29 @@ services:
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas
kafka-init-topics:
image: confluentinc/cp-kafka:5.3.1
image: confluentinc/cp-kafka:7.2.1
volumes:
- ./message.json:/data/message.json
- ./data/message.json:/data/message.json
depends_on:
- kafka1
command: "bash -c 'echo Waiting for Kafka to be ready... && \
cub kafka-ready -b kafka1:29092 1 30 && \
kafka-topics --create --topic second.users --partitions 3 --replication-factor 1 --if-not-exists --zookeeper zookeeper1:2181 && \
kafka-topics --create --topic second.messages --partitions 2 --replication-factor 1 --if-not-exists --zookeeper zookeeper1:2181 && \
kafka-console-producer --broker-list kafka1:29092 -topic second.users < /data/message.json'"
kafka-topics --create --topic users --partitions 3 --replication-factor 1 --if-not-exists --bootstrap-server kafka1:29092 && \
kafka-topics --create --topic messages --partitions 2 --replication-factor 1 --if-not-exists --bootstrap-server kafka1:29092 && \
kafka-console-producer --bootstrap-server kafka1:29092 --topic users < /data/message.json'"
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
depends_on:
- kafka1
- schemaregistry1
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka1:29092
KAFKA_CLUSTERS_0_METRICS_PORT: 9997
KAFKA_CLUSTERS_0_SCHEMAREGISTRY: http://schemaregistry1:8085
KAFKA_CLUSTERS_0_SCHEMAREGISTRYAUTH_USERNAME: admin
KAFKA_CLUSTERS_0_SCHEMAREGISTRYAUTH_PASSWORD: letmein

View file

@ -1,146 +0,0 @@
---
version: '2'
services:
zookeeper0:
image: confluentinc/cp-zookeeper:5.2.4
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- 2181:2181
kafka0:
image: confluentinc/cp-kafka:5.3.1
depends_on:
- zookeeper0
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper0:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 2
JMX_PORT: 9997
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost -Dcom.sun.management.jmxremote.rmi.port=9997
ports:
- 9092:9092
- 9997:9997
kafka01:
image: confluentinc/cp-kafka:5.3.1
depends_on:
- zookeeper0
environment:
KAFKA_BROKER_ID: 2
KAFKA_ZOOKEEPER_CONNECT: zookeeper0:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka01:29092,PLAINTEXT_HOST://localhost:9094
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT,PLAIN:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 2
JMX_PORT: 9999
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost -Dcom.sun.management.jmxremote.rmi.port=9999
ports:
- 9094:9094
- 9999:9999
zookeeper1:
image: confluentinc/cp-zookeeper:5.2.4
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- 2182:2181
kafka1:
image: confluentinc/cp-kafka:5.3.1
depends_on:
- zookeeper1
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper1:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka1:29092,PLAINTEXT_HOST://localhost:9093
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
JMX_PORT: 9998
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost -Dcom.sun.management.jmxremote.rmi.port=9998
ports:
- 9093:9093
- 9998:9998
schemaregistry0:
image: confluentinc/cp-schema-registry:5.5.0
depends_on:
- zookeeper0
- kafka0
- kafka01
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka0:29092,PLAINTEXT://kafka01:29092
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zookeeper0:2181
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
SCHEMA_REGISTRY_HOST_NAME: schemaregistry0
SCHEMA_REGISTRY_LISTENERS: http://schemaregistry0:8085
SCHEMA_REGISTRY_SCHEMA_REGISTRY_INTER_INSTANCE_PROTOCOL: "http"
SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas
ports:
- 8085:8085
schemaregistry1:
image: confluentinc/cp-schema-registry:5.5.0
ports:
- 18085:8085
depends_on:
- zookeeper1
- kafka1
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka1:29092
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zookeeper1:2181
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
SCHEMA_REGISTRY_HOST_NAME: schemaregistry1
SCHEMA_REGISTRY_LISTENERS: http://schemaregistry1:8085
SCHEMA_REGISTRY_SCHEMA_REGISTRY_INTER_INSTANCE_PROTOCOL: "http"
SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas
kafka-connect0:
image: confluentinc/cp-kafka-connect:6.0.1
ports:
- 8083:8083
depends_on:
- kafka0
- schemaregistry0
environment:
CONNECT_BOOTSTRAP_SERVERS: kafka0:29092
CONNECT_GROUP_ID: compose-connect-group
CONNECT_CONFIG_STORAGE_TOPIC: _connect_configs
CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1
CONNECT_OFFSET_STORAGE_TOPIC: _connect_offset
CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1
CONNECT_STATUS_STORAGE_TOPIC: _connect_status
CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1
CONNECT_KEY_CONVERTER: org.apache.kafka.connect.storage.StringConverter
CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: http://schemaregistry0:8085
CONNECT_VALUE_CONVERTER: org.apache.kafka.connect.storage.StringConverter
CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: http://schemaregistry0:8085
CONNECT_INTERNAL_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_INTERNAL_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_REST_ADVERTISED_HOST_NAME: kafka-connect0
CONNECT_PLUGIN_PATH: "/usr/share/java,/usr/share/confluent-hub-components"
kafka-init-topics:
image: confluentinc/cp-kafka:5.3.1
volumes:
- ./message.json:/data/message.json
depends_on:
- kafka1
command: "bash -c 'echo Waiting for Kafka to be ready... && \
cub kafka-ready -b kafka1:29092 1 30 && \
kafka-topics --create --topic second.users --partitions 3 --replication-factor 1 --if-not-exists --zookeeper zookeeper1:2181 && \
kafka-topics --create --topic second.messages --partitions 2 --replication-factor 1 --if-not-exists --zookeeper zookeeper1:2181 && \
kafka-topics --create --topic first.messages --partitions 2 --replication-factor 1 --if-not-exists --zookeeper zookeeper0:2181 && \
kafka-console-producer --broker-list kafka1:29092 -topic second.users < /data/message.json'"

View file

@ -0,0 +1,178 @@
---
version: '3.4'
services:
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
depends_on:
- kafka0
- schemaregistry0
- kafka-connect0
- ksqldb0
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL: SSL
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092 # SSL LISTENER!
KAFKA_CLUSTERS_0_PROPERTIES_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: '' # DISABLE COMMON NAME VERIFICATION
KAFKA_CLUSTERS_0_SCHEMAREGISTRY: https://schemaregistry0:8085
KAFKA_CLUSTERS_0_SCHEMAREGISTRYSSL_KEYSTORELOCATION: /kafka.keystore.jks
KAFKA_CLUSTERS_0_SCHEMAREGISTRYSSL_KEYSTOREPASSWORD: "secret"
KAFKA_CLUSTERS_0_KSQLDBSERVER: https://ksqldb0:8088
KAFKA_CLUSTERS_0_KSQLDBSERVERSSL_KEYSTORELOCATION: /kafka.keystore.jks
KAFKA_CLUSTERS_0_KSQLDBSERVERSSL_KEYSTOREPASSWORD: "secret"
KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME: local
KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS: https://kafka-connect0:8083
KAFKA_CLUSTERS_0_KAFKACONNECT_0_KEYSTORELOCATION: /kafka.keystore.jks
KAFKA_CLUSTERS_0_KAFKACONNECT_0_KEYSTOREPASSWORD: "secret"
KAFKA_CLUSTERS_0_SSL_TRUSTSTORELOCATION: /kafka.truststore.jks
KAFKA_CLUSTERS_0_SSL_TRUSTSTOREPASSWORD: "secret"
DYNAMIC_CONFIG_ENABLED: 'true' # not necessary for ssl, added for tests
volumes:
- ./ssl/kafka.truststore.jks:/kafka.truststore.jks
- ./ssl/kafka.keystore.jks:/kafka.keystore.jks
kafka0:
image: confluentinc/cp-kafka:7.2.1
hostname: kafka0
container_name: kafka0
ports:
- "9092:9092"
- "9997:9997"
environment:
KAFKA_BROKER_ID: 1
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,SSL:SSL,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'SSL://kafka0:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_JMX_PORT: 9997
KAFKA_JMX_HOSTNAME: localhost
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka0:29093'
KAFKA_LISTENERS: 'SSL://kafka0:29092,CONTROLLER://kafka0:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'SSL'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
KAFKA_SECURITY_PROTOCOL: SSL
KAFKA_SSL_ENABLED_MECHANISMS: PLAIN,SSL
KAFKA_SSL_KEYSTORE_FILENAME: kafka.keystore.jks
KAFKA_SSL_KEYSTORE_CREDENTIALS: creds
KAFKA_SSL_KEY_CREDENTIALS: creds
KAFKA_SSL_TRUSTSTORE_FILENAME: kafka.truststore.jks
KAFKA_SSL_TRUSTSTORE_CREDENTIALS: creds
#KAFKA_SSL_CLIENT_AUTH: 'required'
KAFKA_SSL_CLIENT_AUTH: 'requested'
KAFKA_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: '' # COMMON NAME VERIFICATION IS DISABLED SERVER-SIDE
volumes:
- ./scripts/update_run.sh:/tmp/update_run.sh
- ./ssl/creds:/etc/kafka/secrets/creds
- ./ssl/kafka.truststore.jks:/etc/kafka/secrets/kafka.truststore.jks
- ./ssl/kafka.keystore.jks:/etc/kafka/secrets/kafka.keystore.jks
command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"
schemaregistry0:
image: confluentinc/cp-schema-registry:7.2.1
depends_on:
- kafka0
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: SSL://kafka0:29092
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: SSL
SCHEMA_REGISTRY_KAFKASTORE_SSL_TRUSTSTORE_LOCATION: /kafka.truststore.jks
SCHEMA_REGISTRY_KAFKASTORE_SSL_TRUSTSTORE_PASSWORD: secret
SCHEMA_REGISTRY_KAFKASTORE_SSL_KEYSTORE_LOCATION: /kafka.keystore.jks
SCHEMA_REGISTRY_KAFKASTORE_SSL_KEYSTORE_PASSWORD: secret
SCHEMA_REGISTRY_KAFKASTORE_SSL_KEY_PASSWORD: secret
SCHEMA_REGISTRY_HOST_NAME: schemaregistry0
SCHEMA_REGISTRY_LISTENERS: https://schemaregistry0:8085
SCHEMA_REGISTRY_INTER_INSTANCE_PROTOCOL: https
SCHEMA_REGISTRY_SCHEMA_REGISTRY_INTER_INSTANCE_PROTOCOL: "https"
SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas
SCHEMA_REGISTRY_SSL_CLIENT_AUTHENTICATION: "REQUIRED"
SCHEMA_REGISTRY_SSL_TRUSTSTORE_LOCATION: /kafka.truststore.jks
SCHEMA_REGISTRY_SSL_TRUSTSTORE_PASSWORD: secret
SCHEMA_REGISTRY_SSL_KEYSTORE_LOCATION: /kafka.keystore.jks
SCHEMA_REGISTRY_SSL_KEYSTORE_PASSWORD: secret
SCHEMA_REGISTRY_SSL_KEY_PASSWORD: secret
ports:
- 8085:8085
volumes:
- ./ssl/kafka.truststore.jks:/kafka.truststore.jks
- ./ssl/kafka.keystore.jks:/kafka.keystore.jks
kafka-connect0:
image: confluentinc/cp-kafka-connect:7.2.1
ports:
- 8083:8083
depends_on:
- kafka0
- schemaregistry0
environment:
CONNECT_BOOTSTRAP_SERVERS: kafka0:29092
CONNECT_GROUP_ID: compose-connect-group
CONNECT_CONFIG_STORAGE_TOPIC: _connect_configs
CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1
CONNECT_OFFSET_STORAGE_TOPIC: _connect_offset
CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1
CONNECT_STATUS_STORAGE_TOPIC: _connect_status
CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1
CONNECT_KEY_CONVERTER: org.apache.kafka.connect.storage.StringConverter
CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: https://schemaregistry0:8085
CONNECT_VALUE_CONVERTER: org.apache.kafka.connect.storage.StringConverter
CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: https://schemaregistry0:8085
CONNECT_INTERNAL_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_INTERNAL_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_REST_ADVERTISED_HOST_NAME: kafka-connect0
CONNECT_PLUGIN_PATH: "/usr/share/java,/usr/share/confluent-hub-components"
CONNECT_SECURITY_PROTOCOL: "SSL"
CONNECT_SSL_KEYSTORE_LOCATION: "/kafka.keystore.jks"
CONNECT_SSL_KEY_PASSWORD: "secret"
CONNECT_SSL_KEYSTORE_PASSWORD: "secret"
CONNECT_SSL_TRUSTSTORE_LOCATION: "/kafka.truststore.jks"
CONNECT_SSL_TRUSTSTORE_PASSWORD: "secret"
CONNECT_SSL_CLIENT_AUTH: "requested"
CONNECT_REST_ADVERTISED_LISTENER: "https"
CONNECT_LISTENERS: "https://kafka-connect0:8083"
volumes:
- ./ssl/kafka.truststore.jks:/kafka.truststore.jks
- ./ssl/kafka.keystore.jks:/kafka.keystore.jks
ksqldb0:
image: confluentinc/ksqldb-server:0.18.0
depends_on:
- kafka0
- kafka-connect0
- schemaregistry0
ports:
- 8088:8088
environment:
KSQL_CUB_KAFKA_TIMEOUT: 120
KSQL_LISTENERS: https://0.0.0.0:8088
KSQL_BOOTSTRAP_SERVERS: SSL://kafka0:29092
KSQL_SECURITY_PROTOCOL: SSL
KSQL_SSL_TRUSTSTORE_LOCATION: /kafka.truststore.jks
KSQL_SSL_TRUSTSTORE_PASSWORD: secret
KSQL_SSL_KEYSTORE_LOCATION: /kafka.keystore.jks
KSQL_SSL_KEYSTORE_PASSWORD: secret
KSQL_SSL_KEY_PASSWORD: secret
KSQL_SSL_CLIENT_AUTHENTICATION: REQUIRED
KSQL_KSQL_LOGGING_PROCESSING_STREAM_AUTO_CREATE: "true"
KSQL_KSQL_LOGGING_PROCESSING_TOPIC_AUTO_CREATE: "true"
KSQL_KSQL_CONNECT_URL: https://kafka-connect0:8083
KSQL_KSQL_SCHEMA_REGISTRY_URL: https://schemaregistry0:8085
KSQL_KSQL_SERVICE_ID: my_ksql_1
KSQL_KSQL_HIDDEN_TOPICS: '^_.*'
KSQL_CACHE_MAX_BYTES_BUFFERING: 0
volumes:
- ./ssl/kafka.truststore.jks:/kafka.truststore.jks
- ./ssl/kafka.keystore.jks:/kafka.keystore.jks

View file

@ -1,47 +1,50 @@
---
version: '3.4'
services:
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
depends_on:
- zookeeper0
- kafka0
- kafka
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL: SSL
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092 # SSL LISTENER!
KAFKA_CLUSTERS_0_ZOOKEEPER: zookeeper0:2181
KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_LOCATION: /kafka.truststore.jks
KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_PASSWORD: secret
KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEYSTORE_LOCATION: /kafka.keystore.jks
KAFKA_CLUSTERS_0_PROPERTIES_SSL_KEYSTORE_PASSWORD: "secret"
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:29092 # SSL LISTENER!
KAFKA_CLUSTERS_0_SSL_TRUSTSTORELOCATION: /kafka.truststore.jks
KAFKA_CLUSTERS_0_SSL_TRUSTSTOREPASSWORD: "secret"
KAFKA_CLUSTERS_0_PROPERTIES_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: '' # DISABLE COMMON NAME VERIFICATION
volumes:
- ./ssl/kafka.truststore.jks:/kafka.truststore.jks
- ./ssl/kafka.keystore.jks:/kafka.keystore.jks
zookeeper0:
image: confluentinc/cp-zookeeper:6.0.1
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
kafka:
image: confluentinc/cp-kafka:7.2.1
hostname: kafka
container_name: kafka
ports:
- 2181:2181
kafka0:
image: confluentinc/cp-kafka:6.0.1
hostname: kafka0
depends_on:
- zookeeper0
ports:
- '9092:9092'
- "9092:9092"
- "9997:9997"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper0:2181
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,SSL:SSL,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'SSL://kafka:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_ADVERTISED_LISTENERS: SSL://kafka0:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: SSL:SSL,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: SSL
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_JMX_PORT: 9997
KAFKA_JMX_HOSTNAME: localhost
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka:29093'
KAFKA_LISTENERS: 'SSL://kafka:29092,CONTROLLER://kafka:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'SSL'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
KAFKA_SECURITY_PROTOCOL: SSL
KAFKA_SSL_ENABLED_MECHANISMS: PLAIN,SSL
KAFKA_SSL_KEYSTORE_FILENAME: kafka.keystore.jks
@ -50,9 +53,11 @@ services:
KAFKA_SSL_TRUSTSTORE_FILENAME: kafka.truststore.jks
KAFKA_SSL_TRUSTSTORE_CREDENTIALS: creds
#KAFKA_SSL_CLIENT_AUTH: 'required'
KAFKA_SSL_CLIENT_AUTH: "requested"
KAFKA_SSL_CLIENT_AUTH: 'requested'
KAFKA_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: '' # COMMON NAME VERIFICATION IS DISABLED SERVER-SIDE
volumes:
- ./scripts/update_run.sh:/tmp/update_run.sh
- ./ssl/creds:/etc/kafka/secrets/creds
- ./ssl/kafka.truststore.jks:/etc/kafka/secrets/kafka.truststore.jks
- ./ssl/kafka.keystore.jks:/etc/kafka/secrets/kafka.keystore.jks
command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"

View file

@ -0,0 +1,59 @@
---
version: '2'
services:
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
depends_on:
- zookeeper
- kafka
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:29092
KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL: SASL_PLAINTEXT
KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM: PLAIN
KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret";'
zookeeper:
image: wurstmeister/zookeeper:3.4.6
environment:
JVMFLAGS: "-Djava.security.auth.login.config=/etc/zookeeper/zookeeper_jaas.conf"
volumes:
- ./jaas/zookeeper_jaas.conf:/etc/zookeeper/zookeeper_jaas.conf
ports:
- 2181:2181
kafka:
image: confluentinc/cp-kafka:7.2.1
hostname: kafka
container_name: kafka
ports:
- "9092:9092"
- "9997:9997"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'SASL_PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_OPTS: "-Djava.security.auth.login.config=/etc/kafka/jaas/kafka_server.conf"
KAFKA_AUTHORIZER_CLASS_NAME: "kafka.security.authorizer.AclAuthorizer"
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_JMX_PORT: 9997
KAFKA_JMX_HOSTNAME: localhost
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka:29093'
KAFKA_LISTENERS: 'SASL_PLAINTEXT://kafka:29092,CONTROLLER://kafka:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'SASL_PLAINTEXT'
KAFKA_SASL_ENABLED_MECHANISMS: 'PLAIN'
KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: 'PLAIN'
KAFKA_SECURITY_PROTOCOL: 'SASL_PLAINTEXT'
KAFKA_SUPER_USERS: 'User:admin'
volumes:
- ./scripts/update_run.sh:/tmp/update_run.sh
- ./jaas:/etc/kafka/jaas

View file

@ -0,0 +1,106 @@
# ARM64 supported images for kafka can be found here
# https://hub.docker.com/r/confluentinc/cp-kafka/tags?page=1&name=arm64
---
version: '2'
services:
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
depends_on:
- kafka0
- schema-registry0
- kafka-connect0
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
KAFKA_CLUSTERS_0_METRICS_PORT: 9997
KAFKA_CLUSTERS_0_SCHEMAREGISTRY: http://schema-registry0:8085
KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME: first
KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS: http://kafka-connect0:8083
DYNAMIC_CONFIG_ENABLED: 'true' # not necessary, added for tests
KAFKA_CLUSTERS_0_AUDIT_TOPICAUDITENABLED: 'true'
KAFKA_CLUSTERS_0_AUDIT_CONSOLEAUDITENABLED: 'true'
kafka0:
image: confluentinc/cp-kafka:7.2.1.arm64
hostname: kafka0
container_name: kafka0
ports:
- 9092:9092
- 9997:9997
environment:
KAFKA_BROKER_ID: 1
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka0:29093'
KAFKA_LISTENERS: 'PLAINTEXT://kafka0:29092,CONTROLLER://kafka0:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
KAFKA_JMX_PORT: 9997
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka0 -Dcom.sun.management.jmxremote.rmi.port=9997
volumes:
- ./scripts/update_run.sh:/tmp/update_run.sh
command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"
schema-registry0:
image: confluentinc/cp-schema-registry:7.2.1.arm64
ports:
- 8085:8085
depends_on:
- kafka0
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka0:29092
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
SCHEMA_REGISTRY_HOST_NAME: schema-registry0
SCHEMA_REGISTRY_LISTENERS: http://schema-registry0:8085
SCHEMA_REGISTRY_SCHEMA_REGISTRY_INTER_INSTANCE_PROTOCOL: "http"
SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas
kafka-connect0:
image: confluentinc/cp-kafka-connect:7.2.1.arm64
ports:
- 8083:8083
depends_on:
- kafka0
- schema-registry0
environment:
CONNECT_BOOTSTRAP_SERVERS: kafka0:29092
CONNECT_GROUP_ID: compose-connect-group
CONNECT_CONFIG_STORAGE_TOPIC: _connect_configs
CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1
CONNECT_OFFSET_STORAGE_TOPIC: _connect_offset
CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1
CONNECT_STATUS_STORAGE_TOPIC: _connect_status
CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1
CONNECT_KEY_CONVERTER: org.apache.kafka.connect.storage.StringConverter
CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry0:8085
CONNECT_VALUE_CONVERTER: org.apache.kafka.connect.storage.StringConverter
CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry0:8085
CONNECT_INTERNAL_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_INTERNAL_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_REST_ADVERTISED_HOST_NAME: kafka-connect0
CONNECT_PLUGIN_PATH: "/usr/share/java,/usr/share/confluent-hub-components"
kafka-init-topics:
image: confluentinc/cp-kafka:7.2.1.arm64
volumes:
- ./data/message.json:/data/message.json
depends_on:
- kafka0
command: "bash -c 'echo Waiting for Kafka to be ready... && \
cub kafka-ready -b kafka0:29092 1 30 && \
kafka-topics --create --topic second.users --partitions 3 --replication-factor 1 --if-not-exists --bootstrap-server kafka0:29092 && \
kafka-topics --create --topic second.messages --partitions 2 --replication-factor 1 --if-not-exists --bootstrap-server kafka0:29092 && \
kafka-topics --create --topic first.messages --partitions 2 --replication-factor 1 --if-not-exists --bootstrap-server kafka0:29092 && \
kafka-console-producer --bootstrap-server kafka0:29092 --topic second.users < /data/message.json'"

View file

@ -8,52 +8,40 @@ services:
ports:
- 8080:8080
depends_on:
- zookeeper0
- kafka0
- kafka
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
KAFKA_CLUSTERS_0_ZOOKEEPER: zookeeper0:2181
KAFKA_CLUSTERS_0_JMXPORT: 9997
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:29092
KAFKA_CLUSTERS_0_METRICS_PORT: 9997
SERVER_SERVLET_CONTEXT_PATH: /kafkaui
AUTH_TYPE: "LOGIN_FORM"
SPRING_SECURITY_USER_NAME: admin
SPRING_SECURITY_USER_PASSWORD: pass
zookeeper0:
image: confluentinc/cp-zookeeper:5.2.4
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
kafka:
image: confluentinc/cp-kafka:7.2.1
hostname: kafka
container_name: kafka
ports:
- 2181:2181
kafka0:
image: confluentinc/cp-kafka:5.3.1
depends_on:
- zookeeper0
ports:
- 9092:9092
- 9997:9997
- "9092:9092"
- "9997:9997"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper0:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
JMX_PORT: 9997
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka0 -Dcom.sun.management.jmxremote.rmi.port=9997
kafka-init-topics:
image: confluentinc/cp-kafka:5.3.1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_JMX_PORT: 9997
KAFKA_JMX_HOSTNAME: localhost
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka:29093'
KAFKA_LISTENERS: 'PLAINTEXT://kafka:29092,CONTROLLER://kafka:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
volumes:
- ./message.json:/data/message.json
depends_on:
- kafka0
command: "bash -c 'echo Waiting for Kafka to be ready... && \
cub kafka-ready -b kafka0:29092 1 30 && \
kafka-topics --create --topic second.users --partitions 3 --replication-factor 1 --if-not-exists --zookeeper zookeeper0:2181 && \
kafka-topics --create --topic second.messages --partitions 2 --replication-factor 1 --if-not-exists --zookeeper zookeeper0:2181 && \
kafka-topics --create --topic first.messages --partitions 2 --replication-factor 1 --if-not-exists --zookeeper zookeeper0:2181 && \
kafka-console-producer --broker-list kafka0:29092 -topic second.users < /data/message.json'"
- ./scripts/update_run.sh:/tmp/update_run.sh
command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"

View file

@ -1,68 +1,62 @@
---
version: '2'
version: "2"
services:
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
depends_on:
- zookeeper0
- zookeeper1
- kafka0
- kafka1
- schemaregistry0
- kafka-connect0
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
KAFKA_CLUSTERS_0_ZOOKEEPER: zookeeper0:2181
KAFKA_CLUSTERS_0_JMXPORT: 9997
KAFKA_CLUSTERS_0_METRICS_PORT: 9997
KAFKA_CLUSTERS_0_SCHEMAREGISTRY: http://schemaregistry0:8085
KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME: first
KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS: http://kafka-connect0:8083
KAFKA_CLUSTERS_0_KAFKACONNECT_0_USERNAME: admin
KAFKA_CLUSTERS_0_KAFKACONNECT_0_PASSWORD: admin-secret
KAFKA_CLUSTERS_0_KSQLDBSERVER: http://ksqldb:8088
zookeeper0:
image: confluentinc/cp-zookeeper:5.2.4
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- 2181:2181
kafka0:
image: confluentinc/cp-kafka:5.3.1
depends_on:
- zookeeper0
image: confluentinc/cp-kafka:7.2.1
hostname: kafka0
container_name: kafka0
ports:
- 9092:9092
- 9997:9997
- "9092:9092"
- "9997:9997"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper0:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT"
KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092"
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
JMX_PORT: 9997
KAFKA_JMX_PORT: 9997
KAFKA_JMX_HOSTNAME: localhost
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka0 -Dcom.sun.management.jmxremote.rmi.port=9997
KAFKA_PROCESS_ROLES: "broker,controller"
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: "1@kafka0:29093"
KAFKA_LISTENERS: "PLAINTEXT://kafka0:29092,CONTROLLER://kafka0:29093,PLAINTEXT_HOST://0.0.0.0:9092"
KAFKA_INTER_BROKER_LISTENER_NAME: "PLAINTEXT"
KAFKA_CONTROLLER_LISTENER_NAMES: "CONTROLLER"
KAFKA_LOG_DIRS: "/tmp/kraft-combined-logs"
volumes:
- ./scripts/update_run.sh:/tmp/update_run.sh
command: 'bash -c ''if [ ! -f /tmp/update_run.sh ]; then echo "ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'''
schemaregistry0:
image: confluentinc/cp-schema-registry:5.5.0
image: confluentinc/cp-schema-registry:7.2.1
ports:
- 8085:8085
depends_on:
- zookeeper0
- kafka0
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka0:29092
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zookeeper0:2181
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
SCHEMA_REGISTRY_HOST_NAME: schemaregistry0
SCHEMA_REGISTRY_LISTENERS: http://schemaregistry0:8085
@ -71,12 +65,11 @@ services:
SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas
kafka-connect0:
build:
context: ./kafka-connect
args:
image: confluentinc/cp-kafka-connect:6.0.1
image: confluentinc/cp-kafka-connect:7.2.1
ports:
- 8083:8083
depends_on:
@ -100,51 +93,22 @@ services:
CONNECT_INTERNAL_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_INTERNAL_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_REST_ADVERTISED_HOST_NAME: kafka-connect0
CONNECT_REST_PORT: 8083
CONNECT_PLUGIN_PATH: "/usr/share/java,/usr/share/confluent-hub-components"
CONNECT_REST_EXTENSION_CLASSES: "org.apache.kafka.connect.rest.basic.auth.extension.BasicAuthSecurityRestExtension"
KAFKA_OPTS: "-Djava.security.auth.login.config=/conf/kafka_connect.jaas"
# AWS_ACCESS_KEY_ID: ""
# AWS_SECRET_ACCESS_KEY: ""
# AWS_ACCESS_KEY_ID: ""
# AWS_SECRET_ACCESS_KEY: ""
kafka-init-topics:
image: confluentinc/cp-kafka:5.3.1
image: confluentinc/cp-kafka:7.2.1
volumes:
- ./message.json:/data/message.json
depends_on:
- kafka1
command: "bash -c 'echo Waiting for Kafka to be ready... && \
cub kafka-ready -b kafka1:29092 1 30 && \
kafka-topics --create --topic second.users --partitions 3 --replication-factor 1 --if-not-exists --zookeeper zookeeper1:2181 && \
kafka-topics --create --topic second.messages --partitions 2 --replication-factor 1 --if-not-exists --zookeeper zookeeper1:2181 && \
kafka-topics --create --topic first.messages --partitions 2 --replication-factor 1 --if-not-exists --zookeeper zookeeper0:2181 && \
kafka-console-producer --broker-list kafka1:29092 -topic second.users < /data/message.json'"
create-connectors:
image: ellerbrock/alpine-bash-curl-ssl
depends_on:
- postgres-db
- kafka-connect0
volumes:
- ./connectors:/connectors
command: bash -c '/connectors/start.sh'
ksqldb:
image: confluentinc/ksqldb-server:0.18.0
- ./data/message.json:/data/message.json
depends_on:
- kafka0
- kafka-connect0
- schemaregistry0
ports:
- 8088:8088
environment:
KSQL_CUB_KAFKA_TIMEOUT: 120
KSQL_LISTENERS: http://0.0.0.0:8088
KSQL_BOOTSTRAP_SERVERS: PLAINTEXT://kafka0:29092
KSQL_KSQL_LOGGING_PROCESSING_STREAM_AUTO_CREATE: "true"
KSQL_KSQL_LOGGING_PROCESSING_TOPIC_AUTO_CREATE: "true"
KSQL_KSQL_CONNECT_URL: http://kafka-connect0:8083
KSQL_KSQL_SCHEMA_REGISTRY_URL: http://schemaregistry0:8085
KSQL_KSQL_SERVICE_ID: my_ksql_1
KSQL_KSQL_HIDDEN_TOPICS: '^_.*'
KSQL_CACHE_MAX_BYTES_BUFFERING: 0
command: "bash -c 'echo Waiting for Kafka to be ready... && \
cub kafka-ready -b kafka0:29092 1 30 && \
kafka-topics --create --topic users --partitions 3 --replication-factor 1 --if-not-exists --bootstrap-server kafka0:29092 && \
kafka-topics --create --topic messages --partitions 2 --replication-factor 1 --if-not-exists --bootstrap-server kafka0:29092 && \
kafka-console-producer --bootstrap-server kafka0:29092 --topic users < /data/message.json'"

View file

@ -1,201 +0,0 @@
---
version: '2'
services:
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
depends_on:
- zookeeper0
- zookeeper1
- kafka0
- kafka1
- schemaregistry0
- kafka-connect0
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
KAFKA_CLUSTERS_0_ZOOKEEPER: zookeeper0:2181
KAFKA_CLUSTERS_0_JMXPORT: 9997
KAFKA_CLUSTERS_0_SCHEMAREGISTRY: http://schemaregistry0:8085
KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME: first
KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS: http://kafka-connect0:8083
KAFKA_CLUSTERS_0_KSQLDBSERVER: http://ksqldb:8088
KAFKA_CLUSTERS_1_NAME: secondLocal
KAFKA_CLUSTERS_1_BOOTSTRAPSERVERS: kafka1:29092
KAFKA_CLUSTERS_1_ZOOKEEPER: zookeeper1:2181
KAFKA_CLUSTERS_1_JMXPORT: 9998
KAFKA_CLUSTERS_1_SCHEMAREGISTRY: http://schemaregistry1:8085
zookeeper0:
image: confluentinc/cp-zookeeper:5.2.4
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- 2181:2181
kafka0:
image: confluentinc/cp-kafka:5.3.1
depends_on:
- zookeeper0
ports:
- 9092:9092
- 9997:9997
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper0:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
JMX_PORT: 9997
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka0 -Dcom.sun.management.jmxremote.rmi.port=9997
zookeeper1:
image: confluentinc/cp-zookeeper:5.2.4
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
kafka1:
image: confluentinc/cp-kafka:5.3.1
depends_on:
- zookeeper1
ports:
- 9093:9093
- 9998:9998
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper1:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka1:29092,PLAINTEXT_HOST://localhost:9093
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
JMX_PORT: 9998
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka1 -Dcom.sun.management.jmxremote.rmi.port=9998
schemaregistry0:
image: confluentinc/cp-schema-registry:5.5.0
ports:
- 8085:8085
depends_on:
- zookeeper0
- kafka0
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka0:29092
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zookeeper0:2181
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
SCHEMA_REGISTRY_HOST_NAME: schemaregistry0
SCHEMA_REGISTRY_LISTENERS: http://schemaregistry0:8085
SCHEMA_REGISTRY_SCHEMA_REGISTRY_INTER_INSTANCE_PROTOCOL: "http"
SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas
schemaregistry1:
image: confluentinc/cp-schema-registry:5.5.0
ports:
- 18085:8085
depends_on:
- zookeeper1
- kafka1
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka1:29092
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zookeeper1:2181
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
SCHEMA_REGISTRY_HOST_NAME: schemaregistry1
SCHEMA_REGISTRY_LISTENERS: http://schemaregistry1:8085
SCHEMA_REGISTRY_SCHEMA_REGISTRY_INTER_INSTANCE_PROTOCOL: "http"
SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas
kafka-connect0:
build:
context: ./kafka-connect
args:
image: confluentinc/cp-kafka-connect:6.0.1
ports:
- 8083:8083
depends_on:
- kafka0
- schemaregistry0
environment:
CONNECT_BOOTSTRAP_SERVERS: kafka0:29092
CONNECT_GROUP_ID: compose-connect-group
CONNECT_CONFIG_STORAGE_TOPIC: _connect_configs
CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1
CONNECT_OFFSET_STORAGE_TOPIC: _connect_offset
CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1
CONNECT_STATUS_STORAGE_TOPIC: _connect_status
CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1
CONNECT_KEY_CONVERTER: org.apache.kafka.connect.storage.StringConverter
CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: http://schemaregistry0:8085
CONNECT_VALUE_CONVERTER: org.apache.kafka.connect.storage.StringConverter
CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: http://schemaregistry0:8085
CONNECT_INTERNAL_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_INTERNAL_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_REST_ADVERTISED_HOST_NAME: kafka-connect0
CONNECT_PLUGIN_PATH: "/usr/share/java,/usr/share/confluent-hub-components"
# AWS_ACCESS_KEY_ID: ""
# AWS_SECRET_ACCESS_KEY: ""
kafka-init-topics:
image: confluentinc/cp-kafka:5.3.1
volumes:
- ./message.json:/data/message.json
depends_on:
- kafka1
command: "bash -c 'echo Waiting for Kafka to be ready... && \
cub kafka-ready -b kafka1:29092 1 30 && \
kafka-topics --create --topic second.users --partitions 3 --replication-factor 1 --if-not-exists --zookeeper zookeeper1:2181 && \
kafka-topics --create --topic second.messages --partitions 2 --replication-factor 1 --if-not-exists --zookeeper zookeeper1:2181 && \
kafka-topics --create --topic first.messages --partitions 2 --replication-factor 1 --if-not-exists --zookeeper zookeeper0:2181 && \
kafka-console-producer --broker-list kafka1:29092 -topic second.users < /data/message.json'"
postgres-db:
build:
context: ./postgres
args:
image: postgres:9.6.22
ports:
- 5432:5432
environment:
POSTGRES_USER: 'dev_user'
POSTGRES_PASSWORD: '12345'
create-connectors:
image: ellerbrock/alpine-bash-curl-ssl
depends_on:
- postgres-db
- kafka-connect0
volumes:
- ./connectors:/connectors
command: bash -c '/connectors/start.sh'
ksqldb:
image: confluentinc/ksqldb-server:0.18.0
depends_on:
- kafka0
- kafka-connect0
- schemaregistry0
ports:
- 8088:8088
environment:
KSQL_CUB_KAFKA_TIMEOUT: 120
KSQL_LISTENERS: http://0.0.0.0:8088
KSQL_BOOTSTRAP_SERVERS: PLAINTEXT://kafka0:29092
KSQL_KSQL_LOGGING_PROCESSING_STREAM_AUTO_CREATE: "true"
KSQL_KSQL_LOGGING_PROCESSING_TOPIC_AUTO_CREATE: "true"
KSQL_KSQL_CONNECT_URL: http://kafka-connect0:8083
KSQL_KSQL_SCHEMA_REGISTRY_URL: http://schemaregistry0:8085
KSQL_KSQL_SERVICE_ID: my_ksql_1
KSQL_KSQL_HIDDEN_TOPICS: '^_.*'
KSQL_CACHE_MAX_BYTES_BUFFERING: 0

View file

@ -7,56 +7,48 @@ services:
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
- 5005:5005
depends_on:
- zookeeper0
- kafka0
- schemaregistry0
- kafka-connect0
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
KAFKA_CLUSTERS_0_ZOOKEEPER: zookeeper0:2181
KAFKA_CLUSTERS_0_SCHEMAREGISTRY: http://schemaregistry0:8085
KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME: first
KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS: http://kafka-connect0:8083
KAFKA_CLUSTERS_0_JMXPORT: 9997
KAFKA_CLUSTERS_0_JMXSSL: 'true'
KAFKA_CLUSTERS_0_JMXUSERNAME: root
KAFKA_CLUSTERS_0_JMXPASSWORD: password
JAVA_OPTS: >-
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
-Djavax.net.ssl.trustStore=/jmx/clienttruststore
-Djavax.net.ssl.trustStorePassword=12345678
-Djavax.net.ssl.keyStore=/jmx/clientkeystore
-Djavax.net.ssl.keyStorePassword=12345678
KAFKA_CLUSTERS_0_METRICS_PORT: 9997
KAFKA_CLUSTERS_0_METRICS_USERNAME: root
KAFKA_CLUSTERS_0_METRICS_PASSWORD: password
KAFKA_CLUSTERS_0_METRICS_KEYSTORE_LOCATION: /jmx/clientkeystore
KAFKA_CLUSTERS_0_METRICS_KEYSTORE_PASSWORD: '12345678'
KAFKA_CLUSTERS_0_SSL_TRUSTSTORE_LOCATION: /jmx/clienttruststore
KAFKA_CLUSTERS_0_SSL_TRUSTSTORE_PASSWORD: '12345678'
volumes:
- ./jmx/clienttruststore:/jmx/clienttruststore
- ./jmx/clientkeystore:/jmx/clientkeystore
zookeeper0:
image: confluentinc/cp-zookeeper:5.2.4
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- 2181:2181
kafka0:
image: confluentinc/cp-kafka:5.3.1
depends_on:
- zookeeper0
image: confluentinc/cp-kafka:7.2.1
hostname: kafka0
container_name: kafka0
ports:
- 9092:9092
- 9997:9997
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper0:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
JMX_PORT: 9997
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_JMX_PORT: 9997
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka0:29093'
KAFKA_LISTENERS: 'PLAINTEXT://kafka0:29092,CONTROLLER://kafka0:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
# CHMOD 700 FOR JMXREMOTE.* FILES
KAFKA_JMX_OPTS: >-
-Dcom.sun.management.jmxremote
@ -72,65 +64,10 @@ services:
-Dcom.sun.management.jmxremote.access.file=/jmx/jmxremote.access
-Dcom.sun.management.jmxremote.rmi.port=9997
-Djava.rmi.server.hostname=kafka0
-Djava.rmi.server.logCalls=true
# -Djavax.net.debug=ssl:handshake
volumes:
- ./jmx/serverkeystore:/jmx/serverkeystore
- ./jmx/servertruststore:/jmx/servertruststore
- ./jmx/jmxremote.password:/jmx/jmxremote.password
- ./jmx/jmxremote.access:/jmx/jmxremote.access
schemaregistry0:
image: confluentinc/cp-schema-registry:5.5.0
ports:
- 8085:8085
depends_on:
- zookeeper0
- kafka0
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka0:29092
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zookeeper0:2181
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
SCHEMA_REGISTRY_HOST_NAME: schemaregistry0
SCHEMA_REGISTRY_LISTENERS: http://schemaregistry0:8085
SCHEMA_REGISTRY_SCHEMA_REGISTRY_INTER_INSTANCE_PROTOCOL: "http"
SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas
kafka-connect0:
image: confluentinc/cp-kafka-connect:6.0.1
ports:
- 8083:8083
depends_on:
- kafka0
- schemaregistry0
environment:
CONNECT_BOOTSTRAP_SERVERS: kafka0:29092
CONNECT_GROUP_ID: compose-connect-group
CONNECT_CONFIG_STORAGE_TOPIC: _connect_configs
CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1
CONNECT_OFFSET_STORAGE_TOPIC: _connect_offset
CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1
CONNECT_STATUS_STORAGE_TOPIC: _connect_status
CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1
CONNECT_KEY_CONVERTER: org.apache.kafka.connect.storage.StringConverter
CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: http://schemaregistry0:8085
CONNECT_VALUE_CONVERTER: org.apache.kafka.connect.storage.StringConverter
CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: http://schemaregistry0:8085
CONNECT_INTERNAL_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_INTERNAL_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter
CONNECT_REST_ADVERTISED_HOST_NAME: kafka-connect0
CONNECT_PLUGIN_PATH: "/usr/share/java,/usr/share/confluent-hub-components"
kafka-init-topics:
image: confluentinc/cp-kafka:5.3.1
volumes:
- ./message.json:/data/message.json
depends_on:
- kafka0
command: "bash -c 'echo Waiting for Kafka to be ready... && \
cub kafka-ready -b kafka0:29092 1 30 && \
kafka-topics --create --topic second.users --partitions 3 --replication-factor 1 --if-not-exists --zookeeper zookeeper0:2181 && \
kafka-topics --create --topic first.messages --partitions 2 --replication-factor 1 --if-not-exists --zookeeper zookeeper0:2181 && \
kafka-console-producer --broker-list kafka0:29092 -topic second.users < /data/message.json'"
- ./jmx/serverkeystore:/jmx/serverkeystore
- ./jmx/servertruststore:/jmx/servertruststore
- ./jmx/jmxremote.password:/jmx/jmxremote.password
- ./jmx/jmxremote.access:/jmx/jmxremote.access
- ./scripts/update_run.sh:/tmp/update_run.sh
command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"

View file

@ -1,19 +0,0 @@
---
version: '2'
services:
nginx:
image: nginx:latest
volumes:
- ./proxy.conf:/etc/nginx/conf.d/default.conf
ports:
- 8080:80
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8082:8080
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:9092
SERVER_SERVLET_CONTEXT_PATH: /kafka-ui

View file

@ -8,45 +8,45 @@ services:
ports:
- 8080:8080
depends_on:
- zookeeper
- kafka
environment:
KAFKA_CLUSTERS_0_NAME: local
# SERVER_SERVLET_CONTEXT_PATH: "/kafkaui"
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:9092
KAFKA_CLUSTERS_0_ZOOKEEPER: zookeeper:2181
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:29092
KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL: SASL_PLAINTEXT
KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM: PLAIN
KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret";'
zookeeper:
image: confluentinc/cp-zookeeper:5.2.4
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- 2181:2181
DYNAMIC_CONFIG_ENABLED: true # not necessary for sasl auth, added for tests
kafka:
image: wurstmeister/kafka:latest
image: confluentinc/cp-kafka:7.2.1
hostname: kafka
container_name: kafka
depends_on:
- zookeeper
ports:
- '9092:9092'
- "9092:9092"
- "9997:9997"
environment:
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
KAFKA_LISTENERS: SASL_PLAINTEXT://kafka:9092
KAFKA_ADVERTISED_LISTENERS: SASL_PLAINTEXT://kafka:9092
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
ALLOW_PLAINTEXT_LISTENER: 'yes'
KAFKA_BROKER_ID: 1
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,SASL_PLAINTEXT:SASL_PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'SASL_PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_OPTS: "-Djava.security.auth.login.config=/etc/kafka/jaas/kafka_server.conf"
KAFKA_AUTHORIZER_CLASS_NAME: kafka.security.auth.SimpleAclAuthorizer
KAFKA_INTER_BROKER_LISTENER_NAME: SASL_PLAINTEXT
KAFKA_SASL_ENABLED_MECHANISMS: PLAIN
KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN
KAFKA_SECURITY_PROTOCOL: SASL_PLAINTEXT
KAFKA_SUPER_USERS: User:admin,User:enzo
KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: 'true'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_JMX_PORT: 9997
KAFKA_JMX_HOSTNAME: localhost
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka:29093'
KAFKA_LISTENERS: 'SASL_PLAINTEXT://kafka:29092,CONTROLLER://kafka:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'SASL_PLAINTEXT'
KAFKA_SASL_ENABLED_MECHANISMS: 'PLAIN'
KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: 'PLAIN'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
KAFKA_SECURITY_PROTOCOL: 'SASL_PLAINTEXT'
KAFKA_SUPER_USERS: 'User:admin,User:enzo'
volumes:
- ./jaas:/etc/kafka/jaas
- ./scripts/update_run.sh:/tmp/update_run.sh
- ./jaas:/etc/kafka/jaas
command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"

View file

@ -0,0 +1,113 @@
---
version: '2'
services:
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
depends_on:
- kafka0
- schemaregistry0
environment:
kafka.clusters.0.name: SerdeExampleCluster
kafka.clusters.0.bootstrapServers: kafka0:29092
kafka.clusters.0.schemaRegistry: http://schemaregistry0:8085
# optional SSL settings for cluster (will be used by SchemaRegistry serde, if set)
#kafka.clusters.0.ssl.keystoreLocation: /kafka.keystore.jks
#kafka.clusters.0.ssl.keystorePassword: "secret"
#kafka.clusters.0.ssl.truststoreLocation: /kafka.truststore.jks
#kafka.clusters.0.ssl.truststorePassword: "secret"
# optional auth properties for SR
#kafka.clusters.0.schemaRegistryAuth.username: "use"
#kafka.clusters.0.schemaRegistryAuth.password: "pswrd"
kafka.clusters.0.defaultKeySerde: Int32 #optional
kafka.clusters.0.defaultValueSerde: String #optional
kafka.clusters.0.serde.0.name: ProtobufFile
kafka.clusters.0.serde.0.topicKeysPattern: "topic1"
kafka.clusters.0.serde.0.topicValuesPattern: "topic1"
kafka.clusters.0.serde.0.properties.protobufFilesDir: /protofiles/
kafka.clusters.0.serde.0.properties.protobufMessageNameForKey: test.MyKey # default type for keys
kafka.clusters.0.serde.0.properties.protobufMessageName: test.MyValue # default type for values
kafka.clusters.0.serde.0.properties.protobufMessageNameForKeyByTopic.topic1: test.MySpecificTopicKey # keys type for topic "topic1"
kafka.clusters.0.serde.0.properties.protobufMessageNameByTopic.topic1: test.MySpecificTopicValue # values type for topic "topic1"
kafka.clusters.0.serde.1.name: String
#kafka.clusters.0.serde.1.properties.encoding: "UTF-16" #optional, default is UTF-8
kafka.clusters.0.serde.1.topicValuesPattern: "json-events|text-events"
kafka.clusters.0.serde.2.name: AsciiString
kafka.clusters.0.serde.2.className: com.provectus.kafka.ui.serdes.builtin.StringSerde
kafka.clusters.0.serde.2.properties.encoding: "ASCII"
kafka.clusters.0.serde.3.name: SchemaRegistry # will be configured automatically using cluster SR
kafka.clusters.0.serde.3.topicValuesPattern: "sr-topic.*"
kafka.clusters.0.serde.4.name: AnotherSchemaRegistry
kafka.clusters.0.serde.4.className: com.provectus.kafka.ui.serdes.builtin.sr.SchemaRegistrySerde
kafka.clusters.0.serde.4.properties.url: http://schemaregistry0:8085
kafka.clusters.0.serde.4.properties.keySchemaNameTemplate: "%s-key"
kafka.clusters.0.serde.4.properties.schemaNameTemplate: "%s-value"
#kafka.clusters.0.serde.4.topicValuesPattern: "sr2-topic.*"
# optional auth and ssl properties for SR (overrides cluster-level):
#kafka.clusters.0.serde.4.properties.username: "user"
#kafka.clusters.0.serde.4.properties.password: "passw"
#kafka.clusters.0.serde.4.properties.keystoreLocation: /kafka.keystore.jks
#kafka.clusters.0.serde.4.properties.keystorePassword: "secret"
#kafka.clusters.0.serde.4.properties.truststoreLocation: /kafka.truststore.jks
#kafka.clusters.0.serde.4.properties.truststorePassword: "secret"
kafka.clusters.0.serde.5.name: UInt64
kafka.clusters.0.serde.5.topicKeysPattern: "topic-with-uint64keys"
volumes:
- ./proto:/protofiles
kafka0:
image: confluentinc/cp-kafka:7.2.1
hostname: kafka0
container_name: kafka0
ports:
- "9092:9092"
- "9997:9997"
environment:
KAFKA_BROKER_ID: 1
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_JMX_PORT: 9997
KAFKA_JMX_HOSTNAME: localhost
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka0 -Dcom.sun.management.jmxremote.rmi.port=9997
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka0:29093'
KAFKA_LISTENERS: 'PLAINTEXT://kafka0:29092,CONTROLLER://kafka0:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
volumes:
- ./scripts/update_run.sh:/tmp/update_run.sh
command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"
schemaregistry0:
image: confluentinc/cp-schema-registry:7.2.1
ports:
- 8085:8085
depends_on:
- kafka0
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka0:29092
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
SCHEMA_REGISTRY_HOST_NAME: schemaregistry0
SCHEMA_REGISTRY_LISTENERS: http://schemaregistry0:8085
SCHEMA_REGISTRY_SCHEMA_REGISTRY_INTER_INSTANCE_PROTOCOL: "http"
SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas

View file

@ -0,0 +1,44 @@
---
version: '2'
services:
kafka0:
image: confluentinc/cp-kafka:7.2.1
hostname: kafka0
container_name: kafka0
ports:
- "9092:9092"
- "11001:11001"
environment:
KAFKA_BROKER_ID: 1
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka0:29093'
KAFKA_LISTENERS: 'PLAINTEXT://kafka0:29092,CONTROLLER://kafka0:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
KAFKA_OPTS: -javaagent:/usr/share/jmx_exporter/jmx_prometheus_javaagent.jar=11001:/usr/share/jmx_exporter/kafka-broker.yml
volumes:
- ./jmx-exporter:/usr/share/jmx_exporter/
- ./scripts/update_run.sh:/tmp/update_run.sh
command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /usr/share/jmx_exporter/kafka-prepare-and-run ; fi'"
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
depends_on:
- kafka0
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
KAFKA_CLUSTERS_0_METRICS_PORT: 11001
KAFKA_CLUSTERS_0_METRICS_TYPE: PROMETHEUS

View file

@ -8,86 +8,88 @@ services:
ports:
- 8080:8080
depends_on:
- zookeeper0
- zookeeper1
- kafka0
- kafka1
- schemaregistry0
- schemaregistry1
- kafka-connect0
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
KAFKA_CLUSTERS_0_ZOOKEEPER: zookeeper0:2181
KAFKA_CLUSTERS_0_JMXPORT: 9997
KAFKA_CLUSTERS_0_METRICS_PORT: 9997
KAFKA_CLUSTERS_0_SCHEMAREGISTRY: http://schemaregistry0:8085
KAFKA_CLUSTERS_0_KAFKACONNECT_0_NAME: first
KAFKA_CLUSTERS_0_KAFKACONNECT_0_ADDRESS: http://kafka-connect0:8083
KAFKA_CLUSTERS_1_NAME: secondLocal
KAFKA_CLUSTERS_1_BOOTSTRAPSERVERS: kafka1:29092
KAFKA_CLUSTERS_1_ZOOKEEPER: zookeeper1:2181
KAFKA_CLUSTERS_1_JMXPORT: 9998
KAFKA_CLUSTERS_1_METRICS_PORT: 9998
KAFKA_CLUSTERS_1_SCHEMAREGISTRY: http://schemaregistry1:8085
KAFKA_CLUSTERS_1_KAFKACONNECT_0_NAME: first
KAFKA_CLUSTERS_1_KAFKACONNECT_0_ADDRESS: http://kafka-connect0:8083
zookeeper0:
image: confluentinc/cp-zookeeper:5.2.4
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
ports:
- 2181:2181
DYNAMIC_CONFIG_ENABLED: 'true'
kafka0:
image: confluentinc/cp-kafka:5.3.1
depends_on:
- zookeeper0
image: confluentinc/cp-kafka:7.2.1
hostname: kafka0
container_name: kafka0
ports:
- 9092:9092
- 9997:9997
- "9092:9092"
- "9997:9997"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper0:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
JMX_PORT: 9997
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_JMX_PORT: 9997
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka0 -Dcom.sun.management.jmxremote.rmi.port=9997
zookeeper1:
image: confluentinc/cp-zookeeper:5.2.4
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka0:29093'
KAFKA_LISTENERS: 'PLAINTEXT://kafka0:29092,CONTROLLER://kafka0:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
volumes:
- ./scripts/update_run.sh:/tmp/update_run.sh
command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"
kafka1:
image: confluentinc/cp-kafka:5.3.1
depends_on:
- zookeeper1
image: confluentinc/cp-kafka:7.2.1
hostname: kafka1
container_name: kafka1
ports:
- 9093:9093
- 9998:9998
- "9093:9092"
- "9998:9998"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper1:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka1:29092,PLAINTEXT_HOST://localhost:9093
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://kafka1:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
JMX_PORT: 9998
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka1 -Dcom.sun.management.jmxremote.rmi.port=9998
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_JMX_PORT: 9998
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka0 -Dcom.sun.management.jmxremote.rmi.port=9998
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka1:29093'
KAFKA_LISTENERS: 'PLAINTEXT://kafka1:29092,CONTROLLER://kafka1:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
volumes:
- ./scripts/update_run.sh:/tmp/update_run.sh
command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"
schemaregistry0:
image: confluentinc/cp-schema-registry:5.5.0
image: confluentinc/cp-schema-registry:7.2.1
ports:
- 8085:8085
depends_on:
- zookeeper0
- kafka0
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka0:29092
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zookeeper0:2181
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
SCHEMA_REGISTRY_HOST_NAME: schemaregistry0
SCHEMA_REGISTRY_LISTENERS: http://schemaregistry0:8085
@ -97,15 +99,13 @@ services:
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas
schemaregistry1:
image: confluentinc/cp-schema-registry:5.5.0
image: confluentinc/cp-schema-registry:7.2.1
ports:
- 18085:8085
depends_on:
- zookeeper1
- kafka1
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka1:29092
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: zookeeper1:2181
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
SCHEMA_REGISTRY_HOST_NAME: schemaregistry1
SCHEMA_REGISTRY_LISTENERS: http://schemaregistry1:8085
@ -115,7 +115,7 @@ services:
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas
kafka-connect0:
image: confluentinc/cp-kafka-connect:6.0.1
image: confluentinc/cp-kafka-connect:7.2.1
ports:
- 8083:8083
depends_on:
@ -140,14 +140,14 @@ services:
CONNECT_PLUGIN_PATH: "/usr/share/java,/usr/share/confluent-hub-components"
kafka-init-topics:
image: confluentinc/cp-kafka:5.3.1
image: confluentinc/cp-kafka:7.2.1
volumes:
- ./message.json:/data/message.json
- ./data/message.json:/data/message.json
depends_on:
- kafka1
command: "bash -c 'echo Waiting for Kafka to be ready... && \
cub kafka-ready -b kafka1:29092 1 30 && \
kafka-topics --create --topic second.users --partitions 3 --replication-factor 1 --if-not-exists --zookeeper zookeeper1:2181 && \
kafka-topics --create --topic second.messages --partitions 2 --replication-factor 1 --if-not-exists --zookeeper zookeeper1:2181 && \
kafka-topics --create --topic first.messages --partitions 2 --replication-factor 1 --if-not-exists --zookeeper zookeeper0:2181 && \
kafka-console-producer --broker-list kafka1:29092 -topic second.users < /data/message.json'"
kafka-topics --create --topic second.users --partitions 3 --replication-factor 1 --if-not-exists --bootstrap-server kafka1:29092 && \
kafka-topics --create --topic second.messages --partitions 2 --replication-factor 1 --if-not-exists --bootstrap-server kafka1:29092 && \
kafka-topics --create --topic first.messages --partitions 2 --replication-factor 1 --if-not-exists --bootstrap-server kafka0:29092 && \
kafka-console-producer --bootstrap-server kafka1:29092 -topic second.users < /data/message.json'"

View file

@ -0,0 +1,48 @@
---
version: '2'
services:
zookeeper:
image: confluentinc/cp-zookeeper:7.2.1
hostname: zookeeper
container_name: zookeeper
ports:
- "2181:2181"
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
kafka:
image: confluentinc/cp-server:7.2.1
hostname: kafka
container_name: kafka
depends_on:
- zookeeper
ports:
- "9092:9092"
- "9997:9997"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_CONFLUENT_LICENSE_TOPIC_REPLICATION_FACTOR: 1
KAFKA_CONFLUENT_BALANCER_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_JMX_PORT: 9997
KAFKA_JMX_HOSTNAME: kafka
kafka-init-topics:
image: confluentinc/cp-kafka:7.2.1
volumes:
- ./data/message.json:/data/message.json
depends_on:
- kafka
command: "bash -c 'echo Waiting for Kafka to be ready... && \
cub kafka-ready -b kafka:29092 1 30 && \
kafka-topics --create --topic users --partitions 3 --replication-factor 1 --if-not-exists --bootstrap-server kafka:29092 && \
kafka-topics --create --topic messages --partitions 2 --replication-factor 1 --if-not-exists --bootstrap-server kafka:29092 && \
kafka-console-producer --bootstrap-server kafka:29092 --topic users < /data/message.json'"

View file

@ -0,0 +1,79 @@
---
version: '2'
services:
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
depends_on:
- kafka0
- schemaregistry0
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka0:29092
KAFKA_CLUSTERS_0_METRICS_PORT: 9997
KAFKA_CLUSTERS_0_SCHEMAREGISTRY: http://schemaregistry0:8085
AUTH_TYPE: "LDAP"
SPRING_LDAP_URLS: "ldap://ldap:10389"
SPRING_LDAP_BASE: "cn={0},ou=people,dc=planetexpress,dc=com"
SPRING_LDAP_ADMIN_USER: "cn=admin,dc=planetexpress,dc=com"
SPRING_LDAP_ADMIN_PASSWORD: "GoodNewsEveryone"
SPRING_LDAP_USER_FILTER_SEARCH_BASE: "dc=planetexpress,dc=com"
SPRING_LDAP_USER_FILTER_SEARCH_FILTER: "(&(uid={0})(objectClass=inetOrgPerson))"
SPRING_LDAP_GROUP_FILTER_SEARCH_BASE: "ou=people,dc=planetexpress,dc=com"
# OAUTH2.LDAP.ACTIVEDIRECTORY: true
# OAUTH2.LDAP.AСTIVEDIRECTORY.DOMAIN: "memelord.lol"
ldap:
image: rroemhild/test-openldap:latest
hostname: "ldap"
ports:
- 10389:10389
kafka0:
image: confluentinc/cp-kafka:7.2.1
hostname: kafka0
container_name: kafka0
ports:
- "9092:9092"
- "9997:9997"
environment:
KAFKA_BROKER_ID: 1
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://kafka0:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_JMX_PORT: 9997
KAFKA_JMX_HOSTNAME: localhost
KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka0 -Dcom.sun.management.jmxremote.rmi.port=9997
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_NODE_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka0:29093'
KAFKA_LISTENERS: 'PLAINTEXT://kafka0:29092,CONTROLLER://kafka0:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
volumes:
- ./scripts/update_run.sh:/tmp/update_run.sh
command: "bash -c 'if [ ! -f /tmp/update_run.sh ]; then echo \"ERROR: Did you forget the update_run.sh file that came with this docker-compose.yml file?\" && exit 1 ; else /tmp/update_run.sh && /etc/confluent/docker/run ; fi'"
schemaregistry0:
image: confluentinc/cp-schema-registry:7.2.1
ports:
- 8085:8085
depends_on:
- kafka0
environment:
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://kafka0:29092
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL: PLAINTEXT
SCHEMA_REGISTRY_HOST_NAME: schemaregistry0
SCHEMA_REGISTRY_LISTENERS: http://schemaregistry0:8085
SCHEMA_REGISTRY_SCHEMA_REGISTRY_INTER_INSTANCE_PROTOCOL: "http"
SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
SCHEMA_REGISTRY_KAFKASTORE_TOPIC: _schemas

View file

@ -0,0 +1,19 @@
---
version: '2'
services:
nginx:
image: nginx:latest
volumes:
- ./data/proxy.conf:/etc/nginx/conf.d/default.conf
ports:
- 8080:80
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8082:8080
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:9092
SERVER_SERVLET_CONTEXT_PATH: /kafka-ui

View file

@ -0,0 +1,15 @@
syntax = "proto3";
package test;
import "google/protobuf/wrappers.proto";
message MyKey {
string myKeyF1 = 1;
google.protobuf.UInt64Value uint_64_wrapper = 2;
}
message MySpecificTopicKey {
string special_field1 = 1;
string special_field2 = 2;
google.protobuf.FloatValue float_wrapper = 3;
}

View file

@ -0,0 +1,14 @@
syntax = "proto3";
package test;
message MySpecificTopicValue {
string f1 = 1;
string f2 = 2;
}
message MyValue {
int32 version = 1;
string payload = 2;
map<int32, string> intToStringMap = 3;
map<string, MyValue> strToObjMap = 4;
}

View file

@ -0,0 +1 @@
zlFiTJelTOuhnklFwLWixw

View file

@ -0,0 +1 @@
kafka-storage random-uuid > /workspace/kafka-ui/documentation/compose/clusterID

Some files were not shown because too many files have changed in this diff Show more