Skip to content

Commit

Permalink
Merge branch 'main' into dev
Browse files Browse the repository at this point in the history
* main: (32 commits)
  [ISSUE apache#144] Auto approve when dependabot's branch is changed by someone else (apache#145)
  chore(deps): bump gradle/gradle-build-action from 2 to 3 (apache#140)
  chore(deps): bump actions/setup-java from 3 to 4 (apache#139)
  [ISSUE apache#134] Deploy Meta, Event Store and Runtime test environments in CI (apache#135)
  [ISSUE apache#63] Function Manager and Health Service update (apache#98)
  chore(deps): bump org.apache.commons:commons-lang3 from 3.13.0 to 3.14.0 (apache#124)
  chore(deps): bump com.alibaba.fastjson2:fastjson2 from 2.0.40 to 2.0.49 (apache#125)
  chore(deps): bump org.springdoc:springdoc-openapi-ui from 1.7.0 to 1.8.0 (apache#127)
  [ISSUE apache#132] Make Maven Wrapper executable (apache#133)
  [ISSUE apache#130] Auto-approve Dependabot PR only and Disable PR up-to-date check (apache#131)
  [ISSUE apache#128] Use GitHub CLI `comment` to auto-merge a Dependabot PR (apache#129)
  [ISSUE apache#122] Enable auto-merge workflow of Dependabot (apache#123)
  chore(deps): bump webpack-dev-middleware in /eventmesh-dashboard-view (apache#117)
  Add SDKManager JavaDoc and some code optimisation (apache#121)
  [ISSUE apache#119] Introduce dependencies for a unified return front-end format (apache#120)
  chore(deps): bump spring-boot.version from 2.7.6 to 2.7.18 (apache#112)
  chore(deps): bump org.apache.rocketmq:rocketmq-client (apache#115)
  chore(deps): bump org.apache.maven.plugins:maven-surefire-plugin (apache#111)
  chore(deps): bump org.apache.maven.plugins:maven-compiler-plugin (apache#114)
  chore(deps): bump io.etcd:jetcd-core from 0.7.5 to 0.7.7 (apache#113)
  ...

# Conflicts:
#	eventmesh-dashboard-view/src/assets/icons/index.ts
#	eventmesh-dashboard-view/src/routes/RootLayout.tsx
#	eventmesh-dashboard-view/src/routes/cluster/topic/Topic.tsx
#	eventmesh-dashboard-view/src/routes/cluster/topic/stats/Stats.tsx
#	eventmesh-dashboard-view/src/routes/cluster/topic/stats/TopicCount.tsx
#	eventmesh-dashboard-view/src/routes/navigation/Navigation.tsx
#	eventmesh-dashboard-view/src/routes/topic/topic-list/TopicList.tsx
  • Loading branch information
SUN committed Jun 3, 2024
2 parents 4d2b285 + 8b0e4e5 commit 500b5ba
Show file tree
Hide file tree
Showing 2,024 changed files with 64,659 additions and 1,256 deletions.
10 changes: 7 additions & 3 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@
#

github:
description: EventMesh Dashboard
description: Apache EventMesh Dashboard
features:
# Enable issue management
issues: true
# Enable wiki
wiki: true
homepage: https://eventmesh.apache.org/
homepage: https://eventmesh.apache.org
labels:
- pubsub
- event-mesh
Expand All @@ -40,7 +40,11 @@ github:
protected_branches:
main:
required_status_checks:
strict: true
strict: false
contexts:
- dependency-review
- Build (ubuntu-latest, 8, java)
- Build (ubuntu-latest, 11, java)
required_pull_request_reviews:
dismiss_stale_reviews: true
required_approving_review_count: 0 # Temporary 0 to allow committers to merge themselves PR
Expand Down
40 changes: 40 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#
# 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.
#

version: 2
updates:
- package-ecosystem: "maven"
directory: "/"
open-pull-requests-limit: 10
schedule:
interval: "weekly"
ignore:
- dependency-name: "*"
update-types: [ "version-update:semver-major" ]
- package-ecosystem: "npm"
directory: "./eventmesh-dashboard-view"
# Disable front-end PRs temporarily since 'npm run build' fails
open-pull-requests-limit: 0
schedule:
interval: "monthly"
ignore:
- dependency-name: "*"
update-types: [ "version-update:semver-major", "version-update:semver-patch" ]
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
42 changes: 42 additions & 0 deletions .github/workflows/auto-dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#
# 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.
#

name: Dependabot Auto-approve
on: pull_request_target

permissions:
contents: write
pull-requests: write

jobs:
# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions
# Pull request Auto merge is not enabled for this repository
dependabot:
runs-on: ubuntu-latest
if: github.event.pull_request.user.login == 'dependabot[bot]'
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v2
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"

- name: Approve PR
run: gh pr review --approve "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61 changes: 56 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
matrix:
os: [ ubuntu-latest ]
java: [ 8, 11 ]
language: ['java']
language: [ 'java' ]
runs-on: ${{ matrix.os }}

services:
Expand All @@ -48,17 +48,68 @@ jobs:
- 3306:3306
# Set health checks to wait until MySQL has started
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
redis:
image: redis
ports:
- 6379:6379
options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Download middlewares
run: |
wget https://github.com/alibaba/nacos/releases/download/2.3.2/nacos-server-2.3.2.zip
unzip nacos-server-2.3.2.zip
wget https://dist.apache.org/repos/dist/release/rocketmq/4.9.8/rocketmq-all-4.9.8-bin-release.zip
unzip rocketmq-all-4.9.8-bin-release.zip
git clone https://github.com/apache/eventmesh.git
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3

- name: Set up JDK 11
uses: actions/setup-java@v4
with:
distribution: 'corretto'
java-version: 11

- name: Build EventMesh GenerateGrammarSource
working-directory: eventmesh
run: ./gradlew clean generateGrammarSource --parallel --daemon

- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'corretto'
java-version: ${{ matrix.java }}
cache: maven

- name: Build with Maven
run: mvn -B package --file pom.xml
- name: Build EventMesh Runtime
working-directory: eventmesh
run: ./gradlew clean dist -x spotlessJava -x generateGrammarSource --parallel --daemon && ./gradlew installPlugin

- name: Apply configuration file
run: cp .github/workflows/config/eventmesh.properties eventmesh/dist/conf/eventmesh.properties

- name: Set up Meta
working-directory: nacos
run: nohup bash bin/startup.sh -m standalone &

- name: Set up Event Store
working-directory: rocketmq-all-4.9.8-bin-release
run: |
nohup sh bin/mqnamesrv &
sleep 5
nohup sh bin/mqbroker -n localhost:9876 &
- name: Set up EventMesh Runtime
working-directory: eventmesh/dist
run: bash bin/start.sh

- name: Build Dashboard
run: ./mvnw -B package -DskipTests --file pom.xml

- name: Run Unit Tests
run: ./mvnw -B test --file pom.xml
140 changes: 140 additions & 0 deletions .github/workflows/config/eventmesh.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
#
# 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.
#
########################## EventMesh Runtime Environment ##########################
eventMesh.server.idc=DEFAULT
eventMesh.server.env=PRD
eventMesh.server.provide.protocols=HTTP,TCP,GRPC
eventMesh.server.cluster=COMMON
eventMesh.server.name=EVENTMESH-runtime
eventMesh.sysid=0000
eventMesh.server.tcp.port=10000
eventMesh.server.http.port=10105
eventMesh.server.grpc.port=10205
# HTTP Admin Server
eventMesh.server.admin.http.port=10106

########################## EventMesh TCP Configuration ##########################
eventMesh.server.tcp.enabled=true
eventMesh.server.tcp.readerIdleSeconds=120
eventMesh.server.tcp.writerIdleSeconds=120
eventMesh.server.tcp.allIdleSeconds=120
eventMesh.server.tcp.clientMaxNum=10000
# client isolation time if the message send failure
eventMesh.server.tcp.pushFailIsolateTimeInMills=30000
# rebalance internal
eventMesh.server.tcp.RebalanceIntervalInMills=30000
# session expire time about client
eventMesh.server.session.expiredInMills=60000
# flow control, include the global level and session level
eventMesh.server.tcp.msgReqnumPerSecond=15000
eventMesh.server.http.msgReqnumPerSecond=15000
eventMesh.server.session.upstreamBufferSize=20

# for single event publish, maximum size allowed per event
eventMesh.server.maxEventSize=1000
# for batch event publish, maximum number of events allowed in one batch
eventMesh.server.maxEventBatchSize=10

# thread number about global scheduler
eventMesh.server.global.scheduler=5
eventMesh.server.tcp.taskHandleExecutorPoolSize=8
# retry
eventMesh.server.retry.async.pushRetryTimes=3
eventMesh.server.retry.sync.pushRetryTimes=3
eventMesh.server.retry.async.pushRetryDelayInMills=500
eventMesh.server.retry.sync.pushRetryDelayInMills=500
eventMesh.server.retry.pushRetryQueueSize=10000
eventMesh.server.retry.plugin.type=default

# sleep interval between closing client of different group in server graceful shutdown
eventMesh.server.gracefulShutdown.sleepIntervalInMills=1000
eventMesh.server.rebalanceRedirect.sleepIntervalInMills=200

# ip address blacklist
eventMesh.server.blacklist.ipv4=0.0.0.0/8,127.0.0.0/8,169.254.0.0/16,255.255.255.255/32
eventMesh.server.blacklist.ipv6=::/128,::1/128,ff00::/8

########################## EventMesh Plugin Configuration ##########################
# storage plugin
eventMesh.storage.plugin.type=rocketmq

# security plugin
eventMesh.server.security.enabled=false
eventMesh.security.plugin.type=security
eventMesh.security.validation.type.token=false
eventMesh.security.publickey=

# metaStorage plugin
eventMesh.metaStorage.plugin.enabled=true
eventMesh.metaStorage.plugin.type=nacos
eventMesh.metaStorage.plugin.server-addr=127.0.0.1:8848
eventMesh.metaStorage.plugin.username=nacos
eventMesh.metaStorage.plugin.password=nacos

# metaStorage plugin: nacos
#eventMesh.metaStorage.nacos.endpoint=
#eventMesh.metaStorage.nacos.accessKey=
#eventMesh.metaStorage.nacos.secretKey=
#eventMesh.metaStorage.nacos.clusterName=
#eventMesh.metaStorage.nacos.namespace=
# The default value is half of CPU's num
#eventMesh.metaStorage.nacos.namingPollingThreadCount=5

# metaStorage plugin: zookeeper
#eventMesh.metaStorage.zookeeper.scheme=
#eventMesh.metaStorage.zookeeper.auth=
#eventMesh.metaStorage.zookeeper.connectionTimeoutMs=
#eventMesh.metaStorage.zookeeper.sessionTimeoutMs=

# Fully qualified name of org.apache.curator.RetryPolicy implementation
#eventMesh.metaStorage.zookeeper.retryPolicy.class=

# Constructor arguments for different org.apache.curator.RetryPolicy implementations
#eventMesh.metaStorage.zookeeper.retryPolicy.baseSleepTimeMs=
#eventMesh.metaStorage.zookeeper.retryPolicy.maxRetries=
#eventMesh.metaStorage.zookeeper.retryPolicy.maxSleepTimeMs=
#eventMesh.metaStorage.zookeeper.retryPolicy.retryIntervalMs=
#eventMesh.metaStorage.zookeeper.retryPolicy.nTimes=
#eventMesh.metaStorage.zookeeper.retryPolicy.sleepMsBetweenRetries=

# The TLS configuration of metaStorage plugin: consul
# keyStoreInstanceType's value can refer to com.ecwid.consul.transport.TLSConfig.KeyStoreInstanceType
#eventMesh.metaStorage.consul.tls.keyStoreInstanceType=
#eventMesh.metaStorage.consul.tls.certificatePath=
#eventMesh.metaStorage.consul.tls.certificatePassword=
#eventMesh.metaStorage.consul.tls.keyStorePath=
#eventMesh.metaStorage.consul.tls.keyStorePassword=

# metrics plugin, if you have multiple plugin, you can use ',' to split
eventMesh.metrics.plugin=prometheus

# trace plugin
eventMesh.server.trace.enabled=false
eventMesh.trace.plugin=zipkin

# webhook
# Start webhook admin service
eventMesh.webHook.admin.start=true
# Webhook event configuration storage mode. Currently, only file and nacos are supported
eventMesh.webHook.operationMode=file
# The file storage path of the file storage mode. If #{eventMeshHome} is written, it is in the EventMesh root directory
eventMesh.webHook.fileMode.filePath= #{eventMeshHome}/webhook
# Nacos storage mode, and the configuration naming rule is EventMesh webHook. nacosMode. {nacos native configuration key} please see the specific configuration [nacos github api](https://github.com/alibaba/nacos/blob/develop/api/src/main/java/com/alibaba/nacos/api/SystemPropertyKeyConst.java)
## Address of Nacos
eventMesh.webHook.nacosMode.serverAddr=127.0.0.1:8848
# Webhook CloudEvent sending mode. This property is the same as the eventMesh.storage.plugin.type configuration.
eventMesh.webHook.producer.storage=standalone
8 changes: 4 additions & 4 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,21 +27,21 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Login to DockerHub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v5
with:
images: |
apache/eventmesh-dashboard
- name: Build and push
uses: docker/build-push-action@v4
uses: docker/build-push-action@v5
with:
push: true
tags: ${{ steps.meta.outputs.tags }}
Expand Down
Loading

0 comments on commit 500b5ba

Please sign in to comment.