* Error not handled (#2040) * delete * add context deadline exceeded * Error not handled * Error not handled * Error not handled * Error not handled * feat: add local cache for high frequency reads (#2036) * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * fix: mongo * fix: mongo * fix: mongo * openim.yaml * localcache * localcache * localcache * localcache * localcache * localcache * localcache * localcache * localcache * local cache * local cache * local cache * local cache * fix: GroupApplicationAcceptedNotification * fix: GroupApplicationAcceptedNotification * fix: NotificationUserInfoUpdate * feat: cache add single-flight and timing-wheel. * feat: local cache * feat: local cache * feat: local cache * feat: cache add single-flight and timing-wheel. * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * refactor: refactor the code of push and optimization. * cicd: robot automated Change * refactor: rename cache. * merge * fix: refactor project dir avoid import cycle. * update tools * merge * feat: conversation FindRecvMsgNotNotifyUserIDs * feat: conversation FindRecvMsgNotNotifyUserIDs * feat: conversation FindRecvMsgNotNotifyUserIDs * merge * merge the latest main --------- Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: withchao <withchao@users.noreply.github.com> * configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr * Fix bug Remove duplicate function definitions (#2033) * delete * delete log * Fix bug configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr (#2044) * delete * add context deadline exceeded * Error not handled * Error not handled * Error not handled * Error not handled * configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr * delete log (#2047) * test Signed-off-by: unknown <44203734@qq.com> * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * Bug: component check (#2053) * delete * add context deadline exceeded * Error not handled * Error not handled * Error not handled * Error not handled * configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr * test Signed-off-by: unknown <44203734@qq.com> * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check --------- Signed-off-by: unknown <44203734@qq.com> * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * Bug: component check (#2056) * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * fix: mongo * fix: mongo * fix: mongo * openim.yaml * localcache * localcache * localcache * localcache * localcache * localcache * localcache * localcache * localcache * local cache * local cache * local cache * local cache * fix: GroupApplicationAcceptedNotification * fix: GroupApplicationAcceptedNotification * fix: NotificationUserInfoUpdate * feat: cache add single-flight and timing-wheel. * feat: local cache * feat: local cache * feat: local cache * feat: cache add single-flight and timing-wheel. * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * refactor: refactor the code of push and optimization. * cicd: robot automated Change * refactor: rename cache. * merge * fix: refactor project dir avoid import cycle. * update tools * merge * feat: conversation FindRecvMsgNotNotifyUserIDs * feat: conversation FindRecvMsgNotNotifyUserIDs * feat: conversation FindRecvMsgNotNotifyUserIDs * merge * merge the latest main * Exit with code 1 when the check script fails (#2023) * Optimize script logs * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Exit with code 1 when the check script fails * Execute after the component check succeeds && minio.Enable is not configured to use MinIO (#2027) * Exit with code 1 when the check script fails (#2022) * Optimize script logs * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Exit with code 1 when the check script fails * Exit with code 1 when the check script fails * Exit with code 1 when the check script fails * Exit with code 1 when the check script fails * Exit with code 1 when the check script fails * Handle the return value of pre-start * Handle the return value of pre-start * Handle the return value of pre-start * minio.Enable is not configured to use MinIO, therefore the image server is not checked * minio.Enable is not configured to use MinIO, therefore the image server is not checked * minio.Enable is not configured to use MinIO, therefore the image server is not checked * minio.Enable is not configured to use MinIO, therefore the image server is not checked * Log redirection causes incorrect program exit status. (#2031) * Exit with code 1 when the check script fails (#2022) * Optimize script logs * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Exit with code 1 when the check script fails * cicd: bump League Patch (#2025) * Execute after the component check succeeds && minio.Enable is not configured to use MinIO (#2026) * Exit with code 1 when the check script fails * Exit with code 1 when the check script fails * Exit with code 1 when the check script fails * Exit with code 1 when the check script fails * Handle the return value of pre-start * Handle the return value of pre-start * Handle the return value of pre-start * minio.Enable is not configured to use MinIO, therefore the image server is not checked * minio.Enable is not configured to use MinIO, therefore the image server is not checked * minio.Enable is not configured to use MinIO, therefore the image server is not checked * minio.Enable is not configured to use MinIO, therefore the image server is not checked * Log redirection causes incorrect program exit status. --------- Co-authored-by: OpenIM Bot <124379614+kubbot@users.noreply.github.com> * delete * add context deadline exceeded * Error not handled * Error not handled * Error not handled * Error not handled * Fix bug Remove duplicate function definitions (#2034) * Exit with code 1 when the check script fails (#2022) * Optimize script logs * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Exit with code 1 when the check script fails * delete * delete log * configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr * Fix bug configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr (#2045) * Error not handled (#2040) * delete * add context deadline exceeded * Error not handled * Error not handled * Error not handled * Error not handled * feat: add local cache for high frequency reads (#2036) * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * fix: mongo * fix: mongo * fix: mongo * openim.yaml * localcache * localcache * localcache * localcache * localcache * localcache * localcache * localcache * localcache * local cache * local cache * local cache * local cache * fix: GroupApplicationAcceptedNotification * fix: GroupApplicationAcceptedNotification * fix: NotificationUserInfoUpdate * feat: cache add single-flight and timing-wheel. * feat: local cache * feat: local cache * feat: local cache * feat: cache add single-flight and timing-wheel. * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * refactor: refactor the code of push and optimization. * cicd: robot automated Change * refactor: rename cache. * merge * fix: refactor project dir avoid import cycle. * update tools * merge * feat: conversation FindRecvMsgNotNotifyUserIDs * feat: conversation FindRecvMsgNotNotifyUserIDs * feat: conversation FindRecvMsgNotNotifyUserIDs * merge * merge the latest main --------- Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: withchao <withchao@users.noreply.github.com> * configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr --------- Co-authored-by: chao <48119764+withchao@users.noreply.github.com> Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: withchao <withchao@users.noreply.github.com> * Feature: delete log for update images (#2050) * Error not handled (#2040) * delete * add context deadline exceeded * Error not handled * Error not handled * Error not handled * Error not handled * feat: add local cache for high frequency reads (#2036) * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * fix: mongo * fix: mongo * fix: mongo * openim.yaml * localcache * localcache * localcache * localcache * localcache * localcache * localcache * localcache * localcache * local cache * local cache * local cache * local cache * fix: GroupApplicationAcceptedNotification * fix: GroupApplicationAcceptedNotification * fix: NotificationUserInfoUpdate * feat: cache add single-flight and timing-wheel. * feat: local cache * feat: local cache * feat: local cache * feat: cache add single-flight and timing-wheel. * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * refactor: refactor the code of push and optimization. * cicd: robot automated Change * refactor: rename cache. * merge * fix: refactor project dir avoid import cycle. * update tools * merge * feat: conversation FindRecvMsgNotNotifyUserIDs * feat: conversation FindRecvMsgNotNotifyUserIDs * feat: conversation FindRecvMsgNotNotifyUserIDs * merge * merge the latest main --------- Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: withchao <withchao@users.noreply.github.com> * Fix bug Remove duplicate function definitions (#2033) * delete * delete log * Fix bug configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr (#2044) * delete * add context deadline exceeded * Error not handled * Error not handled * Error not handled * Error not handled * configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr * delete log (#2047) * delete log --------- Co-authored-by: chao <48119764+withchao@users.noreply.github.com> Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: withchao <withchao@users.noreply.github.com> * test Signed-off-by: unknown <44203734@qq.com> * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check --------- Signed-off-by: unknown <44203734@qq.com> Co-authored-by: withchao <993506633@qq.com> Co-authored-by: chao <48119764+withchao@users.noreply.github.com> Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: withchao <withchao@users.noreply.github.com> Co-authored-by: OpenIM Bot <124379614+kubbot@users.noreply.github.com> * Delete Data Conversion Tool * Delete Data Conversion Tool * Delete Data Conversion Tool * Delete Data Conversion Tool * Delete Data Conversion Tool * Delete Data Conversion Tool * Delete Data Conversion Tool * Delete Data Conversion Tool * Delete Data Conversion Tool * delete data conversion tool * delete data conversion tool * delete data conversion tool --------- Signed-off-by: unknown <44203734@qq.com> Co-authored-by: chao <48119764+withchao@users.noreply.github.com> Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: withchao <withchao@users.noreply.github.com> Co-authored-by: withchao <993506633@qq.com> Co-authored-by: OpenIM Bot <124379614+kubbot@users.noreply.github.com>
OpenIM Suite Scripts
The OpenIM Suite represents a comprehensive collection of scripts, each tailored to manage and operate specific services within the OpenIM ecosystem. These scripts offer consistent, reliable, and efficient tools for initializing, controlling, and managing various OpenIM services on a Linux platform.
Features
- Robustness: Built with Bash's error handling mechanisms (
errexit
,nounset
, andpipefail
), ensuring scripts fail fast and provide relevant error messages. - Modularity: Each script is dedicated to a particular service, promoting clarity and ease of maintenance.
- Comprehensive Logging: Integrated logging utilities offer real-time insights into operations, enhancing transparency and debuggability.
- Systemd Integration: Where applicable, scripts integrate with the systemd service manager, offering standardized service controls like start, stop, restart, and status checks.
Scripts Overview
- openim-api: Control interface for the OpenIM API service.
- openim-cmdutils: Utility toolkit for common OpenIM command-line operations.
- openim-crontask: Manages the OpenIM CronTask service, with both direct and systemctl installation methods.
- openim-msggateway: Script to operate the OpenIM Message Gateway service.
- openim-msgtransfer: Manages the OpenIM Message Transfer functionalities.
- openim-push: Interface for controlling the OpenIM Push Notification service.
- openim-rpc-auth: Script dedicated to the OpenIM RPC Authentication service.
- openim-rpc-conversation: Manages operations related to the OpenIM RPC Conversation service.
- openim-rpc-friend: Control interface for the OpenIM RPC Friend functionalities.
- openim-rpc-group: Script for managing the OpenIM RPC Group service.
- openim-rpc-msg: Operates the OpenIM RPC Messaging service.
- openim-rpc-third: Script dedicated to third-party integrations with OpenIM RPC.
- openim-rpc-user: Control interface for OpenIM RPC User operations.
OpenIM Server Installation Script Usage
The scripts within the OpenIM Suite generally adhere to two primary execution methodologies. To illustrate these methodologies, we'll use openim-crontask
as a representative example.
-
Direct Script Execution: Running the script directly, typically for straightforward start/stop operations.
./[script-name].sh
-
Function-based Execution: Invoking specific functions within the script for more specialized operations (e.g., install, uninstall).
./scripts/install/install.sh [options]
Description:
This script is designed to handle the installation, uninstallation, and status checking of OpenIM components on the server. OpenIM is a presumed communication or messaging platform.
Commands:
-
-i, --install:
Initiate the installation of all OpenIM components. -
-u, --uninstall:
Uninstall or remove all OpenIM components from the server. -
-s, --status:
Check and report the current operational status of the installed OpenIM components. -
-h, --help:
Display the help menu for available commands.
Example Usage:
To install all OpenIM components:
./scripts/install/install.sh -i
or
./scripts/install/install.sh --install
Note
: Ensure you have the necessary privileges to execute installation or uninstallation operations. It's generally recommended to take a backup before making major changes.
1. Direct Script Execution
This method involves invoking the script directly, initiating its default behavior. For instance, with openim-crontask
, direct execution will start the OpenIM CronTask as a background process.
Example:
./openim-crontask.sh
Upon execution, the script will source any necessary configurations, log the start of the CronTask, and finally run the CronTask in the background. The log messages will provide feedback about the process, ensuring the user is informed of the task's progress.
2. Function-based Execution
This approach is more specialized, enabling users to call specific functions defined within the script. This is particularly useful for tasks like installation, uninstallation, and status checks.
For the openim-crontask
script:
-
Installation: It includes building the service, generating configuration files, setting up systemd services, and starting the service.
./openim-crontask.sh openim::crontask::install
-
Uninstallation: Stops the service, removes associated binaries, configuration files, and systemd service files.
./openim-crontask.sh openim::crontask::uninstall
-
Status Check: Verifies the running status of the service, checking for active processes and listening ports.
./openim-crontask.sh openim::crontask::status
It's crucial to familiarize oneself with the available functions within each script. This ensures optimal utilization of the provided tools and a deeper understanding of the underlying operations.
Notes
- Always ensure you have the correct permissions before executing any script.
- Environment variables may need to be set or sourced depending on your installation and configuration.