Skip to content

Commit

Permalink
[ISSUE #435] Initial Creation of eventMesh-admin module in EventMesh (#…
Browse files Browse the repository at this point in the history
…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
  • Loading branch information
yzhao244 authored Sep 14, 2021
1 parent 16ae31a commit bd8d736
Show file tree
Hide file tree
Showing 7 changed files with 91 additions and 2 deletions.
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
53 changes: 53 additions & 0 deletions eventmesh-admin/README.md
Original file line number Diff line number Diff line change
@@ -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"]
```
19 changes: 19 additions & 0 deletions eventmesh-admin/build.gradle
Original file line number Diff line number Diff line change
@@ -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 {
}
16 changes: 16 additions & 0 deletions eventmesh-admin/gradle.properties
Original file line number Diff line number Diff line change
@@ -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.
#
1 change: 0 additions & 1 deletion eventmesh-runtime/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,4 @@ public void start() throws IOException {
server.start();
logger.info("ClientManageController start success, port:{}", port);
}
}
}
1 change: 1 addition & 0 deletions settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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'

0 comments on commit bd8d736

Please sign in to comment.