pulsar-manager.git
9 days agoRemoving transitive dependencies for log4j (#488) master
gurleen-gks [Thu, 15 Sep 2022 17:00:56 +0000 (10:00 -0700)] 
Removing transitive dependencies for log4j (#488)

Co-authored-by: Gurleen Kaur <gurleenk@verizonmedia.com>
5 weeks agoRemoving conflicting dependencies (#482)
gurleen-gks [Mon, 15 Aug 2022 22:56:13 +0000 (15:56 -0700)] 
Removing conflicting dependencies (#482)

Co-authored-by: Gurleen Kaur <gurleenk@verizonmedia.com>
8 weeks agoFix URL for example in README.md (#475)
Cory MacDonald [Thu, 28 Jul 2022 22:27:51 +0000 (18:27 -0400)] 
Fix URL for example in README.md (#475)

* Fix URL for example in README.md

* Update README.md

### Motivation

Attempting to use this section of the documentation, the intent of the initial documented link to localhost was clear but the implementation failed to include the port number, causing the link to be confusing at best.

### Modifications

Added a port number to the URL in the example.

### Verifying this change

No Checks should be required, as this is a documentation update, with valid Markdown.

3 months agoAlign BouncyCastle transitive dependecies to 1.68 (#466)
Nicolò Boschi [Tue, 21 Jun 2022 07:52:29 +0000 (09:52 +0200)] 
Align BouncyCastle transitive dependecies to 1.68 (#466)

3 months agoMove version to 0.3.0 (#455)
Li Li [Tue, 14 Jun 2022 08:09:18 +0000 (16:09 +0800)] 
Move version to 0.3.0 (#455)

Signed-off-by: Li Li <urfree@apache.org>
4 months agofeat:upgrade version to 0.3.0 (#458)
Li Li [Wed, 25 May 2022 06:32:10 +0000 (14:32 +0800)] 
feat:upgrade version to 0.3.0 (#458)

4 months agodocs: update README (#462)
Max Xu [Thu, 19 May 2022 09:40:49 +0000 (17:40 +0800)] 
docs: update README (#462)

4 months agofix: launch error with log lib conflict (#460)
Li Li [Tue, 10 May 2022 03:09:49 +0000 (11:09 +0800)] 
fix: launch error with log lib conflict (#460)

* fix launch error due to log lib conflict
* fix route redirect error
* docker(nginx) script for ui preview

5 months agofix: dependencies fix for webpack and npm version limit (#457)
Li Li [Tue, 19 Apr 2022 04:52:14 +0000 (12:52 +0800)] 
fix: dependencies fix for webpack and npm version limit (#457)

5 months agoCode cleanup for roles, github login, etc. (#456)
Guangning E [Wed, 13 Apr 2022 10:05:08 +0000 (18:05 +0800)] 
Code cleanup for roles, github login, etc. (#456)

* Remove role and rolebinding
* Remove github social login
* Disable cluster page
* Update node and application file

5 months agoAdd support for casdoor (#446)
Fabian Bao [Wed, 13 Apr 2022 01:54:09 +0000 (09:54 +0800)] 
Add support for casdoor (#446)

feet: add support for casdoor

5 months agoSimplified classpath (#444)
xuesongxs [Tue, 12 Apr 2022 06:12:46 +0000 (14:12 +0800)] 
Simplified classpath (#444)

5 months agofix: node engines limit and close eslint (#448)
Li Li [Tue, 12 Apr 2022 06:12:24 +0000 (14:12 +0800)] 
fix: node engines limit and close eslint (#448)

Signed-off-by: LiLi <urfree@apache.org>
6 months agoUpgrade BKVM to 3.1.1 (#453)
Alessandro Luccaroni [Mon, 21 Mar 2022 13:44:06 +0000 (14:44 +0100)] 
Upgrade BKVM to 3.1.1 (#453)

7 months agoAdd filterable to el-select enables filtering for tenant/namespace/topic (#439) ...
Shen Liu [Wed, 9 Feb 2022 02:37:55 +0000 (10:37 +0800)] 
Add filterable to el-select enables filtering for tenant/namespace/topic (#439) (#440)

Co-authored-by: druidliu <druidliu@tencent.com>
8 months agoFix for Sidebar items not visible to admin and superadmin (#435)
Sourabh Agrawal [Thu, 13 Jan 2022 14:37:34 +0000 (20:07 +0530)] 
Fix for Sidebar items not visible to admin and superadmin (#435)

### Motivation

*All newly added sidebar items (Roles,Users etc)  are not visible to superadmin. Also when admin user login, only Token tab is visible to them.*

### Modifications

*Added a new method isAccessbile in SidebarItem.vue. It compares roles which are set in Item.metadata.roles with logged-in user role, based on which the item is either visible or hidden for user*

### Verifying this change

- [x] Make sure that the change passes the `./gradlew build` checks.

8 months agoAllow user to assign tenant to role (#436)
Sourabh Agrawal [Thu, 13 Jan 2022 14:37:12 +0000 (20:07 +0530)] 
Allow user to assign tenant to role (#436)

### Motivation
Improve Tenant/Namespace resource assignment workflow.

* When assigning the resource to a role, it only let you choose from Namespace,SCHEMA,Functions but does not allow the user to select TENANT. A user should have ability to choose tenant for a role and assign the role to a user. Based on which the user should be able to see the tenant it is assigned with.

### Modifications

* changes in this PR include below fixes.
1. Add TENANT as ResourceType along with Namepsace,Schema etc for Create/Edit Role.
2. Include only tenants as resource while preparing the response from api /tenants in TenantsController.
3. In Success LoginResponse, add the tenant as header which is assigned to user's role instead of tenant with user's name.

### Verifying this change

- [ ] Make sure that the change passes the `./gradlew build` checks.

8 months agoUpdated to fix Log4J security vulnerabilities (#438)
Nicholas Nezis [Tue, 11 Jan 2022 05:10:28 +0000 (00:10 -0500)] 
Updated to fix Log4J security vulnerabilities (#438)

9 months agofix: typo in readme (#421)
Eric Shen [Thu, 25 Nov 2021 03:55:40 +0000 (21:55 -0600)] 
fix: typo in readme (#421)

Signed-off-by: ericsyh <ericshenyuhao@outlook.com>
9 months agofix pulsar with multiple admin httpserver (#423)
asagjj [Thu, 25 Nov 2021 03:55:17 +0000 (11:55 +0800)] 
fix pulsar with multiple admin httpserver (#423)

12 months agoThe password can not be less than 6 digits (#414)
郭中奇 [Thu, 9 Sep 2021 02:12:00 +0000 (10:12 +0800)] 
The password can not be less than 6 digits (#414)

Fixes #413

Master Issue: #413

Describe the modifications you've done.

When adding users to the /users/superuser interface, you need to add a password that is not less than 6 digits for verification, otherwise you cannot log in with a password less than 6 digits

15 months agoMulti bookie cluster Support (#388)
郭中奇 [Tue, 22 Jun 2021 02:17:41 +0000 (10:17 +0800)] 
Multi bookie cluster Support (#388)

Fixes #387

Master Issue: #387

*Describe the modifications you've done.*

Support multi-bookie cluster, no longer use the address configured in the application.properties file

15 months agoFixed the bug that admin roles cannot be deleted. (#397)
WinfridDu [Tue, 22 Jun 2021 02:16:32 +0000 (10:16 +0800)] 
Fixed the bug that admin roles cannot be deleted. (#397)

### Motivation

When I try to close a admin role under a cluster, it prompts me that 'Clusters can not be empty'.  I found out that it was because the frontend did not pass the allowed clusters to the backend.

### Modifications

 I added a line of code to pass the missing parameters to the backend.

15 months agoUpgrade to java 1.8.0_292 (#398)
Devin Christensen [Tue, 22 Jun 2021 02:16:11 +0000 (20:16 -0600)] 
Upgrade to java 1.8.0_292 (#398)

The version of java in openjdk:jre-8-alpine has multiple
vulnerabilities. Because it's been over a year since that image has been
updated, this switches to the openjdk:jre-8 image. This image is updated
much more frequently.

Succesfully built from my box using:

```
sudo docker build -f docker/Dockerfile -t apachepulsar/pulsar-manager:v0.3.0 .
```

I also confirmed the image still works by setting an admin password and
logging into the dashboard. I used the existing docker-compose.yml for
this test, but changed the tag to v0.3.0.

15 months agoUse the Apache Pulsar Helm chart (#384)
Michael Marshall [Wed, 26 May 2021 11:55:37 +0000 (05:55 -0600)] 
Use the Apache Pulsar Helm chart (#384)

### Motivation

In reading through the `pulsar-manager` documentation, I noticed that the README points to the StreamNative helm chart. I believe this is likely because the StreamNative helm chart predated the Apache one. I'm unfamiliar with the differences between these two charts, but I would think that this project should point to the official Apache Pulsar helm chart. If that assumption is wrong, please let me know.

### Modifications

Reference the official Apache Pulsar Helm chart, instead.

### Verifying this change

Followed the directions in https://github.com/apache/pulsar-helm-chart, which are pretty much the same as https://github.com/streamnative/charts.

15 months agofix ISSUE-390: Pulsar manager successfully added the administrator account with passw...
yixin [Wed, 26 May 2021 11:54:45 +0000 (19:54 +0800)] 
fix ISSUE-390: Pulsar manager successfully added the administrator account with password "admin", but the web login password can not be less than 6 digits. (#393)

Fixes #390

### Motivation

in index.vue, there's a password length validation for login:
the password can not be less than 6 digits.

so, in README.md, when create a super-user using command, should have some relevant instructions.

### Modifications

I modified the README.md.

### Verifying this change

- [x] Make sure that the change passes the `./gradlew build` checks.

16 months agofix unload namespace error (#386)
郭中奇 [Mon, 24 May 2021 09:32:05 +0000 (17:32 +0800)] 
fix unload namespace error (#386)

Master Issue: #385

*Describe the modifications you've done.*

When the unload operation of the bundles is executed, the background keeps reporting that the primary key conflict inserted into the NameSpace database is abnormal.

Perform a check for existence before the namespace is inserted, if it exists, no more insertion is performed

16 months agoUpgrade Athenz version and remove yahoo.bintray.com repository (#379)
Masahiro Sakamoto [Tue, 11 May 2021 01:20:57 +0000 (10:20 +0900)] 
Upgrade Athenz version and remove yahoo.bintray.com repository (#379)

18 months ago[Offload] Add offload threshold input (#375)
ran [Thu, 25 Mar 2021 12:11:07 +0000 (20:11 +0800)] 
[Offload] Add offload threshold input (#375)

Fixes #374

### Motivation

Currently, the offload operation lacks the offload threshold.

### Modifications

Add the offload threshold input for the offload operation.

### Verifying this change

- [ ] Make sure that the change passes the `./gradlew build` checks.

19 months ago362 fix retention size label (#372)
leo-vie [Mon, 25 Jan 2021 03:58:36 +0000 (04:58 +0100)] 
362 fix retention size label (#372)

Fixes #362

### Verifying this change

- [x] Make sure that the change passes the `./gradlew build` checks.

20 months agofix ISSUE-361: Pulsar manager's swagger dose not work. (#369)
yixin [Tue, 29 Dec 2020 06:02:29 +0000 (14:02 +0800)] 
fix ISSUE-361: Pulsar manager's swagger dose not work. (#369)

Fixes #ISSUE-361

### Motivation
Pulsar manager's swagger does not work, so I try to fix this issue.

### Modifications
1. Swagger urls can't be accessed because the interceptors  blocked them, so I modified the interceptors to allow swagger urls.
2. I added a swagger configration in `application.properties`, thus, if you want to use swagger in development environment, you can set the value `true`. And  if you don't want to enable swagger in production environment, you can set the value `false`.
3. I modified the `SwaggerConfig` class, because swagger need some authorization infomation, otherwise it will receive 401 code in response header.
4. I modified the README.md to show how to use swagger, and added some images in docs.
5. Now the swagger can work correctly.

### Verifying this change

- [x] Make sure that the change passes the `./gradlew build` checks.

21 months agoAdd frequently asked questions document (#308)
Guangning [Wed, 23 Dec 2020 11:42:26 +0000 (19:42 +0800)] 
Add frequently asked questions document (#308)

* There are some problems that users often encounter, so add a faq document

21 months agofix ISSUE-365: Some mistakes in README.md of the master branch (#366)
yixin [Wed, 23 Dec 2020 06:34:12 +0000 (14:34 +0800)] 
fix ISSUE-365: Some mistakes in README.md of the master branch (#366)

Co-authored-by: yixin <yixin@cmss.chinamobile.com>
Fixes #366

### Motivation

Some mistakes in README.md of the master branch, and I have fixed them.

### Modifications

I modified the README.md.

### Verifying this change

- [x] Make sure that the change passes the `./gradlew build` checks.

21 months agoFix spelling of 'ensemble' (#363)
Daniel Orf [Wed, 23 Dec 2020 01:44:24 +0000 (17:44 -0800)] 
Fix spelling of 'ensemble' (#363)

### Motivation

Spotted a misspelling when testing out pulsar-manager

### Modifications

Replaced mentions of "ensembel" with "ensemble" in the Namespaces/Policies page

### Verifying this change

- [x] Make sure that the change passes the `./gradlew build` checks.

21 months agocreate /data dir (#364)
dockerzhang [Wed, 23 Dec 2020 01:42:56 +0000 (09:42 +0800)] 
create /data dir (#364)

Fixes #336

### Motivation
there is no `/data/` directory in a docker container, which caught #336 error.
### Verifying this change

- [√] Make sure that the change passes the `./gradlew build` checks.

21 months agoIssue 359: Upgrade BKVM to 3.0.0 (#360)
Diana Clementi [Tue, 15 Dec 2020 06:16:14 +0000 (07:16 +0100)] 
Issue 359: Upgrade BKVM to 3.0.0 (#360)

* Issue 359: Upgrade BKVM to 3.0.0

* Issue 359: Upgrade BKVM to 3.0.0 - fix pulsar broker version

21 months agoPassing LoggerFactory to @Slf4j lombok notation (#356)
Matteo Minardi [Sat, 5 Dec 2020 01:49:35 +0000 (02:49 +0100)] 
Passing LoggerFactory to @Slf4j lombok notation (#356)

### Motivation

Remove boilerplate code for the logger setup.

### Modifications

Passed the remaining explicit declarations of LoggerFactory to @Slf4j annotation

22 months agoWhen user management is disabled login fails (#351)
Stepan [Thu, 12 Nov 2020 01:54:16 +0000 (04:54 +0300)] 
When user management is disabled login fails (#351)

**Fixes #347**

### Motivation

Bug. If user management is turned off then user has no way to log in as default credentials don't pass login validation.

### Modifications

When check for super user is being performed and user management is disabled then use token generated for default credentials which are defined in properties file.

22 months agoAdd auto refresh in Topic Details page #341 (#352)
xuesongxs [Thu, 12 Nov 2020 01:53:29 +0000 (09:53 +0800)] 
Add auto refresh in Topic Details page #341 (#352)

Fixes #341

### Motivation

Add auto refresh in Topic Details page

22 months agoFix README (#350)
Soroush [Fri, 6 Nov 2020 01:02:51 +0000 (04:32 +0330)] 
Fix README (#350)

### Motivation

In README, the bash example for creating a super-user is incorrect: It encloses the `$CSRF_TOKEN` variable in single quotes, which do not interpolate variables. Double quotes must be used instead. Also, this code block has an incorrect language of `$xslt`.

Additionally, in several cases in README, missing/incorrect indentation has caused code block delimiters (triple backquotes) to literally appear in the displayed code.

### Modifications

Fixed the issues mentioned above.

Also, added a bullet point before `backend-service` to be consistent with an earlier example (`SPRING_CONFIGURATION_FILE`).

### Verifying this change

- [x] Make sure that the change passes the `./gradlew build` checks.

23 months agoadd dashboard service for aggregated information collection (#326)
Jiechuan Chen [Thu, 1 Oct 2020 01:13:03 +0000 (09:13 +0800)] 
add dashboard service for aggregated information collection (#326)

Fixes #282

### Motivation

This is the way I understand how it would be: The access controll is done by environmentController when users retrive the environment list from 'environment' front end page, where the aggregated data is displayed on. And we can then retrieve the total number of tenant and corresponding namespace from certain environments, as well as a list of topicStat, from which we can further retrieve the number of cluster, broker, producer and consumer.

1. environment -> tenant
                           2. tenant -> namespace
3. environment -> topicStat
                          4. topicStat -> cluster
                          5. topicStat -> broker
                          6. topicStat -> producer
                          7. topicStatId -> consumer

For the number of bookies, currently it is not persistent in database, so the bookieservice is called to retrieve the data.

*Explain here the context, and why you're making that change. What is the problem you're trying to solve.*

### Modifications

As #282 suggested, added some new sql statements in corresponding mapper and a new service to collect aggregated data for dashboard.

### Verifying this change

- [ yes ] Make sure that the change passes the `./gradlew build` checks.

23 months agofix bug: https://github.com/apache/pulsar-manager/issues/340 (#342)
xuesongxs [Thu, 1 Oct 2020 01:00:27 +0000 (09:00 +0800)] 
fix bug: https://github.com/apache/pulsar-manager/issues/340 (#342)

23 months agoUpdate readme file (#337)
Guangning [Mon, 28 Sep 2020 03:13:45 +0000 (11:13 +0800)] 
Update readme file (#337)

### Motivation

* Update document for pulsar manager release v0.2.0

### Modifications

* Update document for pulsar manager release v0.2.0

23 months agoFixed mysql schema field token error (#339)
Guangning [Fri, 25 Sep 2020 03:41:18 +0000 (11:41 +0800)] 
Fixed mysql schema field token error (#339)

2 years agoActivate BKVM metadata reload at boot (#334) branch-0.2.0 v0.2.0 v0.2.0-candidate-2 v0.2.0-candidate-3
Enrico Olivelli [Wed, 9 Sep 2020 14:13:17 +0000 (16:13 +0200)] 
Activate BKVM metadata reload at boot (#334)

Co-authored-by: Enrico Olivelli <enrico.olivelli@diennea.com>
2 years agoFixed docker package (#332)
Guangning [Wed, 9 Sep 2020 10:26:50 +0000 (18:26 +0800)] 
Fixed docker package (#332)

### Motivation

Fixed docker package for support bkvm

### Modifications

* Fixed docker package

### Verifying this change

- [ ] Make sure that the change passes the `./gradlew build` checks.

2 years agoUpgrade BKVM to 2.0.0 (#331)
Enrico Olivelli [Wed, 9 Sep 2020 10:23:14 +0000 (12:23 +0200)] 
Upgrade BKVM to 2.0.0 (#331)

Co-authored-by: Enrico Olivelli <enrico.olivelli@diennea.com>
2 years agoUpgrade HerdDB to 0.19.0 (#330)
Enrico Olivelli [Tue, 8 Sep 2020 23:52:44 +0000 (01:52 +0200)] 
Upgrade HerdDB to 0.19.0 (#330)

### Motivation
Upgrade HerdDB to 0.19.0, especially because it contains a new version of diskless-cluster mode, a mode in which all data is stored on Bookies and not on local disks.

see https://github.com/diennea/herddb/wiki/Installing-and-running-HerdDB for reference

### Modifications
Upgrade HerdDB to 0.19.0

### Verifying this change

- [X] Make sure that the change passes the `./gradlew build` checks.

2 years agocomplement the missing conditional statement (#329)
Jiechuan Chen [Tue, 8 Sep 2020 06:15:22 +0000 (14:15 +0800)] 
complement the missing conditional statement (#329)

2 years agoAdd gradle tasks to build front-end (#324)
Enrico Olivelli [Thu, 13 Aug 2020 00:15:10 +0000 (02:15 +0200)] 
Add gradle tasks to build front-end (#324)

Add Gradle build files to front-end directory in order to allow front-end to be simply built using gradle.

With this change you can simply run:
` ./gradlew front-end:npmInstall front-end:npmBuildProd build -x test`

Summary of changes:
- add new build.gradle to 'front-end'
- link 'front-end' in settings.gradle
- configured gradle node plugin in order to run 'npm install' and 'npm run build:prod'

This is a preparatory task to help bundling the front-end build distribution in the release pulsar-manager tarball automatically (see #288 )

2 years agoAdded a conditional statement to avoid initiating embedded database when user defines...
Jiechuan Chen [Fri, 24 Jul 2020 03:57:57 +0000 (11:57 +0800)] 
Added a conditional statement to avoid initiating embedded database when user defines a custom db URL (#320)

2 years agoRemove unused fields in BrokerStatsServiceImpl (#317)
Kimura Takesi [Wed, 22 Jul 2020 01:46:17 +0000 (10:46 +0900)] 
Remove unused fields in BrokerStatsServiceImpl (#317)

Co-authored-by: Takesi Kimura <takeshki@yahoo-corp.jp>
2 years agoUse PulsarAdmin instead of HttpUtil in BrokerStatsServiceImpl (#315)
Kimura Takesi [Wed, 8 Jul 2020 00:09:31 +0000 (09:09 +0900)] 
Use PulsarAdmin instead of HttpUtil in BrokerStatsServiceImpl (#315)

Co-authored-by: Takesi Kimura <takeshki@yahoo-corp.jp>
2 years agoChange default port (#316)
Guangning [Tue, 7 Jul 2020 09:33:50 +0000 (17:33 +0800)] 
Change default port (#316)

2 years agoUpdate README.md regarding issues/283 (#314)
josuemotte [Thu, 2 Jul 2020 07:54:44 +0000 (09:54 +0200)] 
Update README.md regarding issues/283 (#314)

* Update README.md regarding issues/283

- added an example line in case using the standalone version.
- added the name of the file in case using pulsar-manager binary/source.

2 years agoSolve compile error (#313)
shustsud [Tue, 30 Jun 2020 10:34:47 +0000 (19:34 +0900)] 
Solve compile error (#313)

* Fixed BrokerStatsServiceImpl class.

2 years agoUse Pulsar Admin instead of HttpUtil (#286)
shustsud [Mon, 29 Jun 2020 01:11:12 +0000 (10:11 +0900)] 
Use Pulsar Admin instead of HttpUtil (#286)

Master Issue: <https://github.com/apache/pulsar-manager/issues/249>

### Motivation

See <https://github.com/apache/pulsar-manager/issues/249>.

### Modifications

* Fixed <https://github.com/apache/pulsar-manager/issues/249>.
* Add authentication to [EnvironmentForward class](https://github.com/apache/pulsar-manager/blob/master/src/main/java/org/apache/pulsar/manager/zuul/EnvironmentForward.java).

2 years agoBundle BKVM.org - BookKeeper Visual Manager 1.2.0 (#300)
Enrico Olivelli [Mon, 29 Jun 2020 00:28:36 +0000 (02:28 +0200)] 
Bundle BKVM.org - BookKeeper Visual Manager 1.2.0 (#300)

* Deploy BKVM.org - BookKeeper Visual Manager
- add dependency to bkvn.org war
- make explicit a few dependencies
- start bkvm.org on backend service at path http://localhost:8080/bkvm
- create example bkvm.conf file

* Use BKVM 1.2.0

Co-authored-by: Enrico Olivelli <eolivelli@apache.org>
Co-authored-by: Enrico Olivelli <enrico.olivelli@diennea.com>
2 years agoSupport multi address for broker stats (#306)
Guangning [Fri, 26 Jun 2020 03:01:32 +0000 (11:01 +0800)] 
Support multi address for broker stats (#306)

* Support multi address

* Fixed broker health check

* Fixed health check

2 years agoUpgrade HerdDB to 0.16, Pulsar Client to 2.5.2, add demo config for diskless-cluster...
Enrico Olivelli [Mon, 22 Jun 2020 11:15:51 +0000 (13:15 +0200)] 
Upgrade HerdDB to 0.16, Pulsar Client to 2.5.2, add demo config for diskless-cluster mode (#303)

### Motivation

Since HerdDB 0.16 you can store all of the data on BookKeeper, this is called "diskless-cluster" mode.
So you will be able to run PulsarManager + HerdDB on a stateless pod, all of the data will be stored on the same BK+ZK cluster as your Pulsar installation.

### Modifications

- Upgrade HerdDB to 0.16.1.
- Upgrade Apache Pulsar Admin Client to 2.5.2 (that officially supports BK 4.10)
- Use pulsar-client-admin-original instead of pulsar-client-admin, because pulsar-client-admin contains a shaded version of CirceChecksum library from BK that is not compatibile with BK 4.10, needed by HerdDB in order to run in diskless-cluster  mode.
- Configure gradle to put application.properties inside pulsar-manager.tar, this way it is super easy to change the configuration of pulsar-manager backend without recompiling the package (no need to use Gradle for System administrator)
- Add an example JDBC URI to boot HerdDB in diskless-cluster mode

### Verifying this change

- [ ] Make sure that the change passes the `./gradlew build` checks.

2 years agofixed a SQL syntax error (#298)
小龙哥 [Sat, 9 May 2020 03:22:40 +0000 (11:22 +0800)] 
fixed a SQL syntax error (#298)

2 years agoUsing volumes instead of binding mounts (#295)
Mehran Poursadeghi [Wed, 29 Apr 2020 00:41:57 +0000 (05:11 +0430)] 
Using volumes instead of binding mounts (#295)

### Motivation

Docker volumes are better than binding mounts.

### Modifications

Change install through docker docs

### Verifying this change

- [x] Make sure that the change passes the `./gradlew build` checks.

2 years agoServe frontend directly from Pulsar Manage backend process (#288)
Enrico Olivelli [Tue, 21 Apr 2020 10:08:21 +0000 (12:08 +0200)] 
Serve frontend directly from Pulsar Manage backend process (#288)

Fixes #269

### Motivation

Use the Tomcat Service provided by StringBoot Application to serve front-end resources.
This way in order to start a pulsar manager instance you only have to run bin/pulsar-manager
and you are able to access the UI with
https://localhost:7750/ui

### Modifications

Assume that the frontend is inside directory "ui" of pulsar manager dist package.
Deploy such static content using SpringBootMVC standard components.

### Verifying this change

- [x] Make sure that the change passes the `./gradlew build` checks.
- Run Pulsar Manager standalone and use the frontend at https://localhost:7750/ui/index.html

2 years agoUse .asf.yaml file for managing pulsar-manager project settings (#290)
Sijie Guo [Mon, 13 Apr 2020 04:37:38 +0000 (21:37 -0700)] 
Use .asf.yaml file for managing pulsar-manager project settings (#290)

2 years agoAdd a docker compose file and update README (#287)
Sijie Guo [Sat, 11 Apr 2020 08:49:19 +0000 (01:49 -0700)] 
Add a docker compose file and update README (#287)

* Add a docker compose file and update README

*Motivation*

- Add a docker compose file to show how to deploy a Pulsar Manager with a Pulsar cluster.
- Update README on how to install Pulsar Manager

* Fix github checkout action

2 years agoUpgrade HerdDB to 0.15.1 (#285)
Alessandro Luccaroni [Wed, 8 Apr 2020 09:52:38 +0000 (11:52 +0200)] 
Upgrade HerdDB to 0.15.1 (#285)

Ugrade HerdDB to 0.15.1
Release notes: https://github.com/diennea/herddb/releases/tag/v0.15.1

Most notable changes are:
- Support for Java 13
- Support for BookKeeper 4.10
- Lots of fix regarding stability and consistency in a replicated environment

Upgrade should be seamless, no data format changes on disk, new code works with old data created with 0,14, 0.13 and 0.12

2 years agoFix the pulsar-manager can not process the request by pulsar proxy (#281)
Yong Zhang [Tue, 24 Mar 2020 05:58:16 +0000 (13:58 +0800)] 
Fix the pulsar-manager can not process the request by pulsar proxy (#281)

---

Fixes: #280

When sending a GET request to the Pulsar proxy, the server
always threw an IllegalArgumentException. By my test that's because
we are setting the Content-Type for a request without the request body.
We remove the Content-Type if the request is GET.

2 years agoFix schema issues on postgresql (#273)
Yosi Attias [Mon, 16 Mar 2020 01:59:21 +0000 (03:59 +0200)] 
Fix schema issues on postgresql (#273)

* Fix schema issues on postgresql

1. Remove "AUTO_INCREMENT" no such thing in postgresql
2. Role-binding change primary key to be `BIGSERIAL` and not `BIGINT` so it will be auto-incremented

https://github.com/apache/pulsar-manager/issues/272

* Allow null access token

When creating a user, it doesn't have an access token.

2 years agoFixed DB initialization for Docker (#263)
Sébastien de Melo [Thu, 13 Feb 2020 01:11:41 +0000 (02:11 +0100)] 
Fixed DB initialization for Docker (#263)

### Motivation

The database structure has changed.  I have updated the initialization script for Docker accordingly.

### Modifications

Added new tables with proper types and constraints

2 years agoUpdated supervisord-secret-key.conf (#262)
vshulkin [Thu, 13 Feb 2020 00:48:12 +0000 (19:48 -0500)] 
Updated supervisord-secret-key.conf (#262)

Fix https://github.com/apache/pulsar-manager/issues/260
### Motivation
Token generation requires secret key to be passed to the pulsar-manager.  However simple passing the key as an env variable to the docker container does not work.  --jwt.broker.token.mode=SECRET needs to be set as well.

### Modifications

Added --jwt.broker.token.mode=SECRET to supervisord-secret-key.conf as part  of program:pulsar-manager-backend command line.

2 years agoUpdate supervisord-private-key.conf (#264)
vshulkin [Thu, 13 Feb 2020 00:47:30 +0000 (19:47 -0500)] 
Update supervisord-private-key.conf (#264)

### Motivation

To add --jwt.broker.token.mode=PRIVATE to supervisord-private-key.conf

### Modifications

Modified supervisord-private-key.conf to include  --jwt.broker.token.mode=PRIVATE

2 years agoSupport https forward (#258)
Guangning [Mon, 10 Feb 2020 17:34:56 +0000 (01:34 +0800)] 
Support https forward (#258)

Fixed
#14
#224
#253

### Motivation
Support https forward.

### Modifications

* Add https forward
* Update readme
* Add option for TLS configurations
* Default enable the user management

2 years agoSupport peek messages from pulsar broker (#241)
Guangning [Thu, 6 Feb 2020 01:37:47 +0000 (09:37 +0800)] 
Support peek messages from pulsar broker (#241)

### Motivation

At present, pulsar-manager does not support a peek message. After the pr is merged, pulsar-manager will support a peek message.

### Modifications

* Support peek messages, include the batch message and non-batch message
* Upgrade pulsar-client version to 2.4.2

![image](https://user-images.githubusercontent.com/1907867/71344369-4c64f780-259d-11ea-8c99-ae6a2b670088.png)

2 years agoEnable github actions (#248)
Guangning [Mon, 13 Jan 2020 11:58:17 +0000 (19:58 +0800)] 
Enable github actions (#248)

### Motivation

The current contributor cannot trigger the Jenkins test, so it enables GitHub actions.

### Modifications

* Enable GitHub actions

2 years agoDisplay front end by different role (#238)
Guangning [Mon, 13 Jan 2020 09:17:01 +0000 (17:17 +0800)] 
Display front end by different role (#238)

### Motivation
This is the fourth pr of task #14.
After merge this pr, the platform will have complete multi-tenant capability, the front end will display different contents according to the user's role, and the back end route will filter resources according to different roles.

### Modifications

* The front-end supports displaying different content according to different roles.
* Super users can view everything
* Support to initialize superuser via rest api

### Verifying this change
Add unit test

2 years agoAdd default configuration for environment (#242)
Guangning [Mon, 13 Jan 2020 09:15:31 +0000 (17:15 +0800)] 
Add default configuration for environment (#242)

Fixes
https://github.com/apache/pulsar-manager/issues/233
https://github.com/apache/pulsar-manager/issues/225

### Motivation

When deploying k8s, a default environment is required.

### Modifications

* Add a default configuration for environment

2 years agoSupport binding user and role (#231)
Guangning [Mon, 30 Dec 2019 02:30:28 +0000 (10:30 +0800)] 
Support binding user and role (#231)

### Motivation
This is the third pr of task #14.
After merging this pr
1. pulsar-manager platform will have the preliminary multi-tenant capability. After each user logs in to the platform for the first time, a default tenant named his user name will be created for him, and a default role will be created. The role will be bound to tenant resources, bind the user to the tenant, and then the user can only see and operate the resources of the tenant bound to him when entering the platform.
2. Join other tenants. The administrator of one tenant can invite other users to join the tenant he manages, and only need to create a record in role bing.
3. Create roles. The tenant's administrator can create some roles under this tenant. The roles bind different resources. When other users enter, they can be assigned different roles, thus limiting their operation of different resources.

### Modifications

* Create default tenant, default role, default role binding
* Cache namespace
* Create role binding
* Add role binding page

### Verifying this change
Add unit test

2 years agoFixed display stats for tenant and namespace (#243)
Guangning [Mon, 30 Dec 2019 02:13:44 +0000 (10:13 +0800)] 
Fixed display stats for tenant and namespace (#243)

### Motivation

At present, because TopicStatsEntity did not get the correct tenant, the stats information display for tenants and namespaces lacks some information. This pr fixes this problem.

### Modifications

* Use the correct tenant and namespace.

2 years agoSupport sub and unsub (#240)
tuteng [Wed, 25 Dec 2019 15:53:56 +0000 (23:53 +0800)] 
Support sub and unsub (#240)

Fix #167

### Motivation

Add operation for sub and unsub

### Modifications

* Add sub and unsub operations
* Support topic and partition topic

### Verifying this change

Local test pass

2 years agoSupport display stats for tenant and namespaces (#239)
tuteng [Wed, 25 Dec 2019 15:52:54 +0000 (23:52 +0800)] 
Support display stats for tenant and namespaces (#239)

Fix
https://github.com/apache/pulsar-manager/issues/161
https://github.com/apache/pulsar-manager/issues/198

### Motivation

At present, some users hope to be able to see statistical information on the tenant and namespace pages, so add this feature.

### Modifications
* Add stats information for tenants
* Add stats information for namespaces
* Add unit test for new feature

Tenant page:
![image](https://user-images.githubusercontent.com/1907867/71256557-0a08a400-236c-11ea-8c10-a17e68172dd8.png)

Namespace page:
![image](https://user-images.githubusercontent.com/1907867/71256581-1db40a80-236c-11ea-926e-b2b70ab6cc53.png)

### Verifying this change
Unit test pass

2 years agoAdd a configuration file for backend service of pulsar manager (#236)
tuteng [Wed, 25 Dec 2019 15:51:45 +0000 (23:51 +0800)] 
Add a configuration file for backend service of pulsar manager (#236)

### Motivation

Currently, there are more and more configurable options for pulsar-manger backend services. We need to start the service by specifying a configuration file, which is very useful in a production environment.

### Modification

* Add a `supervisord-configuration-file.conf` profile and start the service through the profile becomes an option.

2 years agoAdd github pull request template (#237)
tuteng [Wed, 25 Dec 2019 15:50:33 +0000 (23:50 +0800)] 
Add github pull request template (#237)

### Motivation

Add a template for pull request

### Modifications

* Add a template for pull request

2 years agoUgrade HerdDB to 0.13.1 (#235)
Alessandro Luccaroni [Mon, 16 Dec 2019 01:57:39 +0000 (02:57 +0100)] 
Ugrade HerdDB to 0.13.1 (#235)

2 years agoSupport management of user (#226)
tuteng [Wed, 11 Dec 2019 20:14:32 +0000 (04:14 +0800)] 
Support management of user (#226)

### Motivation

This is the second pr of task https://github.com/apache/pulsar-manager/issues/14.

### Modifications

* Support super users to manage users, including create, delete, update and query
* Add role table, namespace table and tenant table to cache tenant and the namespace
* Roles are isolated among tenants, and roles under different tenants are not visible to each other.
* When users log in, the platform will create a default tenant, the default role.

### Verifying this change

 Add unit test

2 years agoSwitch from field injection to constructor injection for beans (#230)
Sergii Zhevzhyk [Tue, 10 Dec 2019 04:23:58 +0000 (05:23 +0100)] 
Switch from field injection to constructor injection for beans (#230)

## Motivation

Field injection is not recommended in Spring (for example, IntelliJ shows a warning). There are a couple of articles and discussions showing the advantages of Constructor-based dependency injection and Setter-based dependency injection. For this project, I recommend switching from Field-based dependency injection to Constructor-based injection. It should bring better testability, immutability, and show problems in design.

## Change

Initialization of all fields which were injected with the `@Autowired` annotation was moved to constructors.

2 years agoRemove redundant local variables from services' implementation (#229)
Sergii Zhevzhyk [Sat, 7 Dec 2019 00:37:26 +0000 (01:37 +0100)] 
Remove redundant local variables from services' implementation (#229)

2 years agoRemove test dependencies from the final product (#228)
Sergii Zhevzhyk [Fri, 6 Dec 2019 15:05:56 +0000 (16:05 +0100)] 
Remove test dependencies from the final product (#228)

2 years agoFix typos in comments and names of some methods (#227)
Sergii Zhevzhyk [Thu, 5 Dec 2019 01:36:20 +0000 (02:36 +0100)] 
Fix typos in comments and names of some methods (#227)

2 years agoSupport third party login for example GitHub (#222)
tuteng [Wed, 4 Dec 2019 19:04:26 +0000 (03:04 +0800)] 
Support third party login for example GitHub (#222)

Fix #14

### Motivation
This pr is used to support Github authentication. Next, I will add support for user authorization.

### Modifications

* Support authentication by Github
* Add user table
* Add a third-party login page

### Verifying this change

 Add unit test

2 years agoFix README.md display problems (#223)
冉小龙 [Wed, 27 Nov 2019 12:57:55 +0000 (20:57 +0800)] 
Fix README.md display problems (#223)

Signed-off-by: xiaolong.ran <ranxiaolong716@gmail.com>
2 years agoSupport docker for jwt (#218)
tuteng [Mon, 25 Nov 2019 18:07:26 +0000 (02:07 +0800)] 
Support docker for jwt (#218)

* Add supervisor scripts for secret key and private key
* Update README.md

2 years agoMove version to 0.2.0 (#217)
tuteng [Mon, 25 Nov 2019 18:05:13 +0000 (02:05 +0800)] 
Move version to 0.2.0 (#217)

2 years agoUgrade HerdDB to 0.13.0 (#212)
Enrico Olivelli [Sat, 23 Nov 2019 10:59:07 +0000 (11:59 +0100)] 
Ugrade HerdDB to 0.13.0 (#212)

2 years agoUpdate readme for start backend service (#211)
tuteng [Tue, 19 Nov 2019 02:35:31 +0000 (10:35 +0800)] 
Update readme for start backend service (#211)

* Update readme for start backend service

2 years agoRemove streamnative from the project (#213)
tuteng [Tue, 19 Nov 2019 02:21:00 +0000 (10:21 +0800)] 
Remove streamnative from the project (#213)

2 years agoAdd license file for project (#209)
tuteng [Tue, 12 Nov 2019 07:16:42 +0000 (15:16 +0800)] 
Add license file for project (#209)

* Add license File for Dependency(Include backend and frontend)

2 years agoMove package name from io.streamnative.pulsar to org.apache.pulsar (#208)
tuteng [Fri, 8 Nov 2019 12:20:08 +0000 (20:20 +0800)] 
Move package name from io.streamnative.pulsar to org.apache.pulsar (#208)

2 years agoAdd license for vue file (#207)
tuteng [Tue, 5 Nov 2019 15:23:05 +0000 (23:23 +0800)] 
Add license for vue file (#207)

2 years agoSupport management of jwt for pulsar-manager (#205)
tuteng [Mon, 4 Nov 2019 12:50:53 +0000 (20:50 +0800)] 
Support management of jwt for pulsar-manager (#205)

* ### Modifications
Support JWT management

### Modifications
* Support management token, add, delete, view
* Support for namespace authorization
* support for topic and partition topic authorization

2 years agoAdd redirect scheme (#204)
Yuvaraj L [Thu, 31 Oct 2019 10:02:20 +0000 (15:32 +0530)] 
Add redirect scheme (#204)