Skip to content

Commit

Permalink
🔥Super feat: OpenIM CTL optimization is supported (#926)
Browse files Browse the repository at this point in the history
* feat: add more test code

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add more test code

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add more test code

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: init project

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: init project

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add versionchecker deploy

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: fix go work go version and build scripts

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* fix: fix actions no pass

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add test file

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* fix: fix chat bug

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add more test project

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add more test project

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add more test project

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: sava images file

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add test file

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add more test

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add more test

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add more test

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add more test

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add more test

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: set more help and port set

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* fix: update slack link

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* fix: update slack link

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add more test project

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: update openim-web

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: set more help and port set

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: update openim-web

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: update openim-web

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add docker buildx images is openim-web

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add docker buildx images is openim-web

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add more test

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* fix: scripts fix

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* fix: scripts fix

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* fix: scripts fix

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: set config file path

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: set config file path

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: set config file path

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: docker compose

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* fix: kafka environment port

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* fix: kafka environment port

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* fix: kafka environment port

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* fix: kafka environment port

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* docs: fix docs link error issus:#968

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* docs: add deployment docs

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add more helm chart

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: add more helm chart

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* feat: Optimize the functionality of iam

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* fix: add iam super feat

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* fix: add go format

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

* fix: add go format

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>

---------

Signed-off-by: Xinwei Xiong(cubxxw-openim) <[email protected]>
  • Loading branch information
cubxxw authored Sep 5, 2023
1 parent db9dbd4 commit 87766af
Show file tree
Hide file tree
Showing 147 changed files with 3,863 additions and 2,966 deletions.
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

# Ignore specific files
.dockerignore
.git

# Ignore build artifacts
_output/
Expand Down
276 changes: 261 additions & 15 deletions .env
Original file line number Diff line number Diff line change
@@ -1,19 +1,265 @@
# Copyright © 2023 OpenIM. All rights reserved.
#
# Licensed 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.
# ======================================
# ========= Basic Configuration ========
# ======================================

# The user for authentication or system operations.
# Default: USER=root
USER=root

# Password associated with the specified user for authentication.
# Default: PASSWORD=openIM123
PASSWORD=openIM123
MINIO_ENDPOINT=http://127.0.0.1:10005
API_URL=http://127.0.0.1:10002

# Endpoint for the MinIO object storage service.
# Default: MINIO_ENDPOINT=http://172.28.0.1:10005
MINIO_ENDPOINT=http://172.28.0.1:10005

# Base URL for the application programming interface (API).
# Default: API_URL=http://172.28.0.1:10002
API_URL=http://172.28.0.1:10002

# Directory path for storing data files or related information.
# Default: DATA_DIR=./
DATA_DIR=./

# ======================================
# ========= Network Configuration ======
# ======================================

# Subnet for the Docker network.
# Default: DOCKER_BRIDGE_SUBNET=172.28.0.0/16
DOCKER_BRIDGE_SUBNET=172.28.0.0/16

# Gateway for the Docker network.
# Default: DOCKER_BRIDGE_GATEWAY=172.28.0.1
DOCKER_BRIDGE_GATEWAY=172.28.0.1

# Address or hostname for the MySQL network.
# Default: MYSQL_NETWORK_ADDRESS=172.28.0.2
MYSQL_NETWORK_ADDRESS=172.28.0.2

# Address or hostname for the MongoDB network.
# Default: MONGO_NETWORK_ADDRESS=172.28.0.3
MONGO_NETWORK_ADDRESS=172.28.0.3

# Address or hostname for the Redis network.
# Default: REDIS_NETWORK_ADDRESS=172.28.0.4
REDIS_NETWORK_ADDRESS=172.28.0.4

# Address or hostname for the Kafka network.
# Default: KAFKA_NETWORK_ADDRESS=172.28.0.5
KAFKA_NETWORK_ADDRESS=172.28.0.5

# Address or hostname for the ZooKeeper network.
# Default: ZOOKEEPER_NETWORK_ADDRESS=172.28.0.6
ZOOKEEPER_NETWORK_ADDRESS=172.28.0.6

# Address or hostname for the MinIO network.
# Default: MINIO_NETWORK_ADDRESS=172.28.0.7
MINIO_NETWORK_ADDRESS=172.28.0.7

# Address or hostname for the OpenIM web network.
# Default: OPENIM_WEB_NETWORK_ADDRESS=172.28.0.8
OPENIM_WEB_NETWORK_ADDRESS=172.28.0.8

# Address or hostname for the OpenIM server network.
# Default: OPENIM_SERVER_NETWORK_ADDRESS=172.28.0.9
OPENIM_SERVER_NETWORK_ADDRESS=172.28.0.9

# Address or hostname for the OpenIM chat network.
# Default: OPENIM_CHAT_NETWORK_ADDRESS=172.28.0.10
OPENIM_CHAT_NETWORK_ADDRESS=172.28.0.10

# Address or hostname for the Prometheus network.
# Default: PROMETHEUS_NETWORK_ADDRESS=172.28.0.11
PROMETHEUS_NETWORK_ADDRESS=172.28.0.11

# Address or hostname for the Grafana network.
# Default: GRAFANA_NETWORK_ADDRESS=172.28.0.12
GRAFANA_NETWORK_ADDRESS=172.28.0.12


# ===============================================
# = Component Extension Configuration =
# ===============================================

# ============ Component Extension Configuration ==========
# ----- ZooKeeper Configuration -----
# Address or hostname for the ZooKeeper service.
# Default: ZOOKEEPER_ADDRESS=172.28.0.1
ZOOKEEPER_ADDRESS=172.28.0.6

# Port for ZooKeeper service.
# Default: ZOOKEEPER_PORT=12181
ZOOKEEPER_PORT=12181

# ----- MySQL Configuration -----

# Address or hostname for the MySQL service.
# Default: MYSQL_ADDRESS=172.28.0.1
MYSQL_ADDRESS=172.28.0.2

# Port on which MySQL database service is running.
# Default: MYSQL_PORT=13306
MYSQL_PORT=13306

# Password to authenticate with the MySQL database service.
# Default: MYSQL_PASSWORD=openIM123
MYSQL_PASSWORD=openIM123

# ----- MongoDB Configuration -----
# Address or hostname for the MongoDB service.
# Default: MONGO_ADDRESS=172.28.0.1
MONGO_ADDRESS=172.28.0.3

# Port on which MongoDB service is running.
# Default: MONGO_PORT=37017
MONGO_PORT=37017

# Username to authenticate with the MongoDB service.
# Default: MONGO_USERNAME=root
MONGO_USERNAME=root

# Password to authenticate with the MongoDB service.
# Default: MONGO_PASSWORD=openIM123
MONGO_PASSWORD=openIM123

# Name of the database in MongoDB to be used.
# Default: MONGO_DATABASE=openIM_v3
MONGO_DATABASE=openIM_v3

# ----- Redis Configuration -----
# Address or hostname for the Redis service.
# Default: REDIS_ADDRESS=172.28.0.1
REDIS_ADDRESS=172.28.0.4

# Port on which Redis in-memory data structure store is running.
# Default: REDIS_PORT=16379
REDIS_PORT=16379

# Password to authenticate with the Redis service.
# Default: REDIS_PASSWORD=openIM123
REDIS_PASSWORD=openIM123

# ----- Kafka Configuration -----
# Address or hostname for the Kafka service.
# Default: KAFKA_ADDRESS=172.28.0.1
KAFKA_ADDRESS=172.28.0.5

# Port on which Kafka distributed streaming platform is running.
# Default: KAFKA_PORT=19092
KAFKA_PORT=19094

# Topic in Kafka for storing the latest messages in Redis.
# Default: KAFKA_LATESTMSG_REDIS_TOPIC=latestMsgToRedis
KAFKA_LATESTMSG_REDIS_TOPIC=latestMsgToRedis

# Topic in Kafka for pushing messages (e.g. notifications or updates).
# Default: KAFKA_MSG_PUSH_TOPIC=msgToPush
KAFKA_MSG_PUSH_TOPIC=msgToPush

# Topic in Kafka for storing offline messages in MongoDB.
# Default: KAFKA_OFFLINEMSG_MONGO_TOPIC=offlineMsgToMongoMysql
KAFKA_OFFLINEMSG_MONGO_TOPIC=offlineMsgToMongoMysql

# ----- MinIO Configuration ----
# Address or hostname for the MinIO object storage service.
# Default: MINIO_ADDRESS=172.28.0.1
MINIO_ADDRESS=172.28.0.7

# Port on which MinIO object storage service is running.
# Default: MINIO_PORT=10005
MINIO_PORT=10005

# Access key to authenticate with the MinIO service.
# Default: MINIO_ACCESS_KEY=root
MINIO_ACCESS_KEY=root

# Secret key corresponding to the access key for MinIO authentication.
# Default: MINIO_SECRET_KEY=openIM123
MINIO_SECRET_KEY=openIM123

# ----- Prometheus Configuration -----
# Address or hostname for the Prometheus service.
# Default: PROMETHEUS_ADDRESS=172.28.0.1
PROMETHEUS_ADDRESS=172.28.0.11

# Port on which Prometheus service is running.
# Default: PROMETHEUS_PORT=19090
PROMETHEUS_PORT=19090

# ----- Grafana Configuration -----
# Address or hostname for the Grafana service.
# Default: GRAFANA_ADDRESS=172.28.0.1
GRAFANA_ADDRESS=172.28.0.12

# Port on which Grafana service is running.
# Default: GRAFANA_PORT=3000
GRAFANA_PORT=3000

# ======================================
# ============ OpenIM Web ===============
# ======================================

# Path to the OpenIM web distribution.
# Default: OPENIM_WEB_DIST_PATH=/app/dist
OPENIM_WEB_DIST_PATH=/app/dist

# Port on which OpenIM web service is running.
# Default: OPENIM_WEB_PORT=11001
OPENIM_WEB_PORT=11001

# Address or hostname for the OpenIM web service.
# Default: OPENIM_WEB_ADDRESS=172.28.0.1
OPENIM_WEB_ADDRESS=172.28.0.8


# ======================================
# ========= OpenIM Server ==============
# ======================================

# Address or hostname for the OpenIM server.
# Default: OPENIM_SERVER_ADDRESS=172.28.0.1
OPENIM_SERVER_ADDRESS=172.28.0.9

# Port for the OpenIM WebSockets.
# Default: OPENIM_WS_PORT=10001
OPENIM_WS_PORT=10001

# Port for the OpenIM API.
# Default: API_OPENIM_PORT=10002
API_OPENIM_PORT=10002


# ======================================
# ========== OpenIM Chat ===============
# ======================================

# Branch name for OpenIM chat.
# Default: CHAT_BRANCH=main
CHAT_BRANCH=main

# Address or hostname for the OpenIM chat service.
# Default: OPENIM_CHAT_ADDRESS=172.28.0.1
OPENIM_CHAT_ADDRESS=172.28.0.10

# Port for the OpenIM chat API.
# Default: OPENIM_CHAT_API_PORT=10008
OPENIM_CHAT_API_PORT=10008

# Directory path for storing data files or related information for OpenIM chat.
# Default: OPENIM_CHAT_DATA_DIR=./openim-chat/main
OPENIM_CHAT_DATA_DIR=./openim-chat/main


# ======================================
# ========== OpenIM Admin ==============
# ======================================

# Branch name for OpenIM server.
# Default: SERVER_BRANCH=main
SERVER_BRANCH=main

# Port for the OpenIM admin API.
# Default: OPENIM_ADMIN_API_PORT=10009
OPENIM_ADMIN_API_PORT=10009
18 changes: 16 additions & 2 deletions .github/sync-release.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
# Copyright © 2023 OpenIM. All rights reserved.
#
# Licensed 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.

OpenIMSDK/openim-docker:
- source: ./config
dest: ./openim-server/release/config
Expand All @@ -10,7 +24,7 @@ OpenIMSDK/openim-docker:
replace: true
- source: ./scripts
dest: ./scripts
replace: true
replace: false
- source: ./Makefile
dest: ./Makefile
replace: true
replace: false
4 changes: 2 additions & 2 deletions .github/workflows/auto-invite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,11 @@ jobs:
body: |
We value close connections with our users, developers, and contributors here at Open-IM-Server. With a large community and maintainer team, we're always here to help and support you. Whether you're looking to join our community or have any questions or suggestions, we welcome you to get in touch with us.
Our most recommended way to get in touch is through [Slack](https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg). Even if you're in China, Slack is usually not blocked by firewalls, making it an easy way to connect with us. Our Slack community is the ideal place to discuss and share ideas and suggestions with other users and developers of Open-IM-Server. You can ask technical questions, seek help, or share your experiences with other users of Open-IM-Server.
Our most recommended way to get in touch is through [Slack](https://join.slack.com/t/openimsdk/shared_invite/zt-22720d66b-o_FvKxMTGXtcnnnHiMqe9Q). Even if you're in China, Slack is usually not blocked by firewalls, making it an easy way to connect with us. Our Slack community is the ideal place to discuss and share ideas and suggestions with other users and developers of Open-IM-Server. You can ask technical questions, seek help, or share your experiences with other users of Open-IM-Server.
In addition to Slack, we also offer the following ways to get in touch:
+ <a href="https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg" target="_blank"><img src="https://img.shields.io/badge/Slack-OpenIM%2B-blueviolet?logo=slack&amp;logoColor=white"></a> We also have Slack channels for you to communicate and discuss. To join, visit https://slack.com/ and join our [👀 Open-IM-Server slack](https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg) team channel.
+ <a href="https://join.slack.com/t/openimsdk/shared_invite/zt-22720d66b-o_FvKxMTGXtcnnnHiMqe9Q" target="_blank"><img src="https://img.shields.io/badge/Slack-OpenIM%2B-blueviolet?logo=slack&amp;logoColor=white"></a> We also have Slack channels for you to communicate and discuss. To join, visit https://slack.com/ and join our [👀 Open-IM-Server slack](https://join.slack.com/t/openimsdk/shared_invite/zt-22720d66b-o_FvKxMTGXtcnnnHiMqe9Q) team channel.
+ <a href="https://mail.google.com/mail/u/0/?fs=1&tf=cm&[email protected]" target="_blank"><img src="https://img.shields.io/badge/gmail-%40OOpenIMSDKCore?style=social&logo=gmail"></a> Get in touch with us on [Gmail](https://mail.google.com/mail/u/0/?fs=1&tf=cm&[email protected]). If you have any questions or issues that need resolving, or any suggestions and feedback for our open source projects, please feel free to contact us via email.
+ <a href="https://doc.rentsoft.cn/" target="_blank"><img src="https://img.shields.io/badge/%E5%8D%9A%E5%AE%A2-%40OpenIMSDKCore-blue?style=social&logo=Octopus%20Deploy"></a> Read our [blog](https://doc.rentsoft.cn/). Our blog is a great place to stay up-to-date with Open-IM-Server projects and trends. On the blog, we share our latest developments, tech trends, and other interesting information.
+ <a href="https://github.com/OpenIMSDK/OpenIM-Docs/blob/main/docs/images/WechatIMG20.jpeg" target="_blank"><img src="https://img.shields.io/badge/%E5%BE%AE%E4%BF%A1-OpenIMSDKCore-brightgreen?logo=wechat&style=flat-square"></a> Add [Wechat](https://github.com/OpenIMSDK/OpenIM-Docs/blob/main/docs/images/WechatIMG20.jpeg) and indicate that you are a user or developer of Open-IM-Server. We will process your request as soon as possible.
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,5 @@ jobs:
echo "OWNER: $OWNER"
echo "REPO: $REPO"
git clone -b develop https://github.com/${OWNER}/${REPO}.git; cd ${REPO}
docker compose up -d
docker compose up -d
continue-on-error: true
Loading

0 comments on commit 87766af

Please sign in to comment.