Merge remote-tracking branch 'origin/master' into dev/v4.3.0
This commit is contained in:
commit
0336cca600
|
@ -0,0 +1,119 @@
|
|||
# Edit this file as you like.
|
||||
#
|
||||
# All these sections are optional. Each section with the exception of [general] represents
|
||||
# one rule and each key in it is an option for that specific rule.
|
||||
#
|
||||
# Rules and sections can be referenced by their full name or by id. For example
|
||||
# section "[body-max-line-length]" could also be written as "[B1]". Full section names are
|
||||
# used in here for clarity.
|
||||
#
|
||||
[general]
|
||||
# Ignore certain rules, this example uses both full name and id
|
||||
ignore=title-trailing-punctuation, T1, T2, T3, T4, T5, T6, T8, B1, B2, B3, B4, B5, B6, B7, B8
|
||||
|
||||
# verbosity should be a value between 1 and 3, the commandline -v flags take precedence over this
|
||||
# verbosity = 2
|
||||
|
||||
# By default gitlint will ignore merge, revert, fixup and squash commits.
|
||||
# ignore-merge-commits=true
|
||||
# ignore-revert-commits=true
|
||||
# ignore-fixup-commits=true
|
||||
# ignore-squash-commits=true
|
||||
|
||||
# Ignore any data send to gitlint via stdin
|
||||
# ignore-stdin=true
|
||||
|
||||
# Fetch additional meta-data from the local repository when manually passing a
|
||||
# commit message to gitlint via stdin or --commit-msg. Disabled by default.
|
||||
# staged=true
|
||||
|
||||
# Enable debug mode (prints more output). Disabled by default.
|
||||
# debug=true
|
||||
|
||||
# Enable community contributed rules
|
||||
# See http://jorisroovers.github.io/gitlint/contrib_rules for details
|
||||
# contrib=contrib-title-conventional-commits,CC1
|
||||
|
||||
# Set the extra-path where gitlint will search for user defined rules
|
||||
# See http://jorisroovers.github.io/gitlint/user_defined_rules for details
|
||||
# extra-path=examples/
|
||||
|
||||
# This is an example of how to configure the "title-max-length" rule and
|
||||
# set the line-length it enforces to 80
|
||||
# [title-max-length]
|
||||
# line-length=50
|
||||
|
||||
# Conversely, you can also enforce minimal length of a title with the
|
||||
# "title-min-length" rule:
|
||||
# [title-min-length]
|
||||
# min-length=5
|
||||
|
||||
# [title-must-not-contain-word]
|
||||
# Comma-separated list of words that should not occur in the title. Matching is case
|
||||
# insensitive. It's fine if the keyword occurs as part of a larger word (so "WIPING"
|
||||
# will not cause a violation, but "WIP: my title" will.
|
||||
# words=wip
|
||||
|
||||
[title-match-regex]
|
||||
# python-style regex that the commit-msg title must match
|
||||
# Note that the regex can contradict with other rules if not used correctly
|
||||
# (e.g. title-must-not-contain-word).
|
||||
regex=^(feat|fix|docs|style|refactor|test|chore|perf)\(.+\): .+
|
||||
|
||||
# [body-max-line-length]
|
||||
# line-length=72
|
||||
|
||||
# [body-min-length]
|
||||
# min-length=5
|
||||
|
||||
# [body-is-missing]
|
||||
# Whether to ignore this rule on merge commits (which typically only have a title)
|
||||
# default = True
|
||||
# ignore-merge-commits=false
|
||||
|
||||
# [body-changed-file-mention]
|
||||
# List of files that need to be explicitly mentioned in the body when they are changed
|
||||
# This is useful for when developers often erroneously edit certain files or git submodules.
|
||||
# By specifying this rule, developers can only change the file when they explicitly reference
|
||||
# it in the commit message.
|
||||
# files=gitlint/rules.py,README.md
|
||||
|
||||
# [body-match-regex]
|
||||
# python-style regex that the commit-msg body must match.
|
||||
# E.g. body must end in My-Commit-Tag: foo
|
||||
# regex=My-Commit-Tag: foo$
|
||||
|
||||
# [author-valid-email]
|
||||
# python-style regex that the commit author email address must match.
|
||||
# For example, use the following regex if you only want to allow email addresses from foo.com
|
||||
# regex=[^@]+@foo.com
|
||||
|
||||
[ignore-by-title]
|
||||
# Ignore certain rules for commits of which the title matches a regex
|
||||
# E.g. Match commit titles that start with "Release"
|
||||
# regex=^Release(.*)
|
||||
|
||||
# Ignore certain rules, you can reference them by their id or by their full name
|
||||
# Use 'all' to ignore all rules
|
||||
# ignore=T1,body-min-length
|
||||
|
||||
[ignore-by-body]
|
||||
# Ignore certain rules for commits of which the body has a line that matches a regex
|
||||
# E.g. Match bodies that have a line that that contain "release"
|
||||
# regex=(.*)release(.*)
|
||||
#
|
||||
# Ignore certain rules, you can reference them by their id or by their full name
|
||||
# Use 'all' to ignore all rules
|
||||
# ignore=T1,body-min-length
|
||||
|
||||
# [ignore-body-lines]
|
||||
# Ignore certain lines in a commit body that match a regex.
|
||||
# E.g. Ignore all lines that start with 'Co-Authored-By'
|
||||
# regex=^Co-Authored-By
|
||||
|
||||
# This is a contrib rule - a community contributed rule. These are disabled by default.
|
||||
# You need to explicitly enable them one-by-one by adding them to the "contrib" option
|
||||
# under [general] section above.
|
||||
# [contrib-title-conventional-commits]
|
||||
# Specify allowed commit types. For details see: https://www.conventionalcommits.org/
|
||||
# types = bugfix,user-story,epic
|
|
@ -0,0 +1,11 @@
|
|||
name: Elvis Linter
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- run: |
|
||||
./elvis-check.sh $GITHUB_BASE_REF
|
|
@ -0,0 +1,34 @@
|
|||
name: Run gitlint
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
run_gitlint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout source code
|
||||
uses: actions/checkout@master
|
||||
- name: Install gitlint
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt install gitlint
|
||||
- name: Run gitlint
|
||||
run: |
|
||||
pr_number=$(echo $GITHUB_REF | awk 'BEGIN { FS = "/" } ; { print $3 }')
|
||||
messages=$(curl "https://api.github.com/repos/${GITHUB_REPOSITORY}/pulls/${pr_number}/commits")
|
||||
len=$(echo $messages | jq length)
|
||||
result=true
|
||||
for i in $( seq 0 $(($len - 1)) ); do
|
||||
message=$(echo $messages | jq -r .[$i].commit.message)
|
||||
echo commit message: $message
|
||||
status=0
|
||||
echo $message | gitlint -C ./.github/workflows/.gitlint || status=$?
|
||||
if [ $status -ne 0 ]; then
|
||||
result=false
|
||||
fi
|
||||
done
|
||||
if ! ${result} ; then
|
||||
echo "Some of the commit messages are not structured as The Conventional Commits specification. Please check CONTRIBUTING.md for our process on PR."
|
||||
exit 1
|
||||
fi
|
||||
echo "success"
|
|
@ -39,3 +39,4 @@ rebar.lock
|
|||
.stamp
|
||||
tmp/
|
||||
_packages
|
||||
elvis
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
# Contributing
|
||||
|
||||
You are welcome to submit any bugs, issues and feature requests on this repository.
|
||||
|
||||
## Pull Request Process
|
||||
|
||||
1. Update the README.md with details of changes to the interface.
|
||||
|
||||
2. Ensure that each of the commit messages are in the following style:
|
||||
|
||||
Format: `<type>(<scope>): <subject>`
|
||||
|
||||
Type:
|
||||
|
||||
- `feat`: (new feature for the user, not a new feature for build script)
|
||||
- `fix`: (bug fix for the user, not a fix to a build script)
|
||||
- `docs`: (changes to the documentation)
|
||||
- `style`: (formatting, missing semi colons, etc; no production code change)
|
||||
- `refactor`: (refactoring production code, eg. renaming a variable)
|
||||
- `test`: (adding missing tests, refactoring tests; no production code change)
|
||||
- `chore`: (updating grunt tasks etc; no production code change)
|
||||
- `perf`: (performance improvements)
|
||||
|
||||
**Example**
|
||||
|
||||
```
|
||||
feat(build): deterministic compile option
|
||||
^--^ ^---^ ^--------------------------^
|
||||
| | |
|
||||
| | +-> Summary in present tense.
|
||||
| |
|
||||
| |
|
||||
| +-------> Scope of the change.
|
||||
|
|
||||
+-------> Type: chore, docs, feat, fix, perf, refactor, style, or test.
|
||||
```
|
||||
|
||||
[Reference](https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716)
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
[](https://www.emqx.io/cn/careers)
|
||||
|
||||
[English](./README.md) | 简体中文
|
||||
[English](./README.md) | 简体中文 | [日本語](./README-JP.md)
|
||||
|
||||
*EMQ X* 是一款完全开源,高度可伸缩,高可用的分布式 MQTT 消息服务器,适用于 IoT、M2M 和移动应用程序,可处理千万级别的并发客户端。
|
||||
|
||||
|
|
|
@ -0,0 +1,98 @@
|
|||
# EMQ X Broker
|
||||
|
||||
[](https://github.com/emqx/emqx/releases)
|
||||
[](https://travis-ci.org/emqx/emqx)
|
||||
[](https://coveralls.io/github/emqx/emqx)
|
||||
[](https://hub.docker.com/r/emqx/emqx)
|
||||
[](https://slack-invite.emqx.io)
|
||||
[](https://twitter.com/emqtt)
|
||||
|
||||
[](https://www.emqx.io/careers)
|
||||
|
||||
[English](./README.md) | [简体中文](./README-CN.md) | 日本語
|
||||
|
||||
*EMQ X* ブローカーは、数千万のクライアントを同時に処理できるIoT、M2M、モバイルアプリケーション向けの、完全なオープンソース、高拡張性、高可用性、分散型MQTTメッセージングブローカーです。
|
||||
|
||||
バージョン3.0以降、*EMQ X* ブローカーはMQTTV5.0プロトコル仕様を完全にサポートし、MQTT V3.1およびV3.1.1と下位互換性があります。MQTT-SN、CoAP、LwM2M、WebSocket、STOMPなどの通信プロトコルをサポートしています。 1つのクラスター上で1,000万以上の同時MQTT接続に拡張することができます。
|
||||
|
||||
- 新機能の一覧については、[EMQ Xリリースノート](https://github.com/emqx/emqx/releases)を参照してください。
|
||||
- 詳細はこちら[EMQ X公式ウェブサイト](https://www.emqx.io/)をご覧ください。
|
||||
|
||||
## インストール
|
||||
|
||||
*EMQ X* ブローカーはクロスプラットフォームで、Linux、Unix、macOS、Windowsをサポートしています。これは、*EMQ X* ブローカーをx86_64アーキテクチャサーバー、またはRaspberryPiなどのARMデバイスにデプロイできることを意味します。
|
||||
|
||||
#### EMQ X Dockerイメージによるインストール
|
||||
|
||||
```
|
||||
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx
|
||||
```
|
||||
|
||||
#### バイナリパッケージによるインストール
|
||||
|
||||
対応するオペレーティングシステムのバイナリソフトウェアパッケージは、[EMQ Xのダウンロード](https://www.emqx.io/downloads)ページから取得できます。
|
||||
|
||||
- [シングルノードインストール](https://docs.emqx.io/broker/latest/en/getting-started/installation.html)
|
||||
- [マルチノードインストール](https://docs.emqx.io/broker/latest/en/advanced/cluster.html)
|
||||
|
||||
## ソースからビルド
|
||||
|
||||
バージョン3.0以降、*EMQ X* ブローカーをビルドするには Erlang/OTP R21+ が必要です。
|
||||
|
||||
```
|
||||
git clone https://github.com/emqx/emqx-rel.git
|
||||
|
||||
cd emqx-rel && make
|
||||
|
||||
cd _rel/emqx && ./bin/emqx console
|
||||
```
|
||||
|
||||
## クイックスタート
|
||||
|
||||
```
|
||||
# Start emqx
|
||||
./bin/emqx start
|
||||
|
||||
# Check Status
|
||||
./bin/emqx_ctl status
|
||||
|
||||
# Stop emqx
|
||||
./bin/emqx stop
|
||||
```
|
||||
|
||||
*EMQ X* ブローカーを起動したら、ブラウザで http://localhost:18083 にアクセスしてダッシュボードを表示できます。
|
||||
|
||||
## FAQ
|
||||
|
||||
よくある質問については、[EMQ X FAQ](https://docs.emqx.io/broker/latest/en/faq/faq.html)にアクセスしてください。
|
||||
|
||||
## ロードマップ
|
||||
|
||||
[EMQ X Roadmap uses Github milestones](https://github.com/emqx/emqx/milestones)からプロジェクトの進捗状況を追跡できます。
|
||||
|
||||
## コミュニティ、ディスカッション、貢献、サポート
|
||||
|
||||
次のチャネルを通じて、EMQコミュニティおよび開発者に連絡できます。
|
||||
|
||||
- [Slack](https://slack-invite.emqx.io/)
|
||||
- [Twitter](https://twitter.com/emqtt)
|
||||
- [Facebook](https://www.facebook.com/emqxmqtt)
|
||||
- [Reddit](https://www.reddit.com/r/emqx/)
|
||||
- [Forum](https://groups.google.com/d/forum/emqtt)
|
||||
- [Blog](https://medium.com/@emqtt)
|
||||
|
||||
バグ、問題、機能のリクエストは、[emqx/emqx](https://github.com/emqx/emqx/issues)に送信してください。
|
||||
|
||||
## MQTT仕様
|
||||
|
||||
次のリンクから、MQTTプロトコルについて学習および確認できます。
|
||||
|
||||
[MQTT Version 3.1.1](https://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html)
|
||||
|
||||
[MQTT Version 5.0](https://docs.oasis-open.org/mqtt/mqtt/v5.0/cs02/mqtt-v5.0-cs02.html)
|
||||
|
||||
[MQTT SN](http://mqtt.org/new/wp-content/uploads/2009/06/MQTT-SN_spec_v1.2.pdf)
|
||||
|
||||
## License
|
||||
|
||||
Apache License 2.0, see [LICENSE](https://github.com/emqx/MQTTX/blob/master/LICENSE).
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
[](https://www.emqx.io/careers)
|
||||
|
||||
English | [简体中文](./README-CN.md)
|
||||
English | [简体中文](./README-CN.md) | [日本語](./README-JP.md)
|
||||
|
||||
*EMQ X* broker is a fully open source, highly scalable, highly available distributed MQTT messaging broker for IoT, M2M and Mobile applications that can handle tens of millions of concurrent clients.
|
||||
|
||||
|
@ -32,7 +32,7 @@ docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p
|
|||
|
||||
Get the binary package of the corresponding OS from [EMQ X Download](https://www.emqx.io/downloads) page.
|
||||
|
||||
- [Single Node Install](https://docs.emqx.io/broker/latest/en/getting-started/installation.html)
|
||||
- [Single Node Install](https://docs.emqx.io/broker/latest/en/getting-started/install.html)
|
||||
- [Multi Node Install](https://docs.emqx.io/broker/latest/en/advanced/cluster.html)
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
ELVIS_VERSION='1.0.0-emqx-1'
|
||||
|
||||
base=${GITHUB_BASE_REF:-$1}
|
||||
elvis_version="${2:-$ELVIS_VERSION}"
|
||||
|
||||
echo "elvis -v: $elvis_version"
|
||||
echo "git diff base: $base"
|
||||
|
||||
if [ ! -f ./elvis ] || [ "$(./elvis -v | grep -oE '[1-9]+\.[0-9]+\.[0-9]+\-emqx-[0-9]+')" != "$elvis_version" ]; then
|
||||
curl -fLO "https://github.com/emqx/elvis/releases/download/$elvis_version/elvis"
|
||||
chmod +x ./elvis
|
||||
fi
|
||||
|
||||
git fetch origin "$base"
|
||||
|
||||
git_diff() {
|
||||
git diff --name-only origin/"$base"...HEAD
|
||||
}
|
||||
|
||||
bad_file_count=0
|
||||
for n in $(git_diff); do
|
||||
if ! ./elvis rock "$n"; then
|
||||
bad_file_count=$(( bad_file_count + 1))
|
||||
fi
|
||||
done
|
||||
if [ $bad_file_count -gt 0 ]; then
|
||||
echo "elvis: $bad_file_count errors"
|
||||
exit 1
|
||||
fi
|
|
@ -0,0 +1,31 @@
|
|||
[
|
||||
{
|
||||
elvis,
|
||||
[
|
||||
{config,
|
||||
[
|
||||
{dirs => ["apps"],
|
||||
filter => "*.erl",
|
||||
ruleset => erl_files,
|
||||
# rules => [
|
||||
# {elvis_style, max_module_length, #{}},
|
||||
# {elvis_style, no_common_caveats_call, #{}}
|
||||
# ]
|
||||
},
|
||||
{dirs => ["."],
|
||||
filter => "Makefile",
|
||||
ruleset => makefiles
|
||||
},
|
||||
{dirs => ["."],
|
||||
filter => "rebar.config",
|
||||
ruleset => rebar_config
|
||||
},
|
||||
{dirs => ["."],
|
||||
filter => "elvis.config",
|
||||
ruleset => elvis_config
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
].
|
|
@ -1324,10 +1324,11 @@ listener.ssl.external.access.1 = allow all
|
|||
## Value: Duration
|
||||
listener.ssl.external.handshake_timeout = 15s
|
||||
|
||||
## Maximum number of non-self-issued intermediate certificates that can follow the peer certificate in a valid certification path.
|
||||
## Maximum number of non-self-issued intermediate certificates that
|
||||
## can follow the peer certificate in a valid certification path.
|
||||
##
|
||||
## Value: Number
|
||||
#listener.ssl.external.depth = 10
|
||||
## listener.ssl.external.depth = 10
|
||||
|
||||
## String containing the user's password. Only used if the private keyfile
|
||||
## is password-protected.
|
||||
|
|
Loading…
Reference in New Issue