feat: add more design scripts

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
pull/825/head
Xinwei Xiong(cubxxw-openim) 2 years ago
parent f73b653d0e
commit 30c0decaeb
No known key found for this signature in database
GPG Key ID: 1BAD6F395338EFDE

@ -30,9 +30,53 @@ source "${OPENIM_ROOT}/scripts/lib/init.sh"
# Make sure the environment is only called via common to avoid too much nesting
source "${OPENIM_ROOT}/scripts/install/environment.sh"
# Make sure the environment is only called via common to avoid too much nesting
openim::common::rpc::service_port() {
local targets=(
$OPENIM_USER_PORT # User service
$OPENIM_FRIEND_PORT # Friend service
$OPENIM_MESSAGE_PORT # Message service
$OPENIM_MESSAGE_GATEWAY_PORT # Message gateway
$OPENIM_GROUP_PORT # Group service
$OPENIM_AUTH_PORT # Authorization service
$OPENIM_PUSH_PORT # Push service
$OPENIM_CONVERSATION_PORT # Conversation service
$OPENIM_THIRD_PORT # Third-party service
)
echo "${targets[@]}"
}
IFS=" " read -ra OPENIM_RPC_PORT_TARGETS <<< "$(openim::common::rpc::service_port)"
readonly OPENIM_RPC_PORT_TARGETS
readonly OPENIM_RPC_PORT_LISTARIES=("${OPENIM_RPC_PORT_TARGETS[@]##*/}")
# This function returns a list of Prometheus ports for various services
# based on the provided configuration. Each service has its own dedicated
# port for monitoring purposes.
openim::common::rpc::prometheus_port() {
# Declare an array to hold all the Prometheus ports for different services
local targets=(
${USER_PROM_PORT} # Prometheus port for user service
${FRIEND_PROM_PORT} # Prometheus port for friend service
${MESSAGE_PROM_PORT} # Prometheus port for message service
${MSG_GATEWAY_PROM_PORT} # Prometheus port for message gateway service
${GROUP_PROM_PORT} # Prometheus port for group service
${AUTH_PROM_PORT} # Prometheus port for authentication service
${PUSH_PROM_PORT} # Prometheus port for push notification service
${CONVERSATION_PROM_PORT} # Prometheus port for conversation service
${RTC_PROM_PORT} # Prometheus port for real-time communication service
${THIRD_PROM_PORT} # Prometheus port for third-party integrations service
${MSG_TRANSFER_PROM_PORT} # Prometheus port for message transfer service
)
# Print the list of ports
echo "${targets[@]}"
}
IFS=" " read -ra OPENIM_PROM_PORT_TARGETS <<< "$(openim::common::rpc::prometheus_port)"
readonly OPENIM_PROM_PORT_TARGETS
readonly OPENIM_PROM_PORT_LISTARIES=("${OPENIM_PROM_PORT_TARGETS[@]##*/}")
# Storing all the defined ports in an array for easy management and access.
# This array consolidates the port numbers for all the services defined above.
openim::common::service_port_name() {
openim::common::service_port() {
local targets=(
$OPENIM_USER_PORT # User service
$OPENIM_FRIEND_PORT # Friend service
@ -43,16 +87,18 @@ openim::common::service_port_name() {
$OPENIM_PUSH_PORT # Push service
$OPENIM_CONVERSATION_PORT # Conversation service
$OPENIM_THIRD_PORT # Third-party service
# API PORT
$API_OPENIM_PORT # API service
$OPENIM_WS_PORT # WebSocket service
)
echo "${targets[@]}"
}
IFS=" " read -ra OPENIM_SERVER_PORT_TARGETS <<< "$(openim::common::service_port_name)"
IFS=" " read -ra OPENIM_SERVER_PORT_TARGETS <<< "$(openim::common::service_port)"
readonly OPENIM_SERVER_PORT_TARGETS
readonly OPENIM_SERVER_PORT_LISTARIES=("${OPENIM_SERVER_PORT_TARGETS[@]##*/}")
# Execute commands that require root permission without entering a password
function openim::common::sudo {
echo ${LINUX_PASSWORD} | sudo -S $1

@ -43,7 +43,7 @@ if [ "${OPENIM_MSGGATEWAY_NUM}" -lt 1 ]; then
opeim::log::error_exit "OPENIM_MSGGATEWAY_NUM must be greater than 0"
fi
if [ ${OPENIM_MSGGATEWAY_NUM} -ne ${#MSG_TRANSFER_PROM_PORTS[@]} -1]; then
if [ ${OPENIM_MSGGATEWAY_NUM} -ne $((${#MSG_TRANSFER_PROM_PORTS[@]} - 1)) ]; then
openim::log::error_exit "OPENIM_MSGGATEWAY_NUM must be equal to the number of MSG_TRANSFER_PROM_PORTS"
fi

@ -175,6 +175,7 @@ openim::log::progress() {
done
}
# Print out some info that isn't a top level status line
openim::log::info_from_stdin() {
local messages=()
while read -r line; do
@ -205,7 +206,8 @@ openim::log::success()
if [[ ${OPENIM_VERBOSE} < ${V} ]]; then
return
fi
echo_log -e "${BRIGHT_GREEN_PREFIX}[success] ${COLOR_SUFFIX}==> " "$@"
timestamp=$(date +"%m%d %H:%M:%S")
echo_log -e "${BRIGHT_GREEN_PREFIX}[success ${timestamp}] ${COLOR_SUFFIX}==> " "$@"
}
function openim::log::test_log() {

Loading…
Cancel
Save