Compare commits

...

5 Commits

Author SHA1 Message Date
Xinwei Xiong(cubxxw-openim) ed23dc8a4b feat: add more test
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-08-29 18:03:37 +08:00
Xinwei Xiong(cubxxw-openim) 5d4fd6110d feat: add more test
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-08-29 18:03:29 +08:00
Xinwei Xiong(cubxxw-openim) bac711e29f feat: add more test
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-08-29 17:50:06 +08:00
Xinwei Xiong(cubxxw-openim) 2849b85f89 feat: add test file
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-08-29 16:38:44 +08:00
Xinwei Xiong(cubxxw-openim) c9da2b0744 feat: sava images file
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-08-29 12:43:41 +08:00
35 changed files with 254 additions and 63 deletions
+2 -2
View File
@@ -15,5 +15,5 @@
USER=root USER=root
PASSWORD=openIM123 PASSWORD=openIM123
MINIO_ENDPOINT=http://127.0.0.1:10005 MINIO_ENDPOINT=http://127.0.0.1:10005
API_URL=http://14.153.17.42:10002 API_URL=http://127.0.0.1:10002
DATA_DIR=/root/workspaces/openim/openim-server DATA_DIR=./
+14
View File
@@ -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: OpenIMSDK/openim-docker:
- source: ./config - source: ./config
dest: ./openim-server/release/config dest: ./openim-server/release/config
+2 -2
View File
@@ -10,8 +10,8 @@ ENV GOPROXY=$GOPROXY
# Set up the working directory # Set up the working directory
WORKDIR /openim/openim-server WORKDIR /openim/openim-server
COPY go.mod go.sum go.work ./ COPY go.mod go.sum ./
#RUN go mod download RUN go mod download
# Copy all files to the container # Copy all files to the container
ADD . . ADD . .
+10 -5
View File
@@ -58,6 +58,16 @@ export USAGE_OPTIONS
init: init:
@$(MAKE) gen.init @$(MAKE) gen.init
## init-githooks: Initialize git hooks ✨
.PHONY: init-githooks
init-githooks:
@$(MAKE) gen.init-githooks
## gen: Generate all necessary files. ✨
.PHONY: gen
gen:
@$(MAKE) gen.run
## demo: Run demo get started with Makefiles quickly ✨ ## demo: Run demo get started with Makefiles quickly ✨
.PHONY: demo .PHONY: demo
demo: demo:
@@ -190,11 +200,6 @@ push.multiarch:
tools: tools:
@$(MAKE) tools.install @$(MAKE) tools.install
## gen: Generate all necessary files. ✨
.PHONY: gen
gen:
@$(MAKE) gen.run
## swagger: Generate swagger document. ✨ ## swagger: Generate swagger document. ✨
.PHONY: swagger .PHONY: swagger
swagger: swagger:
+4
View File
@@ -46,4 +46,8 @@ ENV PORT 10002
EXPOSE ${PORT} EXPOSE ${PORT}
RUN cp ${OPENIM_SERVER_BINDIR}/platforms/$(get_os)/$(get_arch)/openim-api /usr/bin/openim-api
ENTRYPOINT ["/usr/bin/openim-api","-c" ${SERVER_WORKDIR}/config"]
CMD ["bash", "-c","${OPENIM_SERVER_BINDIR}/platforms/$(get_os)/$(get_arch)/openim-api --port ${PORT} -c ${SERVER_WORKDIR}/config"] CMD ["bash", "-c","${OPENIM_SERVER_BINDIR}/platforms/$(get_os)/$(get_arch)/openim-api --port ${PORT} -c ${SERVER_WORKDIR}/config"]
@@ -0,0 +1,8 @@
FROM ghcr.io/openim-sigs/openim-bash-image:latest
COPY openim-api /usr/bin/
# nosemgrep: dockerfile.security.missing-user.missing-user
ENTRYPOINT ["/usr/bin/openim-api"]
# nosemgrep: dockerfile.security.missing-user.missing-user
CMD ["--help"]
+19 -20
View File
@@ -29,8 +29,8 @@
zookeeper: zookeeper:
schema: openim schema: openim
address: [ 127.0.0.1:2181 ] address: [ 127.0.0.1:2181 ]
username: '' username:
password: '' password:
###################### Mysql ###################### ###################### Mysql ######################
# MySQL configuration # MySQL configuration
@@ -60,7 +60,7 @@ mysql:
# Default MongoDB database name # Default MongoDB database name
# Maximum connection pool size # Maximum connection pool size
mongo: mongo:
uri: '' uri:
address: [ 127.0.0.1:37017 ] address: [ 127.0.0.1:37017 ]
database: openIM_v3 database: openIM_v3
username: root username: root
@@ -73,7 +73,7 @@ mongo:
# Username is required only for Redis version 6.0+ # Username is required only for Redis version 6.0+
redis: redis:
address: [ 127.0.0.1:16379 ] address: [ 127.0.0.1:16379 ]
username: '' username:
password: openIM123 password: openIM123
###################### Kafka configuration information ###################### ###################### Kafka configuration information ######################
@@ -84,8 +84,8 @@ redis:
# It's not recommended to modify this topic name # It's not recommended to modify this topic name
# Consumer group ID, it's not recommended to modify # Consumer group ID, it's not recommended to modify
kafka: kafka:
username: '' username:
password: '' password:
addr: [ 127.0.0.1:9092 ] addr: [ 127.0.0.1:9092 ]
latestMsgToRedis: latestMsgToRedis:
topic: "latestMsgToRedis" topic: "latestMsgToRedis"
@@ -105,7 +105,7 @@ kafka:
# IP address to register with zookeeper when starting RPC, the IP and corresponding rpcPort should be accessible by api/gateway # IP address to register with zookeeper when starting RPC, the IP and corresponding rpcPort should be accessible by api/gateway
# Default listen IP is 0.0.0.0 # Default listen IP is 0.0.0.0
rpc: rpc:
registerIP: '' registerIP:
listenIP: 0.0.0.0 listenIP: 0.0.0.0
###################### API configuration information ###################### ###################### API configuration information ######################
@@ -132,27 +132,26 @@ api:
# minio.signEndpoint is minio public network address # minio.signEndpoint is minio public network address
object: object:
enable: "minio" enable: "minio"
apiURL: "http://14.153.17.42:10002" apiURL: "http://127.0.0.1:10002"
minio: minio:
bucket: "openim" bucket: "openim"
endpoint: "http://127.0.0.1:10005" endpoint: "http://127.0.0.1:10005"
accessKeyID: "root" accessKeyID: "root"
secretAccessKey: "openIM123" secretAccessKey: "openIM123"
sessionToken: '' sessionToken: ""
signEndpoint: "http://14.153.17.42:10005" signEndpoint: "http://127.0.0.1:10005"
cos: cos:
bucketURL: https://temp-1252357374.cos.ap-chengdu.myqcloud.com bucketURL: "https://temp-1252357374.cos.ap-chengdu.myqcloud.com"
secretID: '' secretID: ""
secretKey: '' secretKey: ""
sessionToken: '' sessionToken: ""
oss: oss:
endpoint: "https://oss-cn-chengdu.aliyuncs.com" endpoint: "https://oss-cn-chengdu.aliyuncs.com"
bucket: "demo-9999999" bucket: "demo-9999999"
bucketURL: "https://demo-9999999.oss-cn-chengdu.aliyuncs.com" bucketURL: "https://demo-9999999.oss-cn-chengdu.aliyuncs.com"
accessKeyID: '' accessKeyID: ""
accessKeySecret: '' accessKeySecret: ""
sessionToken: '' sessionToken: ""
###################### RPC Port Configuration ###################### ###################### RPC Port Configuration ######################
# RPC service ports # RPC service ports
@@ -194,11 +193,11 @@ rpcRegisterName:
# Whether to output in json format # Whether to output in json format
# Whether to include stack trace in logs # Whether to include stack trace in logs
log: log:
storageLocation: /root/workspaces/openim/openim-server/logs/ storageLocation: ../../../../../logs/
rotationTime: 24 rotationTime: 24
remainRotationCount: 2 remainRotationCount: 2
remainLogLevel: 6 remainLogLevel: 6
isStdout: false isStdout: false
isJson: false isJson: false
withStack: false withStack: false
+4 -1
View File
@@ -103,8 +103,11 @@ services:
# image: registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-server:main # image: registry.cn-hangzhou.aliyuncs.com/openimsdk/openim-server:main
# image: openim/openim-server:main # image: openim/openim-server:main
container_name: openim-server container_name: openim-server
ports:
- 10001:10001
- 10002:10002
healthcheck: healthcheck:
test: ["CMD-SHELL", "./scripts/check-all.sh"] test: ["CMD", "./scripts/check-all.sh"]
interval: 30s interval: 30s
timeout: 10s timeout: 10s
retries: 5 retries: 5
+1 -1
View File
@@ -1,4 +1,4 @@
go 1.20.0 go 1.18
use ( use (
. .
+14
View File
@@ -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.
package kafka package kafka
import ( import (
+14
View File
@@ -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.
package tls package tls
import ( import (
+1 -1
View File
@@ -20,7 +20,7 @@
# package, the build will produce executable files under $(OUT_DIR)/bin/platforms OR $(OUT_DIR)/bin—tools/platforms. # package, the build will produce executable files under $(OUT_DIR)/bin/platforms OR $(OUT_DIR)/bin—tools/platforms.
# If not specified, "everything" will be built. # If not specified, "everything" will be built.
# Usage: `scripts/build-all-service.sh`. # Usage: `scripts/build-all-service.sh`.
# Example: `hack/build-go.sh WHAT=cmd/kubelet`. # Example: `scripts/build-go.sh WHAT=cmd/kubelet`.
set -o errexit set -o errexit
set -o nounset set -o nounset
+5 -3
View File
@@ -28,6 +28,8 @@ source "${OPENIM_ROOT}/scripts/install/common.sh"
OPENIM_VERBOSE=4 OPENIM_VERBOSE=4
openim::log::info "\n# Begin to check all openim service"
# OpenIM status # OpenIM status
# Elegant printing function # Elegant printing function
print_services_and_ports() { print_services_and_ports() {
@@ -55,7 +57,7 @@ print_services_and_ports OPENIM_DEPENDENCY_TARGETS OPENIM_DEPENDENCY_PORT_TARGET
# OpenIM check # OpenIM check
echo "++ The port being checked: ${OPENIM_SERVER_PORT_LISTARIES[@]}" echo "++ The port being checked: ${OPENIM_SERVER_PORT_LISTARIES[@]}"
echo "## Check all dependent service ports" openim::log::info "\n## Check all dependent service ports"
echo "+++ The port being checked: ${OPENIM_DEPENDENCY_PORT_LISTARIES[@]}" echo "+++ The port being checked: ${OPENIM_DEPENDENCY_PORT_LISTARIES[@]}"
set +e set +e
@@ -69,10 +71,10 @@ else
fi fi
set -e set -e
echo -e "\n## Check OpenIM service name" openim::log::info "\n## Check OpenIM service name"
. $(dirname ${BASH_SOURCE})/install/openim-msgtransfer.sh openim::msgtransfer::check . $(dirname ${BASH_SOURCE})/install/openim-msgtransfer.sh openim::msgtransfer::check
echo -e "\n## Check all OpenIM service ports" openim::log::info "\n## Check all OpenIM service ports"
echo "+++ The port being checked: ${OPENIM_SERVER_PORT_LISTARIES[@]}" echo "+++ The port being checked: ${OPENIM_SERVER_PORT_LISTARIES[@]}"
openim::util::check_ports ${OPENIM_SERVER_PORT_LISTARIES[@]} openim::util::check_ports ${OPENIM_SERVER_PORT_LISTARIES[@]}
if [[ $? -ne 0 ]]; then if [[ $? -ne 0 ]]; then
+5
View File
@@ -24,9 +24,14 @@ set -o pipefail
OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${OPENIM_ROOT}/scripts/install/common.sh" source "${OPENIM_ROOT}/scripts/install/common.sh"
openim::log::info "\n# Use Docker to start all openim service"
trap 'openim::util::onCtrlC' INT trap 'openim::util::onCtrlC' INT
"${OPENIM_ROOT}"/scripts/start-all.sh "${OPENIM_ROOT}"/scripts/start-all.sh
sleep 5
"${OPENIM_ROOT}"/scripts/check-all.sh "${OPENIM_ROOT}"/scripts/check-all.sh
tail -f ${LOG_FILE} tail -f ${LOG_FILE}
+2
View File
@@ -22,6 +22,8 @@ set -o pipefail
OPENIM_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")"/.. && pwd -P) OPENIM_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")"/.. && pwd -P)
source "${OPENIM_ROOT}/scripts/install/common.sh" source "${OPENIM_ROOT}/scripts/install/common.sh"
openim::log::info "\n# Begin Install OpenIM Config"
for file in "${OPENIM_SERVER_TARGETS[@]}"; do for file in "${OPENIM_SERVER_TARGETS[@]}"; do
VARNAME="$(echo $file | tr '[:lower:]' '[:upper:]' | tr '.' '_' | tr '-' '_')" VARNAME="$(echo $file | tr '[:lower:]' '[:upper:]' | tr '.' '_' | tr '-' '_')"
VARVALUE="$OPENIM_OUTPUT_HOSTBIN/$file" VARVALUE="$OPENIM_OUTPUT_HOSTBIN/$file"
+89
View File
@@ -0,0 +1,89 @@
#!/usr/bin/env bash
# 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.
#
# -----------------------------------------------------------------------------
# init-githooks.sh
#
# This script assists in managing Git hooks for the OpenIM project.
# When executed:
# 1. It prompts the user to enable git hooks.
# 2. If the user accepts, it copies predefined hook scripts to the appropriate
# Git directory, making them executable.
# 3. If requested, it can delete the added hooks.
#
# This script equal runs `make init-githooks` command.
# Usage:
# ./init-githooks.sh Prompt to enable git hooks.
# ./init-githooks.sh --delete Delete previously added git hooks.
# ./init-githooks.sh --help Show the help message.
#
# Example: `scripts/build-go.sh --help`.
# Documentation & related context can be found at:
# https://gist.github.com/cubxxw/126b72104ac0b0ca484c9db09c3e5694
#
# -----------------------------------------------------------------------------
OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
HOOKS_DIR=".git/hooks"
help_info() {
echo "Usage: $0 [options]"
echo
echo "This script helps to manage git hooks."
echo
echo "Options:"
echo " -h, --help Show this help message and exit."
echo " -d, --delete Delete the hooks that have been added."
echo " By default, it will prompt to enable git hooks."
}
delete_hooks() {
for file in scripts/githooks/*.sh; do
hook_name=$(basename "$file" .sh)
rm -f "$HOOKS_DIR/$hook_name"
done
echo "Git hooks have been deleted."
}
enable_hooks() {
echo "Would you like to enable git hooks mode? [y/n]"
read -r choice
if [[ $choice == "y" || $choice == "Y" ]]; then
for file in scripts/githooks/*.sh; do
cp -f "$file" "$HOOKS_DIR/$(basename "$file" .sh)"
done
chmod +x $HOOKS_DIR/*
echo "Git hooks mode has been enabled."
echo "With git hooks enabled, every time you perform a git action (e.g. git commit), the corresponding hooks script will be triggered automatically."
echo "This means that if the size of the file you're committing exceeds the set limit (e.g. 42MB), the commit will be rejected."
else
echo "Git hooks mode remains disabled."
fi
}
case "$1" in
-h|--help)
help_info
;;
-d|--delete)
delete_hooks
;;
*)
enable_hooks
;;
esac
+2 -1
View File
@@ -135,10 +135,11 @@ function openim::rpc::start() {
for ((j = 0; j < ${#OPENIM_RPC_SERVICE_PORTS_ARRAY[@]}; j++)); do for ((j = 0; j < ${#OPENIM_RPC_SERVICE_PORTS_ARRAY[@]}; j++)); do
openim::log::info "Starting ${OPENIM_RPC_SERVICE_LISTARIES[$i]} service, port: ${OPENIM_RPC_SERVICE_PORTS[j]}, prometheus port: ${OPENIM_RPC_PROM_PORTS[j]}, binary root: ${OPENIM_OUTPUT_HOSTBIN}/${OPENIM_RPC_SERVICE_LISTARIES[$i]}" openim::log::info "Starting ${OPENIM_RPC_SERVICE_LISTARIES[$i]} service, port: ${OPENIM_RPC_SERVICE_PORTS[j]}, prometheus port: ${OPENIM_RPC_PROM_PORTS[j]}, binary root: ${OPENIM_OUTPUT_HOSTBIN}/${OPENIM_RPC_SERVICE_LISTARIES[$i]}"
openim::rpc::start_service "${OPENIM_RPC_SERVICE_LISTARIES[$i]}" "${OPENIM_RPC_SERVICE_PORTS[j]}" "${OPENIM_RPC_PROM_PORTS[j]}" openim::rpc::start_service "${OPENIM_RPC_SERVICE_LISTARIES[$i]}" "${OPENIM_RPC_SERVICE_PORTS[j]}" "${OPENIM_RPC_PROM_PORTS[j]}"
sleep 0.5
done done
done done
sleep 0.5
openim::util::check_ports ${OPENIM_RPC_PORT_TARGETS[@]} openim::util::check_ports ${OPENIM_RPC_PORT_TARGETS[@]}
# openim::util::check_ports ${OPENIM_RPC_PROM_PORT_TARGETS[@]} # openim::util::check_ports ${OPENIM_RPC_PROM_PORT_TARGETS[@]}
+1
View File
@@ -71,6 +71,7 @@ readonly OPENIM_TOOLS_PRE_START_NAME_LISTARIES=("${OPENIM_TOOLS_PRE_START_NAME_T
openim::tools::post_start_name() { openim::tools::post_start_name() {
local targets=( local targets=(
infra infra
versionchecker
) )
echo "${targets[@]}" echo "${targets[@]}"
} }
+20 -14
View File
@@ -267,25 +267,29 @@ openim::util::check_ports() {
openim::log::info "Checking ports: $*" openim::log::info "Checking ports: $*"
# Iterate over each given port. # Iterate over each given port.
for port in "$@"; do for port in "$@"; do
# Use the `lsof` command to find process information related to the given port. # Use the `ss` command to find process information related to the given port.
local info=$(lsof -i :$port -n -P | grep LISTEN || true) local info=$(ss -ltnp | grep -w ":$port" || true)
# If there's no process information, it means the process associated with the port is not running. # If there's no process information, it means the process associated with the port is not running.
if [[ -z $info ]]; then if [[ -z $info ]]; then
not_started+=($port) not_started+=($port)
else else
# If there's process information, extract relevant details: # Extract relevant details: Process Name, PID, and FD.
# Process ID, Command Name, and Start Time. local details=$(echo $info | sed -n 's/.*users:(("\([^"]*\)",pid=\([^,]*\),fd=\([^)]*\))).*/\1 \2 \3/p')
local pid=$(echo $info | awk '{print $2}') local command=$(echo $details | awk '{print $1}')
local command=$(echo $info | awk '{print $1}') local pid=$(echo $details | awk '{print $2}')
local start_time=$(ps -o lstart= -p $pid) local fd=$(echo $details | awk '{print $3}')
started+=("Port $port - Command: $command, PID: $pid, Start time: $start_time")
# Get the start time of the process using the PID
local start_time=$(ps -p $pid -o lstart=)
started+=("Port $port - Command: $command, PID: $pid, FD: $fd, Started: $start_time")
fi fi
done done
echo
# Print information about ports whose processes are not running. # Print information about ports whose processes are not running.
if [[ ${#not_started[@]} -ne 0 ]]; then if [[ ${#not_started[@]} -ne 0 ]]; then
openim::log::info "### Not started ports:" openim::log::info "\n### Not started ports:"
for port in "${not_started[@]}"; do for port in "${not_started[@]}"; do
openim::log::error "Port $port is not started." openim::log::error "Port $port is not started."
done done
@@ -293,8 +297,7 @@ openim::util::check_ports() {
# Print information about ports whose processes are running. # Print information about ports whose processes are running.
if [[ ${#started[@]} -ne 0 ]]; then if [[ ${#started[@]} -ne 0 ]]; then
echo openim::log::info "\n### Started ports:"
openim::log::info "### Started ports:"
for info in "${started[@]}"; do for info in "${started[@]}"; do
openim::log::info "$info" openim::log::info "$info"
done done
@@ -305,11 +308,14 @@ openim::util::check_ports() {
echo "++++ OpenIM Log >> cat ${LOG_FILE}" echo "++++ OpenIM Log >> cat ${LOG_FILE}"
return 1 return 1
else else
openim::log::success "started[@] processes are running." openim::log::success "All specified processes are running."
return 0 return 0
fi fi
} }
# openim::util::check_ports 10002 1004 # set +o errexit
# Sample call for testing:
# openim::util::check_ports 10002 1004 12345 13306
# set -o errexit
# The `openim::util::check_process_names` function analyzes the state of processes based on given names. # The `openim::util::check_process_names` function analyzes the state of processes based on given names.
# It accepts multiple process names as arguments and prints: # It accepts multiple process names as arguments and prints:
-4
View File
@@ -140,10 +140,6 @@ ifndef V
MAKEFLAGS += --no-print-directory MAKEFLAGS += --no-print-directory
endif endif
# Copy githook scripts when execute makefile
# TODO! GIT_FILE_SIZE_LIMIT=42000000 git commit -m "This commit is allowed file sizes up to 42MB"
COPY_GITHOOK:=$(shell cp -f scripts/githooks/* .git/hooks/; chmod +x .git/hooks/*)
# COMMA: Concatenate multiple strings to form a list of strings # COMMA: Concatenate multiple strings to form a list of strings
COMMA := , COMMA := ,
# SPACE: Used to separate strings # SPACE: Used to separate strings
+6
View File
@@ -28,6 +28,12 @@ gen.init:
@echo "===========> Initializing openim server project" @echo "===========> Initializing openim server project"
@${ROOT_DIR}/scripts/init-config.sh @${ROOT_DIR}/scripts/init-config.sh
## gen.init-githooks: Initialize git hooks ✨
.PHONY: gen.init-githooks
gen.init-githooks:
@echo "===========> Initializing git hooks"
@${ROOT_DIR}/scripts/init-githooks.sh
## gen.run: Generate necessary files and docs ✨ ## gen.run: Generate necessary files and docs ✨
.PHONY: gen.run .PHONY: gen.run
#gen.run: gen.errcode gen.docgo #gen.run: gen.errcode gen.docgo
+7 -1
View File
@@ -22,6 +22,8 @@ set -o pipefail
OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${OPENIM_ROOT}/scripts/install/common.sh" source "${OPENIM_ROOT}/scripts/install/common.sh"
openim::log::info "\n# Begin to start all openim service scripts"
set +o errexit set +o errexit
openim::golang::check_openim_binaries openim::golang::check_openim_binaries
if [[ $? -ne 0 ]]; then if [[ $? -ne 0 ]]; then
@@ -62,16 +64,20 @@ function execute_scripts() {
openim::log::errexit "Script ${script_path##*/} is missing or not executable." openim::log::errexit "Script ${script_path##*/} is missing or not executable."
fi fi
done done
sleep 0.5
} }
sleep 0.5
# TODO Prelaunch tools, simple for now, can abstract functions later # TODO Prelaunch tools, simple for now, can abstract functions later
TOOLS_START_SCRIPTS_PATH=${START_SCRIPTS_PATH}/openim-tools.sh TOOLS_START_SCRIPTS_PATH=${START_SCRIPTS_PATH}/openim-tools.sh
openim::log::info "\n## Pre Starting OpenIM services"
${TOOLS_START_SCRIPTS_PATH} openim::tools::pre-start ${TOOLS_START_SCRIPTS_PATH} openim::tools::pre-start
openim::log::info "\n## Starting OpenIM services"
execute_scripts execute_scripts
openim::log::info "\n## Post Starting OpenIM services"
${TOOLS_START_SCRIPTS_PATH} openim::tools::post-start ${TOOLS_START_SCRIPTS_PATH} openim::tools::post-start
openim::log::success "✨ All OpenIM services have been successfully started!" openim::log::success "✨ All OpenIM services have been successfully started!"
+2
View File
@@ -26,6 +26,8 @@ OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${OPENIM_ROOT}/scripts/install/common.sh" source "${OPENIM_ROOT}/scripts/install/common.sh"
openim::log::info "\n# Begin to stop all openim service"
echo "++ Ready to stop port: ${OPENIM_SERVER_PORT_LISTARIES[@]}" echo "++ Ready to stop port: ${OPENIM_SERVER_PORT_LISTARIES[@]}"
openim::util::stop_services_on_ports ${OPENIM_SERVER_PORT_LISTARIES[@]} openim::util::stop_services_on_ports ${OPENIM_SERVER_PORT_LISTARIES[@]}
+1 -1
View File
@@ -1,6 +1,6 @@
module github.com/OpenIMSDK/Open-IM-Server/test/typecheck module github.com/OpenIMSDK/Open-IM-Server/test/typecheck
go 1.20 go 1.18
require golang.org/x/tools v0.12.0 require golang.org/x/tools v0.12.0
+1 -1
View File
@@ -1,3 +1,3 @@
module github.com/OpenIMSDK/Open-IM-Server/tools/changelog module github.com/OpenIMSDK/Open-IM-Server/tools/changelog
go 1.20 go 1.18
+1 -1
View File
@@ -1,3 +1,3 @@
module github.com/OpenIMSDK/Open-IM-Server/tools/component module github.com/OpenIMSDK/Open-IM-Server/tools/component
go 1.19 go 1.18
+1 -1
View File
@@ -1,6 +1,6 @@
module github.com/OpenIMSDK/Open-IM-Server/tools/imctl module github.com/OpenIMSDK/Open-IM-Server/tools/imctl
go 1.20 go 1.18
require ( require (
github.com/MakeNowJust/heredoc/v2 v2.0.1 github.com/MakeNowJust/heredoc/v2 v2.0.1
+1 -1
View File
@@ -1,3 +1,3 @@
module github.com/OpenIMSDK/Open-IM-Server/tools/infra module github.com/OpenIMSDK/Open-IM-Server/tools/infra
go 1.20 go 1.18
+1 -1
View File
@@ -1,5 +1,5 @@
module github.com/OpenIMSDK/Open-IM-Server/tools/ncpu module github.com/OpenIMSDK/Open-IM-Server/tools/ncpu
go 1.20 go 1.18
require go.uber.org/automaxprocs v1.5.3 require go.uber.org/automaxprocs v1.5.3
+1 -1
View File
@@ -1,3 +1,3 @@
module github.com/OpenIMSDK/Open-IM-Server/tools/versionchecker module github.com/OpenIMSDK/Open-IM-Server/tools/versionchecker
go 1.20.0 go 1.18
+14
View File
@@ -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.
package main package main
import ( import (
+1 -1
View File
@@ -1,6 +1,6 @@
module github.com/OpenIMSDK/Open-IM-Server/tools/yamlfmt module github.com/OpenIMSDK/Open-IM-Server/tools/yamlfmt
go 1.20 go 1.18
require ( require (
github.com/likexian/gokit v0.25.13 github.com/likexian/gokit v0.25.13