Browse Source

Documentation update (#1381)

* Update issue templates

* Update PULL_REQUEST_TEMPLATE.md

* Update PULL_REQUEST_TEMPLATE.md

* Update stale labels

* Move files, minor updates

* Moved files, minor updates

* Update bug_report.md

* Update feature_request.md

* Add roadmap document

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

* Update SECURITY.md

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

* Update stale periods

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

* Add a stub for guidelines for QA

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

* Extract building/running instructions from the readme

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

* move testing guidelines

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

* Table of contents for contributing

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

* Add license and release badges

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

* Add info about actuator endpoints

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

* Update logotype and slogan

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

* Redone contributing guide

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

* Minor updates

Signed-off-by: Roman Zabaluev <rzabaluev@provectus.com>
Roman Zabaluev 3 years ago
parent
commit
f4f8b4fa67
60 changed files with 260 additions and 100 deletions
  1. 12 4
      .github/ISSUE_TEMPLATE/bug_report.md
  2. 2 9
      .github/ISSUE_TEMPLATE/feature_request.md
  3. 10 6
      .github/PULL_REQUEST_TEMPLATE.md
  4. 3 2
      .github/stale.yml
  5. 70 20
      CONTRIBUTING.md
  6. 17 52
      README.md
  7. 3 4
      SECURITY.md
  8. 0 3
      docker-openjdk/Dockerfile
  9. 0 0
      documentation/compose/DOCKER_COMPOSE.md
  10. 0 0
      documentation/compose/auth-ldap.yaml
  11. 0 0
      documentation/compose/connectors/github-source.json
  12. 0 0
      documentation/compose/connectors/s3-sink.json
  13. 0 0
      documentation/compose/connectors/sink-activities.json
  14. 0 0
      documentation/compose/connectors/source-activities.json
  15. 0 0
      documentation/compose/connectors/start.sh
  16. 0 0
      documentation/compose/jaas/client.properties
  17. 0 0
      documentation/compose/jaas/kafka_server.conf
  18. 0 0
      documentation/compose/jaas/schema_registry.jaas
  19. 0 0
      documentation/compose/jaas/schema_registry.password
  20. 0 0
      documentation/compose/jmx/clientkeystore
  21. 0 0
      documentation/compose/jmx/clienttruststore
  22. 0 0
      documentation/compose/jmx/jmxremote.access
  23. 0 0
      documentation/compose/jmx/jmxremote.password
  24. 0 0
      documentation/compose/jmx/serverkeystore
  25. 0 0
      documentation/compose/jmx/servertruststore
  26. 0 0
      documentation/compose/kafka-cluster-sr-auth.yaml
  27. 0 0
      documentation/compose/kafka-clusters-only.yaml
  28. 0 0
      documentation/compose/kafka-connect/Dockerfile
  29. 0 0
      documentation/compose/kafka-ui-auth-context.yaml
  30. 0 0
      documentation/compose/kafka-ui-connectors.yaml
  31. 0 0
      documentation/compose/kafka-ui-jmx-secured.yml
  32. 0 0
      documentation/compose/kafka-ui-reverse-proxy.yaml
  33. 0 0
      documentation/compose/kafka-ui-sasl.yaml
  34. 0 0
      documentation/compose/kafka-ui-traefik-proxy.yaml
  35. 0 0
      documentation/compose/kafka-ui-zookeeper-ssl.yml
  36. 0 0
      documentation/compose/kafka-ui.yaml
  37. 0 0
      documentation/compose/message.json
  38. 0 0
      documentation/compose/postgres/Dockerfile
  39. 0 0
      documentation/compose/postgres/data.sql
  40. 0 0
      documentation/compose/proxy.conf
  41. 0 0
      documentation/compose/traefik/kafkaui.yaml
  42. 0 0
      documentation/guides/AWS_IAM.md
  43. 0 0
      documentation/guides/SASL_SCRAM.md
  44. 0 0
      documentation/guides/SSO.md
  45. 0 0
      documentation/images/Connector_Topic_Consumer.gif
  46. 0 0
      documentation/images/Create_message_kafka-ui.gif
  47. 0 0
      documentation/images/Create_schema.gif
  48. 0 0
      documentation/images/Create_topic_kafka-ui.gif
  49. 0 0
      documentation/images/Interface.gif
  50. 0 0
      documentation/images/Schema_Topic.gif
  51. 0 0
      documentation/images/free-open-source.svg
  52. BIN
      documentation/images/kafka-ui-logo.png
  53. 22 0
      documentation/project/ROADMAP.md
  54. 9 0
      documentation/project/contributing/README.md
  55. 23 0
      documentation/project/contributing/building.md
  56. 21 0
      documentation/project/contributing/running.md
  57. 8 0
      documentation/project/contributing/set-up-git.md
  58. 32 0
      documentation/project/contributing/software-required.md
  59. 28 0
      documentation/project/contributing/testing.md
  60. BIN
      images/kafka-ui-logo.png

+ 12 - 4
.github/ISSUE_TEMPLATE/bug_report.md

@@ -1,19 +1,21 @@
 ---
 ---
 name: "\U0001F41E  Bug report"
 name: "\U0001F41E  Bug report"
-about: Create a report to help us improve
-title: ''
-labels: type/bug
+about: Create a bug report
+title: "[Bug]"
+labels: status/triage, type/bug
 assignees: ''
 assignees: ''
 
 
 ---
 ---
 
 
 **Describe the bug**
 **Describe the bug**
-(A clear and concise description of what the bug is.)
+<!--(A clear and concise description of what the bug is.)-->
 
 
 
 
 **Set up**
 **Set up**
+<!--
 (How do you run the app? 
 (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.)
 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**
@@ -22,11 +24,17 @@ Steps to reproduce the behavior:
 1. 
 1. 
 
 
 **Expected behavior**
 **Expected behavior**
+<!--
 (A clear and concise description of what you expected to happen)
 (A clear and concise description of what you expected to happen)
+-->
 
 
 **Screenshots**
 **Screenshots**
+<!--
 (If applicable, add screenshots to help explain your problem)
 (If applicable, add screenshots to help explain your problem)
+-->
 
 
 
 
 **Additional context**
 **Additional context**
+<!--
 (Add any other context about the problem here)
 (Add any other context about the problem here)
+-->

+ 2 - 9
.github/ISSUE_TEMPLATE/feature_request.md

@@ -1,8 +1,8 @@
 ---
 ---
 name: "\U0001F680 Feature request"
 name: "\U0001F680 Feature request"
 about: Propose a new feature
 about: Propose a new feature
-title: ''
-labels: type/enhancement
+title: "[Feature]"
+labels: status/triage, type/feature
 assignees: ''
 assignees: ''
 
 
 ---
 ---
@@ -14,24 +14,18 @@ assignees: ''
   For example, "I'm always frustrated when..."
   For example, "I'm always frustrated when..."
 -->
 -->
 
 
-(Write your answer here.)
-
 ### Describe the solution you'd like
 ### Describe the solution you'd like
 
 
 <!--
 <!--
   Provide a clear and concise description of what you want to happen.
   Provide a clear and concise description of what you want to happen.
 -->
 -->
 
 
-(Describe your proposed solution here.)
-
 ### Describe alternatives you've considered
 ### Describe alternatives you've considered
 
 
 <!--
 <!--
   Let us know about other solutions you've tried or researched.
   Let us know about other solutions you've tried or researched.
 -->
 -->
 
 
-(Write your answer here.)
-
 ### Additional context
 ### Additional context
 
 
 <!--
 <!--
@@ -39,4 +33,3 @@ assignees: ''
   You might want to link to related issues here, if you haven't already.
   You might want to link to related issues here, if you haven't already.
 -->
 -->
 
 
-(Write your answer here.)

+ 10 - 6
.github/PULL_REQUEST_TEMPLATE.md

@@ -1,27 +1,31 @@
 <!-- ignore-task-list-start -->
 <!-- ignore-task-list-start -->
-- [ ] **Breaking change?** (if so, please describe the impact and migration path for existing applications:)
+- [ ] **Breaking change?** (if so, please describe the impact and migration path for existing application instances)
+
+
 <!-- ignore-task-list-end -->
 <!-- ignore-task-list-end -->
 **What changes did you make?** (Give an overview)
 **What changes did you make?** (Give an overview)
 
 
 **Is there anything you'd like reviewers to focus on?**
 **Is there anything you'd like reviewers to focus on?**
 
 
 
 
-**How Has This Been Tested?** (put an "X" next to an item)
+**How Has This Been Tested?** (put an "x" (case-sensitive!) next to an item)
 <!-- ignore-task-list-start -->
 <!-- ignore-task-list-start -->
 - [ ] No need to
 - [ ] No need to
-- [ ] Manually(please, describe, when necessary)
+- [ ] Manually (please, describe, if necessary)
 - [ ] Unit checks
 - [ ] Unit checks
 - [ ] Integration checks
 - [ ] Integration checks
 - [ ] Covered by existing automation
 - [ ] Covered by existing automation
 <!-- ignore-task-list-end -->
 <!-- ignore-task-list-end -->
 
 
-**Checklist** (put an "X" next to an item, otherwise PR will fail)
+**Checklist** (put an "x" (case-sensitive!) next to all the items, otherwise the build will fail)
 - [ ] I have performed a self-review of my own code
 - [ ] I have performed a self-review of my own code
 - [ ] I have commented my code, particularly in hard-to-understand areas
 - [ ] I have commented my code, particularly in hard-to-understand areas
 - [ ] I have made corresponding changes to the documentation (e.g. **ENVIRONMENT VARIABLES**)
 - [ ] I have made corresponding changes to the documentation (e.g. **ENVIRONMENT VARIABLES**)
-- [ ] My changes generate no new warnings(e.g. Sonar is happy)
+- [ ] My changes generate no new warnings (e.g. Sonar is happy)
 - [ ] I have added tests that prove my fix is effective or that my feature works
 - [ ] I have added tests that prove my fix is effective or that my feature works
 - [ ] New and existing unit tests pass locally with my changes
 - [ ] New and existing unit tests pass locally with my changes
 - [ ] Any dependent changes have been merged
 - [ ] Any dependent changes have been merged
 
 
-Check out [Contributing](https://github.com/provectus/kafka-ui/blob/master/CONTRIBUTING.md) and [Code of Conduct](https://github.com/provectus/kafka-ui/blob/master/CODE-OF-CONDUCT.md)
+Check out [Contributing](https://github.com/provectus/kafka-ui/blob/master/CONTRIBUTING.md) and [Code of Conduct](https://github.com/provectus/kafka-ui/blob/master/CODE-OF-CONDUCT.md)
+
+**A picture of a cute animal (not mandatory but encouraged)**

+ 3 - 2
.github/stale.yml

@@ -1,13 +1,14 @@
 # Number of days of inactivity before an issue becomes stale
 # Number of days of inactivity before an issue becomes stale
-daysUntilStale: 30
+daysUntilStale: 7
 # Number of days of inactivity before a stale issue is closed
 # Number of days of inactivity before a stale issue is closed
-daysUntilClose: 7
+daysUntilClose: 3
 # Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
 # Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
 onlyLabels:
 onlyLabels:
   - 'status/pending'
   - 'status/pending'
 # Issues with these labels will never be considered stale
 # Issues with these labels will never be considered stale
 exemptLabels:
 exemptLabels:
   - 'status/on-hold'
   - 'status/on-hold'
+  - 'status/blocked'
   - 'status/triage'
   - 'status/triage'
   - 'type/security'
   - 'type/security'
 # Label to use when marking an issue as stale
 # Label to use when marking an issue as stale

+ 70 - 20
CONTRIBUTING.md

@@ -1,44 +1,94 @@
-# Contributing
+The following guide is aimed at explaining the process of working on an issue(-s) and Pull Requests (PRs).
 
 
-When contributing to this repository, please first discuss the change you wish to make via issue,
-email, or any other method with the maintainers of the repository before making a change. 
+Completing some of the steps isn't possible by yourself if you don't have a write permission. Feel free to ask the maintainers to help you out with the unavailable actions.
+
+# General recommendations
 
 
 Please note we have a code of conduct (`CODE-OF-CONDUCT.md`), please follow it in all your interactions with the project.
 Please note we have a code of conduct (`CODE-OF-CONDUCT.md`), please follow it in all your interactions with the project.
 
 
-## Pull Request Process
 
 
-### General rules
+# Issues
 
 
-1. Ensure any install or build dependencies have been removed before the end of the layer when composing a 
-   build.
-2. Update the `README.md` with details of changes to the interface, this includes new environment 
-   variables, exposed ports, useful file locations and container parameters.
-3. Start a pull request name with issue number (ex. #123).
-4. You may merge the pull request once you have the approval of two other developers. In case you 
-   don't have permissions to do that, you may request the second reviewer to merge it for you.
+## Choosing an issue
+
+Basically, there are two places to look up for the issues to contribute to. <br/>
+The first one is our ["Up for grabs"](https://github.com/provectus/kafka-ui/projects/11) board, where issues are sorted by required experience level (beginner, intermediate, expert).
+
+The second place is searching up for ["good first issue"](https://github.com/provectus/kafka-ui/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)-labeled issues. Some of them might not be present in the aforementioned board or vice versa.
+
+The next thing to consider is labels. You can sort the issues by scope labels, like, `scope/backend`, `scope/frontend` or even `scope/k8s`. If the issue requires a few areas to work on, and you don't have a required expertise, still feel free to pick it and do your part, others will do the rest.
+
+## Grabbing the issue
+
+There is a bunch of criteria for an issue to be liable for development. <br/>
+The implementation of the features and/or their enhancements should be reasonable, must be backed by justified requirements (demanded by community, [roadmap](documentation/project/ROADMAP.md) plans, etc.). Final decision is left for maintainers' discretion. <br/>
+All the bugs should be confirmed as such (that the behavior is unintended).
+
+The issue should be properly triaged by maintainers beforehand, which includes:
+1. Having a proper milestone set
+2. Having required labels assigned: accepted label, scope labels and others.
+
+Formally, having the aforementioned triage conditions is enough to get started.
+
+Having all these requirements present, feel free to pick the issue you want. Ask the maintainers in case of doubt.
+
+## Working on the issue
+
+Every issue which is being worked on has to be assigned to the corresponding person. <br/>
+To keep the status of the issue clear, please keep the card' status actual ("project" card on the right side of the issue, should be the same as the milestone name).
 
 
-### Branch naming
+## Setting up a local development environment
+
+Please refer to [this guide](documentation/project/contributing/README.md).
+
+# Pull Requests
+
+## Branch naming
 
 
 In order to keep branch names understandable and similar please use the corresponding branch naming conventions.
 In order to keep branch names understandable and similar please use the corresponding branch naming conventions.
 
 
-Generally speaking, it's a good idea to add a group/type prefix for a branch, e.g., 
-if you're working on a specific branch you could name your branch `issues/xxx`. 
+Generally speaking, it's a good idea to add a group/type prefix for a branch, e.g.,
+if you're working on a specific branch you could name your branch `issues/xxx`.
 
 
 Here's a list of good examples:<br/>
 Here's a list of good examples:<br/>
 `issues/123`<br/>
 `issues/123`<br/>
 `feature/feature_name`<br/>
 `feature/feature_name`<br/>
 `bugfix/fix_thing`<br/>
 `bugfix/fix_thing`<br/>
 
 
-### Code style
+## Code style
 
 
-There's a file called `checkstyle.xml` in project root under `etc` directory.<br/>
-You can import it into IntelliJ IDEA via checkstyle plugin. 
+Java: There's a file called `checkstyle.xml` in project root under `etc` directory.<br/>
+You can import it into IntelliJ IDEA via checkstyle plugin.
 
 
-### Naming conventions
+## Naming conventions
 
 
 REST paths should be **lowercase** and consist of just **plural** nouns.<br/>
 REST paths should be **lowercase** and consist of just **plural** nouns.<br/>
 Also, multiple words in a single path segment should be divided by a hyphen symbol (`-`).<br/>
 Also, multiple words in a single path segment should be divided by a hyphen symbol (`-`).<br/>
 
 
 Query variable names should be formatted in `camelCase`.
 Query variable names should be formatted in `camelCase`.
 
 
-Model names should consist of just **plural** nouns and should be formatted in `camelCase` as well.
+Model names should consist of just **plural** nouns and should be formatted in `camelCase` as well.
+
+## Creating a PR
+
+When creating a PR please do the following:
+1. In commit messages use the [closing keywords](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword).
+2. Link an issue(-s) via "linked issues" block.
+3. Set the PR labels. Just set the same set of labels present in the issue, ignoring yellow `status/` labels.
+4. If the PR doesn't close any issue it might need to a milestone set on itself. Ask the maintainers.
+5. Assign the PR to yourself. PR assignee is the person who's goal is to get the PR merged.
+6. Add reviewers. Usually, reviewers suggestions are pretty good, use them.
+
+### Pull Request checklist
+
+1. Ensure any install or build dependencies have been removed before the end of the layer when composing a build.
+2. Update the `README.md` with details of changes to the interface, this includes new environment
+   variables, exposed ports, useful file locations and container parameters.
+
+## Reviewing a PR
+
+WIP
+
+### Pull Request reviewer checklist
+
+WIP

+ 17 - 52
README.md

@@ -1,7 +1,10 @@
-![UI for Apache Kafka logo](images/kafka-ui-logo.png) UI for Apache Kafka – Free Web UI for Apache Kafka &nbsp; 
+![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.
 
 
-![UI for Apache Kafka Price Free](images/free-open-source.svg)
+[![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)
 [![Chat with us](https://img.shields.io/discord/897805035122077716)](https://discord.gg/4DWzD7pGE5)
 
 
 <em>UI for Apache Kafka is a free, open-source web UI to monitor and manage Apache Kafka clusters. </em> 
 <em>UI for Apache Kafka is a free, open-source web UI to monitor and manage Apache Kafka clusters. </em> 
@@ -11,7 +14,7 @@ UI for Apache Kafka is a simple tool that makes your data flows observable, help
 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 
 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. 
 the cloud. 
 
 
-![Interface](images/Interface.gif)
+![Interface](documentation/images/Interface.gif)
 
 
 # Features
 # Features
 * **Multi-Cluster Management** — monitor and manage all your clusters in one place
 * **Multi-Cluster Management** — monitor and manage all your clusters in one place
@@ -26,6 +29,8 @@ the cloud.
 # The Interface
 # The Interface
 UI for Apache Kafka wraps major functions of Apache Kafka with an intuitive user interface.
 UI for Apache Kafka wraps major functions of Apache Kafka with an intuitive user interface.
 
 
+![Interface](documentation/images/Interface.gif)
+
 ## Topics
 ## 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.
 pasting your own parameters, and viewing topics in the list.
@@ -45,7 +50,7 @@ Let's say we want to produce messages for our topic. With the UI for Apache Kafk
 ## Schema registry
 ## Schema registry
 There are 3 supported types of schemas: Avro®, JSON Schema, and Protobuf schemas.
 There are 3 supported types of schemas: Avro®, JSON Schema, and Protobuf schemas.
 
 
-![Create Schema Registry](images/Create_schema.gif)
+![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-encoded messages, you have to add an avro schema for the topic in Schema Registry. Now all these steps are easy to do 
 with a few clicks in a user-friendly interface.
 with a few clicks in a user-friendly interface.
@@ -114,61 +119,17 @@ If you prefer to use `docker-compose` please refer to the [documentation](docker
 
 
 ## Building With Docker
 ## Building With Docker
 
 
-Steps to build UI for Apache Kafka locally with Docker:  
-
-1. Install prerequisites: Java and Docker
-2. Clone this repository and open a terminal in the directory of the project
-3. Build a Docker container with UI for Apache Kafka
-4. Start UI for Apache Kafka with your Kafka clusters
-5. Navigate to UI for Apache Kafka 
-
 ### Prerequisites
 ### Prerequisites
 
 
-* Java 13 or newer
-* Docker 
+Check [software-required.md](documentation/software-required.md)
 
 
-### Installing Prerequisites on Mac
-1. Install Homebrew Cask:
-```sh
-> brew update
-``` 
-2. Install JAVA 13 with Homebrew Cask:
-```sh
-> brew tap adoptopenjdk/openjdk
-> brew install adoptopenjdk13
-``` 
 ### Building
 ### Building
 
 
-Once you installed the prerequisites and cloned the repository, run the following commands in your project directory: 
-
-Build a Docker container with UI for Apache Kafka: 
-```sh
-./mvnw clean install -Pprod
-``` 
-Start UI for Apache Kafka with your Kafka clusters: 
-```sh
-docker-compose -f ./docker/kafka-ui.yaml up
-``` 
-To see UI for Apache Kafka, navigate to http://localhost:8080.
-
-If you want to start only kafka-clusters: 
-```sh
-docker-compose -f ./docker/kafka-clusters-only.yaml up
-``` 
-Then start UI for Apache Kafka with a **local** profile. 
+Check [building.md](documentation/building.md)
 
 
-## Running Locally Without Docker
+### Running
 
 
-```sh
-./mvnw spring-boot:run -Pprod
-``` 
-
-## Running in Kubernetes
-``` bash
-helm repo add kafka-ui https://provectus.github.io/kafka-ui
-helm install kafka-ui kafka-ui/kafka-ui
-```
-To read more please follow to [chart documentation](charts/kafka-ui/README.md)
+Check [running.md](documentation/running.md)
 
 
 # Guides
 # Guides
 
 
@@ -182,6 +143,10 @@ UI for Apache Kafka supports TLS (SSL) and SASL connections for [encryption and
 
 
 To be continued
 To be continued
 
 
+## Liveliness and readiness probes
+Liveliness and readiness endpoint is at `/actuator/health`.
+Info endpoint (build info) is located at `/actuator/info`.
+
 ## <a name="env_variables"></a> Environment Variables
 ## <a name="env_variables"></a> Environment Variables
 
 
 Alternatively, each variable of the .yml file can be set with an environment variable. 
 Alternatively, each variable of the .yml file can be set with an environment variable. 

+ 3 - 4
SECURITY.md

@@ -2,8 +2,7 @@
 
 
 ## Supported Versions
 ## Supported Versions
 
 
-Use this section to tell people about which versions of your project are
-currently being supported with security updates.
+Following versions of the project are currently being supported with security updates.
 
 
 | Version | Supported          |
 | Version | Supported          |
 | ------- | ------------------ |
 | ------- | ------------------ |
@@ -13,6 +12,6 @@ currently being supported with security updates.
 
 
 ## Reporting a Vulnerability
 ## Reporting a Vulnerability
 
 
-Please report all sensitive security vulnerabilities via email (maintainers.kafka-ui "at" provectus.com).
+Please **DO NOT** file a publicly available github issues regarding security vulnerabilities.
+Send us details via email (maintainers.kafka-ui "at" provectus.com).
 Consider adding something like "security vulnerability report" in the title of an email.
 Consider adding something like "security vulnerability report" in the title of an email.
-If we haven't answered you in 48 hours (excluding weekends), please kindly remind us via an issue (without security details).

+ 0 - 3
docker-openjdk/Dockerfile

@@ -1,3 +0,0 @@
-FROM openjdk:13
-RUN  yum install -y git && \
-     yum groupinstall -y "Development Tools"

+ 0 - 0
guides/yaml-description.md → documentation/compose/DOCKER_COMPOSE.md


+ 0 - 0
docker/auth-ldap.yaml → documentation/compose/auth-ldap.yaml


+ 0 - 0
docker/connectors/github-source.json → documentation/compose/connectors/github-source.json


+ 0 - 0
docker/connectors/s3-sink.json → documentation/compose/connectors/s3-sink.json


+ 0 - 0
docker/connectors/sink-activities.json → documentation/compose/connectors/sink-activities.json


+ 0 - 0
docker/connectors/source-activities.json → documentation/compose/connectors/source-activities.json


+ 0 - 0
docker/connectors/start.sh → documentation/compose/connectors/start.sh


+ 0 - 0
docker/jaas/client.properties → documentation/compose/jaas/client.properties


+ 0 - 0
docker/jaas/kafka_server.conf → documentation/compose/jaas/kafka_server.conf


+ 0 - 0
docker/jaas/schema_registry.jaas → documentation/compose/jaas/schema_registry.jaas


+ 0 - 0
docker/jaas/schema_registry.password → documentation/compose/jaas/schema_registry.password


+ 0 - 0
docker/jmx/clientkeystore → documentation/compose/jmx/clientkeystore


+ 0 - 0
docker/jmx/clienttruststore → documentation/compose/jmx/clienttruststore


+ 0 - 0
docker/jmx/jmxremote.access → documentation/compose/jmx/jmxremote.access


+ 0 - 0
docker/jmx/jmxremote.password → documentation/compose/jmx/jmxremote.password


+ 0 - 0
docker/jmx/serverkeystore → documentation/compose/jmx/serverkeystore


+ 0 - 0
docker/jmx/servertruststore → documentation/compose/jmx/servertruststore


+ 0 - 0
docker/kafka-cluster-sr-auth.yaml → documentation/compose/kafka-cluster-sr-auth.yaml


+ 0 - 0
docker/kafka-clusters-only.yaml → documentation/compose/kafka-clusters-only.yaml


+ 0 - 0
docker/kafka-connect/Dockerfile → documentation/compose/kafka-connect/Dockerfile


+ 0 - 0
docker/kafka-ui-auth-context.yaml → documentation/compose/kafka-ui-auth-context.yaml


+ 0 - 0
docker/kafka-ui-connectors.yaml → documentation/compose/kafka-ui-connectors.yaml


+ 0 - 0
docker/kafka-ui-jmx-secured.yml → documentation/compose/kafka-ui-jmx-secured.yml


+ 0 - 0
docker/kafka-ui-reverse-proxy.yaml → documentation/compose/kafka-ui-reverse-proxy.yaml


+ 0 - 0
docker/kafka-ui-sasl.yaml → documentation/compose/kafka-ui-sasl.yaml


+ 0 - 0
docker/kafka-ui-traefik-proxy.yaml → documentation/compose/kafka-ui-traefik-proxy.yaml


+ 0 - 0
docker/kafka-ui-zookeeper-ssl.yml → documentation/compose/kafka-ui-zookeeper-ssl.yml


+ 0 - 0
docker/kafka-ui.yaml → documentation/compose/kafka-ui.yaml


+ 0 - 0
docker/message.json → documentation/compose/message.json


+ 0 - 0
docker/postgres/Dockerfile → documentation/compose/postgres/Dockerfile


+ 0 - 0
docker/postgres/data.sql → documentation/compose/postgres/data.sql


+ 0 - 0
docker/proxy.conf → documentation/compose/proxy.conf


+ 0 - 0
docker/traefik/kafkaui.yaml → documentation/compose/traefik/kafkaui.yaml


+ 0 - 0
guides/AWS_IAM.md → documentation/guides/AWS_IAM.md


+ 0 - 0
guides/SASL_SCRAM.md → documentation/guides/SASL_SCRAM.md


+ 0 - 0
guides/SSO.md → documentation/guides/SSO.md


+ 0 - 0
images/Connector_Topic_Consumer.gif → documentation/images/Connector_Topic_Consumer.gif


+ 0 - 0
images/Create_message_kafka-ui.gif → documentation/images/Create_message_kafka-ui.gif


+ 0 - 0
images/Create_schema.gif → documentation/images/Create_schema.gif


+ 0 - 0
images/Create_topic_kafka-ui.gif → documentation/images/Create_topic_kafka-ui.gif


+ 0 - 0
images/Interface.gif → documentation/images/Interface.gif


+ 0 - 0
images/Schema_Topic.gif → documentation/images/Schema_Topic.gif


+ 0 - 0
images/free-open-source.svg → documentation/images/free-open-source.svg


BIN
documentation/images/kafka-ui-logo.png


+ 22 - 0
documentation/project/ROADMAP.md

@@ -0,0 +1,22 @@
+Kafka-UI Project Roadmap
+====================
+
+Roadmap exists in a form of a github project board and is located [here](https://github.com/provectus/kafka-ui/projects/8).
+
+### How to use this document
+
+The roadmap provides a list of features we decided to prioritize in project development. It should serve as a reference point to understand projects' goals.
+
+We do prioritize them based on the feedback from the community, our own vision and other conditions and circumstances. 
+
+The roadmap sets the general way of development. The roadmap is mostly about long-term features. All the features could be re-prioritized, rescheduled or canceled.
+
+If there's no feature `X`, that **doesn't** mean we're **not** going to implement it. Feel free to raise the issue for the consideration. <br/>
+If a feature you want to see live is not present on roadmap, but there's an issue for the feature, feel free to vote for it using reactions in the issue.
+
+
+### How to contribute
+
+Since the roadmap consists mostly of big long-term features, implementing them might be not easy for a beginner outside collaborator.
+
+A good starting point is checking the [CONTRIBUTING.md](https://github.com/provectus/kafka-ui/blob/master/CONTRIBUTING.md) document.

+ 9 - 0
documentation/project/contributing/README.md

@@ -0,0 +1,9 @@
+# Contributing guidelines
+
+### Set up the local environment for development
+
+* [Prerequisites](software-required.md)
+<!--* [Setting up git](set-up-git.md)-->
+* [Building the app](building.md)
+* [Running the app](running.md)
+* [Writing tests](testing.md)

+ 23 - 0
documentation/project/contributing/building.md

@@ -0,0 +1,23 @@
+### Building the application locally
+
+Once you installed the prerequisites and cloned the repository, run the following commands in your project directory:
+
+Build a docker container with the app:
+```sh
+./mvnw clean install -Pprod
+``` 
+Start the app with Kafka clusters:
+```sh
+docker-compose -f ./docker/kafka-ui.yaml up -d
+``` 
+To see the app, navigate to http://localhost:8080.
+
+If you want to start only kafka clusters (to run the app via `boot:run`):
+```sh
+docker-compose -f ./docker/kafka-clusters-only.yaml up -d
+``` 
+Then start the app with a **local** profile. 
+
+## Where to go next
+
+In the next section, you'll [learn how to run the application](running.md).

+ 21 - 0
documentation/project/contributing/running.md

@@ -0,0 +1,21 @@
+# Running the app
+
+### Running locally via docker
+If you have built a container locally or wish to run a public one you could bring everything up like this:
+```shell
+docker-compose -f docker/kafka-ui.yaml up -d
+```
+
+### Running locally without docker
+Once you built the app, run the following:
+
+```sh
+./mvnw spring-boot:run -Pprod
+```
+
+### Running in kubernetes
+``` bash
+helm repo add kafka-ui https://provectus.github.io/kafka-ui
+helm install kafka-ui kafka-ui/kafka-ui
+```
+To read more please follow to [chart documentation](charts/kafka-ui/README.md)

+ 8 - 0
documentation/project/contributing/set-up-git.md

@@ -0,0 +1,8 @@
+### Nothing special here yet.
+<!--
+TODO:
+
+1. Cloning
+2. Credentials set up (git user.name & email)
+3. Signing off (DCO)
+-->

+ 32 - 0
documentation/project/contributing/software-required.md

@@ -0,0 +1,32 @@
+### Get the required software for Linux or macOS
+
+This page explains how to get the software you need to use a Linux or macOS
+machine for local development. Before you begin contributing you must have:
+
+* a GitHub account
+* Java 13 or newer
+* `git`
+* `docker`
+
+### Installing prerequisites on macOS
+1. Install [brew](https://brew.sh/).
+
+2. Install brew cask:
+```sh
+> brew cask
+``` 
+3Install JDK 13 via Homebrew cask:
+```sh
+> brew tap adoptopenjdk/openjdk
+> brew install adoptopenjdk13
+```
+
+## Tips
+
+Consider allocating not less than 4GB of memory for your docker. 
+Otherwise, some apps within a stack (e.g. `kafka-ui.yaml`) might crash.
+
+## Where to go next
+
+In the next section, you'll [learn how to build the application](building.md).
+### GIT SETUP

+ 28 - 0
documentation/project/contributing/testing.md

@@ -0,0 +1,28 @@
+# Testing
+
+
+
+## Test suites
+
+
+## Writing new tests
+
+
+### Writing tests for new features
+
+
+### Writing tests for bug fixes
+
+
+### Writing new integration tests
+
+
+
+## Running tests
+
+### Unit Tests
+
+
+### Integration Tests
+
+

BIN
images/kafka-ui-logo.png