[ISSUE #435] Initial Creation of eventMesh-admin module in EventMesh (#513)

* initial checkin of eventmesh-schema-plugin

* add file header

* rework pr to add eventmesh-admin module

* typo in readme

* add topic rest apis in readme

* add topic rest apis in readme

* move schema registry out of this pr

* move schema registry out of this pr
This commit is contained in:
yuri 2021-09-14 05:10:55 -04:00 committed by GitHub
parent 8918b822c9
commit a320751bee
7 changed files with 91 additions and 2 deletions

View File

@ -202,6 +202,7 @@ subprojects {
exclude 'eventmesh-common*.jar'
exclude 'eventmesh-connector-api*.jar'
exclude 'eventmesh-connector-plugin*.jar'
exclude 'eventmesh-admin*.jar'
exclude 'eventmesh-starter*.jar'
exclude 'eventmesh-test*.jar'
exclude 'eventmesh-sdk*.jar'

53
eventmesh-admin/README.md Normal file
View File

@ -0,0 +1,53 @@
# EventMesh Administration Module
EventMesh Administration Module for EventMesh. It manages Admin Service, Configurations such as topics/subscriptions management.It works as a control plane and provide some interface to manage the eventmesh-runtime module and other configurations.
## Administration Client Manager APIs
### POST /clientmanage/topics/
- Create a new topic if does not exist
- Exposed POST endpoint to create a new topic if it does not exist.
* Url - http://localhost:8081/clientmanage/topics/
* sample request payload
```json
{
"name": "mytopic1"
}
```
Sample response
```json
{
"topic": "mytopic1",
"created_time": "2021-09-03",
}
```
### DELETE /clientmanage/topics/(string: topic)/
- Delete a specific topic.
- Exposed DELETE endpoint to remove a specific topic
* URL -
```url
http://localhost:8081/clientmanage/topics/mytopic1
```
* Response -
```json
{
"topic": "mytopic1",
}
```
### GET /clientmanage/topics
- Retrieve a list of topics
- Exposed GET endpoint to retrieve all topics
* URL -
```url
http://localhost:8081/clientmanage/topics
```
* Response
```json
["mytopic1", "mytopic2"]
```

View File

@ -0,0 +1,19 @@
/*
* 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
*
* http://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.
*/
dependencies {
}

View File

@ -0,0 +1,16 @@
#
# 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
#
# http://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.
#

View File

@ -29,7 +29,6 @@ dependencies {
implementation project(":eventmesh-registry-plugin:eventmesh-registry-api")
implementation project(":eventmesh-registry-plugin:eventmesh-registry-rocketmq-namesrv")
testImplementation project(":eventmesh-connector-plugin:eventmesh-connector-api")
testImplementation project(":eventmesh-security-plugin:eventmesh-security-api")
testImplementation project(":eventmesh-security-plugin:eventmesh-security-acl")

View File

@ -53,4 +53,4 @@ public class ClientManageController {
server.start();
logger.info("ClientManageController start success, port:{}", port);
}
}
}

View File

@ -29,4 +29,5 @@ include 'eventmesh-security-plugin:eventmesh-security-api'
include 'eventmesh-security-plugin:eventmesh-security-acl'
include 'eventmesh-registry-plugin:eventmesh-registry-api'
include 'eventmesh-registry-plugin:eventmesh-registry-rocketmq-namesrv'
include 'eventmesh-admin'