Fix config (#2541)

* feat: remove double quotation marks

* feat: test

* feat: default close prometheus
This commit is contained in:
icey-yu 2024-08-21 15:10:43 +08:00 committed by GitHub
parent 1022b297d4
commit 0af207b625
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 264 additions and 241 deletions

View File

@ -1,4 +1,4 @@
enable: "etcd" enable: etcd
etcd: etcd:
rootDirectory: openim rootDirectory: openim
address: [ localhost:12379 ] address: [ localhost:12379 ]

View File

@ -3,17 +3,17 @@ username: ''
# Password for authentication # Password for authentication
password: '' password: ''
# Producer acknowledgment settings # Producer acknowledgment settings
producerAck: "" producerAck:
# Compression type to use (e.g., none, gzip, snappy) # Compression type to use (e.g., none, gzip, snappy)
compressType: "none" compressType: none
# List of Kafka broker addresses # List of Kafka broker addresses
address: [ localhost:19094 ] address: [ localhost:19094 ]
# Kafka topic for Redis integration # Kafka topic for Redis integration
toRedisTopic: "toRedis" toRedisTopic: toRedis
# Kafka topic for MongoDB integration # Kafka topic for MongoDB integration
toMongoTopic: "toMongo" toMongoTopic: toMongo
# Kafka topic for push notifications # Kafka topic for push notifications
toPushTopic: "toPush" toPushTopic: toPush
# Consumer group ID for Redis topic # Consumer group ID for Redis topic
toRedisGroupID: redis toRedisGroupID: redis
# Consumer group ID for MongoDB topic # Consumer group ID for MongoDB topic
@ -25,12 +25,12 @@ tls:
# Enable or disable TLS # Enable or disable TLS
enableTLS: false enableTLS: false
# CA certificate file path # CA certificate file path
caCrt: "" caCrt:
# Client certificate file path # Client certificate file path
clientCrt: "" clientCrt:
# Client key file path # Client key file path
clientKey: "" clientKey:
# Client key password # Client key password
clientKeyPwd: "" clientKeyPwd:
# Whether to skip TLS verification (not recommended for production) # Whether to skip TLS verification (not recommended for production)
insecureSkipVerify: false insecureSkipVerify: false

View File

@ -1,15 +1,15 @@
# Name of the bucket in MinIO # Name of the bucket in MinIO
bucket: "openim" bucket: openim
# Access key ID for MinIO authentication # Access key ID for MinIO authentication
accessKeyID: "root" accessKeyID: root
# Secret access key for MinIO authentication # Secret access key for MinIO authentication
secretAccessKey: "openIM123" secretAccessKey: openIM123
# Session token for MinIO authentication (optional) # Session token for MinIO authentication (optional)
sessionToken: '' sessionToken:
# Internal address of the MinIO server # Internal address of the MinIO server
internalAddress: "localhost:10005" internalAddress: localhost:10005
# External address of the MinIO server, accessible from outside. Supports both HTTP and HTTPS using a domain name # External address of the MinIO server, accessible from outside. Supports both HTTP and HTTPS using a domain name
externalAddress: "http://external_ip:10005" externalAddress: http://external_ip:10005
# Flag to enable or disable public read access to the bucket # Flag to enable or disable public read access to the bucket
publicRead: false publicRead: false

View File

@ -1,5 +1,5 @@
# URI for database connection, leave empty if using address and credential settings directly # URI for database connection, leave empty if using address and credential settings directly
uri: '' uri:
# List of MongoDB server addresses # List of MongoDB server addresses
address: [ localhost:37017 ] address: [ localhost:37017 ]
# Name of the database # Name of the database

View File

@ -28,11 +28,11 @@ groupCreated:
# Enables or disables offline push notifications. # Enables or disables offline push notifications.
enable: false enable: false
# Title for the notification when a group is created. # Title for the notification when a group is created.
title: "create group title" title: create group title
# Description for the notification. # Description for the notification.
desc: "create group desc" desc: create group desc
# Additional information for the notification. # Additional information for the notification.
ext: "create group ext" ext: create group ext
groupInfoSet: groupInfoSet:
isSendMsg: false isSendMsg: false
@ -40,9 +40,9 @@ groupInfoSet:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "groupInfoSet title" title: groupInfoSet title
desc: "groupInfoSet desc" desc: groupInfoSet desc
ext: "groupInfoSet ext" ext: groupInfoSet ext
joinGroupApplication: joinGroupApplication:
@ -51,9 +51,9 @@ joinGroupApplication:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "joinGroupApplication title" title: joinGroupApplication title
desc: "joinGroupApplication desc" desc: joinGroupApplication desc
ext: "joinGroupApplication ext" ext: joinGroupApplication ext
memberQuit: memberQuit:
isSendMsg: true isSendMsg: true
@ -61,9 +61,9 @@ memberQuit:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "memberQuit title" title: memberQuit title
desc: "memberQuit desc" desc: memberQuit desc
ext: "memberQuit ext" ext: memberQuit ext
groupApplicationAccepted: groupApplicationAccepted:
isSendMsg: false isSendMsg: false
@ -71,9 +71,9 @@ groupApplicationAccepted:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "groupApplicationAccepted title" title: groupApplicationAccepted title
desc: "groupApplicationAccepted desc" desc: groupApplicationAccepted desc
ext: "groupApplicationAccepted ext" ext: groupApplicationAccepted ext
groupApplicationRejected: groupApplicationRejected:
isSendMsg: false isSendMsg: false
@ -81,9 +81,9 @@ groupApplicationRejected:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "groupApplicationRejected title" title: groupApplicationRejected title
desc: "groupApplicationRejected desc" desc: groupApplicationRejected desc
ext: "groupApplicationRejected ext" ext: groupApplicationRejected ext
groupOwnerTransferred: groupOwnerTransferred:
@ -92,9 +92,9 @@ groupOwnerTransferred:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "groupOwnerTransferred title" title: groupOwnerTransferred title
desc: "groupOwnerTransferred desc" desc: groupOwnerTransferred desc
ext: "groupOwnerTransferred ext" ext: groupOwnerTransferred ext
memberKicked: memberKicked:
isSendMsg: true isSendMsg: true
@ -102,9 +102,9 @@ memberKicked:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "memberKicked title" title: memberKicked title
desc: "memberKicked desc" desc: memberKicked desc
ext: "memberKicked ext" ext: memberKicked ext
memberInvited: memberInvited:
isSendMsg: true isSendMsg: true
@ -112,9 +112,9 @@ memberInvited:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "memberInvited title" title: memberInvited title
desc: "memberInvited desc" desc: memberInvited desc
ext: "memberInvited ext" ext: memberInvited ext
memberEnter: memberEnter:
isSendMsg: true isSendMsg: true
@ -122,9 +122,9 @@ memberEnter:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "memberEnter title" title: memberEnter title
desc: "memberEnter desc" desc: memberEnter desc
ext: "memberEnter ext" ext: memberEnter ext
groupDismissed: groupDismissed:
isSendMsg: true isSendMsg: true
@ -132,9 +132,9 @@ groupDismissed:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "groupDismissed title" title: groupDismissed title
desc: "groupDismissed desc" desc: groupDismissed desc
ext: "groupDismissed ext" ext: groupDismissed ext
groupMuted: groupMuted:
isSendMsg: true isSendMsg: true
@ -142,9 +142,9 @@ groupMuted:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "groupMuted title" title: groupMuted title
desc: "groupMuted desc" desc: groupMuted desc
ext: "groupMuted ext" ext: groupMuted ext
groupCancelMuted: groupCancelMuted:
isSendMsg: true isSendMsg: true
@ -152,11 +152,11 @@ groupCancelMuted:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "groupCancelMuted title" title: groupCancelMuted title
desc: "groupCancelMuted desc" desc: groupCancelMuted desc
ext: "groupCancelMuted ext" ext: groupCancelMuted ext
defaultTips: defaultTips:
tips: "group Cancel Muted" tips: group Cancel Muted
groupMemberMuted: groupMemberMuted:
@ -165,9 +165,9 @@ groupMemberMuted:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "groupMemberMuted title" title: groupMemberMuted title
desc: "groupMemberMuted desc" desc: groupMemberMuted desc
ext: "groupMemberMuted ext" ext: groupMemberMuted ext
groupMemberCancelMuted: groupMemberCancelMuted:
isSendMsg: true isSendMsg: true
@ -175,9 +175,9 @@ groupMemberCancelMuted:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "groupMemberCancelMuted title" title: groupMemberCancelMuted title
desc: "groupMemberCancelMuted desc" desc: groupMemberCancelMuted desc
ext: "groupMemberCancelMuted ext" ext: groupMemberCancelMuted ext
groupMemberInfoSet: groupMemberInfoSet:
isSendMsg: false isSendMsg: false
@ -185,9 +185,9 @@ groupMemberInfoSet:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "groupMemberInfoSet title" title: groupMemberInfoSet title
desc: "groupMemberInfoSet desc" desc: groupMemberInfoSet desc
ext: "groupMemberInfoSet ext" ext: groupMemberInfoSet ext
groupInfoSetAnnouncement: groupInfoSetAnnouncement:
isSendMsg: true isSendMsg: true
@ -195,9 +195,9 @@ groupInfoSetAnnouncement:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "groupInfoSetAnnouncement title" title: groupInfoSetAnnouncement title
desc: "groupInfoSetAnnouncement desc" desc: groupInfoSetAnnouncement desc
ext: "groupInfoSetAnnouncement ext" ext: groupInfoSetAnnouncement ext
groupInfoSetName: groupInfoSetName:
@ -206,9 +206,9 @@ groupInfoSetName:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "groupInfoSetName title" title: groupInfoSetName title
desc: "groupInfoSetName desc" desc: groupInfoSetName desc
ext: "groupInfoSetName ext" ext: groupInfoSetName ext
#############################friend################################# #############################friend#################################
@ -218,9 +218,9 @@ friendApplicationAdded:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "Somebody applies to add you as a friend" title: Somebody applies to add you as a friend
desc: "Somebody applies to add you as a friend" desc: Somebody applies to add you as a friend
ext: "Somebody applies to add you as a friend" ext: Somebody applies to add you as a friend
friendApplicationApproved: friendApplicationApproved:
isSendMsg: true isSendMsg: true
@ -228,9 +228,9 @@ friendApplicationApproved:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: true enable: true
title: "Someone applies to add your friend application" title: Someone applies to add your friend application
desc: "Someone applies to add your friend application" desc: Someone applies to add your friend application
ext: "Someone applies to add your friend application" ext: Someone applies to add your friend application
friendApplicationRejected: friendApplicationRejected:
isSendMsg: false isSendMsg: false
@ -238,9 +238,9 @@ friendApplicationRejected:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: true enable: true
title: "Someone rejected your friend application" title: Someone rejected your friend application
desc: "Someone rejected your friend application" desc: Someone rejected your friend application
ext: "Someone rejected your friend application" ext: Someone rejected your friend application
friendAdded: friendAdded:
isSendMsg: false isSendMsg: false
@ -248,9 +248,9 @@ friendAdded:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: true enable: true
title: "We have become friends" title: We have become friends
desc: "We have become friends" desc: We have become friends
ext: "We have become friends" ext: We have become friends
friendDeleted: friendDeleted:
isSendMsg: false isSendMsg: false
@ -258,9 +258,9 @@ friendDeleted:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: true enable: true
title: "deleted a friend" title: deleted a friend
desc: "deleted a friend" desc: deleted a friend
ext: "deleted a friend" ext: deleted a friend
friendRemarkSet: friendRemarkSet:
isSendMsg: false isSendMsg: false
@ -268,9 +268,9 @@ friendRemarkSet:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: true enable: true
title: "Your friend's profile has been changed" title: Your friend's profile has been changed
desc: "Your friend's profile has been changed" desc: Your friend's profile has been changed
ext: "Your friend's profile has been changed" ext: Your friend's profile has been changed
blackAdded: blackAdded:
isSendMsg: false isSendMsg: false
@ -278,9 +278,9 @@ blackAdded:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: true enable: true
title: "blocked a user" title: blocked a user
desc: "blocked a user" desc: blocked a user
ext: "blocked a user" ext: blocked a user
blackDeleted: blackDeleted:
isSendMsg: false isSendMsg: false
@ -288,9 +288,9 @@ blackDeleted:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: true enable: true
title: "Remove a blocked user" title: Remove a blocked user
desc: "Remove a blocked user" desc: Remove a blocked user
ext: "Remove a blocked user" ext: Remove a blocked user
friendInfoUpdated: friendInfoUpdated:
isSendMsg: false isSendMsg: false
@ -298,9 +298,9 @@ friendInfoUpdated:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: true enable: true
title: "friend info updated" title: friend info updated
desc: "friend info updated" desc: friend info updated
ext: "friend info updated" ext: friend info updated
#####################user######################### #####################user#########################
userInfoUpdated: userInfoUpdated:
@ -309,9 +309,9 @@ userInfoUpdated:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: true enable: true
title: "Remove a blocked user" title: Remove a blocked user
desc: "Remove a blocked user" desc: Remove a blocked user
ext: "Remove a blocked user" ext: Remove a blocked user
userStatusChanged: userStatusChanged:
isSendMsg: false isSendMsg: false
@ -319,9 +319,9 @@ userStatusChanged:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: false enable: false
title: "user status changed" title: user status changed
desc: "user status changed" desc: user status changed
ext: "user status changed" ext: user status changed
#####################conversation######################### #####################conversation#########################
conversationChanged: conversationChanged:
@ -330,9 +330,9 @@ conversationChanged:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: true enable: true
title: "conversation changed" title: conversation changed
desc: "conversation changed" desc: conversation changed
ext: "conversation changed" ext: conversation changed
conversationSetPrivate: conversationSetPrivate:
isSendMsg: true isSendMsg: true
@ -340,6 +340,6 @@ conversationSetPrivate:
unreadCount: false unreadCount: false
offlinePush: offlinePush:
enable: true enable: true
title: "burn after reading" title: burn after reading
desc: "burn after reading" desc: burn after reading
ext: "burn after reading" ext: burn after reading

View File

@ -1,3 +1,3 @@
cronExecuteTime: "0 2 * * *" cronExecuteTime: 0 2 * * *
retainChatRecords: 365 retainChatRecords: 365
fileExpireTime: 90 fileExpireTime: 90

View File

@ -1,6 +1,6 @@
rpc: rpc:
# The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP # The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP
registerIP: '' registerIP:
# List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports # List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports
ports: [ 10140 ] ports: [ 10140 ]

View File

@ -1,6 +1,6 @@
rpc: rpc:
# The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP # The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP
registerIP: '' registerIP:
# IP address that the RPC service listens on; setting to 0.0.0.0 listens on both internal and external IPs. If left blank, it automatically uses the internal network IP # IP address that the RPC service listens on; setting to 0.0.0.0 listens on both internal and external IPs. If left blank, it automatically uses the internal network IP
listenIP: 0.0.0.0 listenIP: 0.0.0.0
# List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports # List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports
@ -13,28 +13,28 @@ prometheus:
ports: [ 20107 ] ports: [ 20107 ]
maxConcurrentWorkers: 3 maxConcurrentWorkers: 3
#"Use geTui for offline push notifications, or choose fcm or jpns; corresponding configuration settings must be specified." #Use geTui for offline push notifications, or choose fcm or jpns; corresponding configuration settings must be specified.
enable: "geTui" enable: geTui
geTui: geTui:
pushUrl: "https://restapi.getui.com/v2/$appId" pushUrl: https://restapi.getui.com/v2/$appId
masterSecret: '' masterSecret:
appKey: '' appKey:
intent: '' intent:
channelID: '' channelID:
channelName: '' channelName:
fcm: fcm:
# Prioritize using file paths. If the file path is empty, use URL # Prioritize using file paths. If the file path is empty, use URL
filePath: "" # File path is concatenated with the parameters passed in through - c(`mage` default pass in `config/`) and filePath. filePath: # File path is concatenated with the parameters passed in through - c(`mage` default pass in `config/`) and filePath.
authURL: "" # Must start with https or http. authURL: # Must start with https or http.
jpns: jpns:
appKey: '' appKey:
masterSecret: '' masterSecret:
pushURL: '' pushURL:
pushIntent: '' pushIntent:
# iOS system push sound and badge count # iOS system push sound and badge count
iosPush: iosPush:
pushSound: "xxx" pushSound: xxx
badgeCount: true badgeCount: true
production: false production: false

View File

@ -1,6 +1,6 @@
rpc: rpc:
# The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP # The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP
registerIP: '' registerIP:
# IP address that the RPC service listens on; setting to 0.0.0.0 listens on both internal and external IPs. If left blank, it automatically uses the internal network IP # IP address that the RPC service listens on; setting to 0.0.0.0 listens on both internal and external IPs. If left blank, it automatically uses the internal network IP
listenIP: 0.0.0.0 listenIP: 0.0.0.0
# List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports # List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports

View File

@ -1,6 +1,6 @@
rpc: rpc:
# The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP # The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP
registerIP: '' registerIP:
# IP address that the RPC service listens on; setting to 0.0.0.0 listens on both internal and external IPs. If left blank, it automatically uses the internal network IP # IP address that the RPC service listens on; setting to 0.0.0.0 listens on both internal and external IPs. If left blank, it automatically uses the internal network IP
listenIP: 0.0.0.0 listenIP: 0.0.0.0
# List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports # List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports

View File

@ -1,6 +1,6 @@
rpc: rpc:
# The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP # The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP
registerIP: '' registerIP:
# IP address that the RPC service listens on; setting to 0.0.0.0 listens on both internal and external IPs. If left blank, it automatically uses the internal network IP # IP address that the RPC service listens on; setting to 0.0.0.0 listens on both internal and external IPs. If left blank, it automatically uses the internal network IP
listenIP: 0.0.0.0 listenIP: 0.0.0.0
# List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports # List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports

View File

@ -1,6 +1,6 @@
rpc: rpc:
# The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP # The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP
registerIP: '' registerIP:
# IP address that the RPC service listens on; setting to 0.0.0.0 listens on both internal and external IPs. If left blank, it automatically uses the internal network IP # IP address that the RPC service listens on; setting to 0.0.0.0 listens on both internal and external IPs. If left blank, it automatically uses the internal network IP
listenIP: 0.0.0.0 listenIP: 0.0.0.0
# List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports # List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports

View File

@ -1,6 +1,6 @@
rpc: rpc:
# The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP # The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP
registerIP: '' registerIP:
# IP address that the RPC service listens on; setting to 0.0.0.0 listens on both internal and external IPs. If left blank, it automatically uses the internal network IP # IP address that the RPC service listens on; setting to 0.0.0.0 listens on both internal and external IPs. If left blank, it automatically uses the internal network IP
listenIP: 0.0.0.0 listenIP: 0.0.0.0
# List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports # List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports

View File

@ -1,6 +1,6 @@
rpc: rpc:
# The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP # The IP address where this RPC service registers itself; if left blank, it defaults to the internal network IP
registerIP: '' registerIP:
# IP address that the RPC service listens on; setting to 0.0.0.0 listens on both internal and external IPs. If left blank, it automatically uses the internal network IP # IP address that the RPC service listens on; setting to 0.0.0.0 listens on both internal and external IPs. If left blank, it automatically uses the internal network IP
listenIP: 0.0.0.0 listenIP: 0.0.0.0
# List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports # List of ports that the RPC service listens on; configuring multiple ports will launch multiple instances. These must match the number of configured prometheus ports
@ -15,26 +15,26 @@ prometheus:
object: object:
# Use MinIO as object storage, or set to "cos", "oss", "kodo", "aws", while also configuring the corresponding settings # Use MinIO as object storage, or set to "cos", "oss", "kodo", "aws", while also configuring the corresponding settings
enable: "minio" enable: minio
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:
publicRead: false publicRead: false
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:
publicRead: false publicRead: false
kodo: kodo:
endpoint: "http://s3.cn-south-1.qiniucs.com" endpoint: http://s3.cn-south-1.qiniucs.com
bucket: "kodo-bucket-test" bucket: kodo-bucket-test
bucketURL: "http://kodo-bucket-test-oetobfb.qiniudns.com" bucketURL: http://kodo-bucket-test-oetobfb.qiniudns.com
accessKeyID: '' accessKeyID:
accessKeySecret: '' accessKeySecret:
sessionToken: '' sessionToken:
publicRead: false publicRead: false

View File

@ -1,6 +1,6 @@
rpc: rpc:
# API or other RPCs can access this RPC through this IP; if left blank, the internal network IP is obtained by default # API or other RPCs can access this RPC through this IP; if left blank, the internal network IP is obtained by default
registerIP: '' registerIP:
# Listening IP; 0.0.0.0 means both internal and external IPs are listened to, if blank, the internal network IP is automatically obtained by default # Listening IP; 0.0.0.0 means both internal and external IPs are listened to, if blank, the internal network IP is automatically obtained by default
listenIP: 0.0.0.0 listenIP: 0.0.0.0
# Listening ports; if multiple are configured, multiple instances will be launched, and must be consistent with the number of prometheus.ports # Listening ports; if multiple are configured, multiple instances will be launched, and must be consistent with the number of prometheus.ports

View File

@ -8,76 +8,76 @@ global:
alerting: alerting:
alertmanagers: alertmanagers:
- static_configs: - static_configs:
- targets: ['internal_ip:19093'] - targets: [internal_ip:19093]
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. # Load rules once and periodically evaluate them according to the global evaluation_interval.
rule_files: rule_files:
- "instance-down-rules.yml" - instance-down-rules.yml
# - "first_rules.yml" # - first_rules.yml
# - "second_rules.yml" # - second_rules.yml
# A scrape configuration containing exactly one endpoint to scrape: # A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself. # Here it's Prometheus itself.
scrape_configs: scrape_configs:
# The job name is added as a label "job='job_name'"" to any timeseries scraped from this config. # The job name is added as a label job=job_name" to any timeseries scraped from this config.
# Monitored information captured by prometheus # Monitored information captured by prometheus
# prometheus fetches application services # prometheus fetches application services
- job_name: 'node_exporter' - job_name: node_exporter
static_configs: static_configs:
- targets: [ 'internal_ip:20114' ] - targets: [ internal_ip:20114 ]
- job_name: 'openimserver-openim-api' - job_name: openimserver-openim-api
static_configs: static_configs:
- targets: [ 'internal_ip:20113' ] - targets: [ internal_ip:20113 ]
labels: labels:
namespace: 'default' namespace: default
- job_name: 'openimserver-openim-msggateway' - job_name: openimserver-openim-msggateway
static_configs: static_configs:
- targets: [ 'internal_ip:20112' ] - targets: [ internal_ip:20112 ]
labels: labels:
namespace: 'default' namespace: default
- job_name: 'openimserver-openim-msgtransfer' - job_name: openimserver-openim-msgtransfer
static_configs: static_configs:
- targets: [ 'internal_ip:20111', 'internal_ip:20110', 'internal_ip:20109', 'internal_ip:20108' ] - targets: [ internal_ip:20111, internal_ip:20110, internal_ip:20109, internal_ip:20108 ]
labels: labels:
namespace: 'default' namespace: default
- job_name: 'openimserver-openim-push' - job_name: openimserver-openim-push
static_configs: static_configs:
- targets: [ 'internal_ip:20107' ] - targets: [ internal_ip:20107 ]
labels: labels:
namespace: 'default' namespace: default
- job_name: 'openimserver-openim-rpc-auth' - job_name: openimserver-openim-rpc-auth
static_configs: static_configs:
- targets: [ 'internal_ip:20106' ] - targets: [ internal_ip:20106 ]
labels: labels:
namespace: 'default' namespace: default
- job_name: 'openimserver-openim-rpc-conversation' - job_name: openimserver-openim-rpc-conversation
static_configs: static_configs:
- targets: [ 'internal_ip:20105' ] - targets: [ internal_ip:20105 ]
labels: labels:
namespace: 'default' namespace: default
- job_name: 'openimserver-openim-rpc-friend' - job_name: openimserver-openim-rpc-friend
static_configs: static_configs:
- targets: [ 'internal_ip:20104' ] - targets: [ internal_ip:20104 ]
labels: labels:
namespace: 'default' namespace: default
- job_name: 'openimserver-openim-rpc-group' - job_name: openimserver-openim-rpc-group
static_configs: static_configs:
- targets: [ 'internal_ip:20103' ] - targets: [ internal_ip:20103 ]
labels: labels:
namespace: 'default' namespace: default
- job_name: 'openimserver-openim-rpc-msg' - job_name: openimserver-openim-rpc-msg
static_configs: static_configs:
- targets: [ 'internal_ip:20102' ] - targets: [ internal_ip:20102 ]
labels: labels:
namespace: 'default' namespace: default
- job_name: 'openimserver-openim-rpc-third' - job_name: openimserver-openim-rpc-third
static_configs: static_configs:
- targets: [ 'internal_ip:20101' ] - targets: [ internal_ip:20101 ]
labels: labels:
namespace: 'default' namespace: default
- job_name: 'openimserver-openim-rpc-user' - job_name: openimserver-openim-rpc-user
static_configs: static_configs:
- targets: [ 'internal_ip:20100' ] - targets: [ internal_ip:20100 ]
labels: labels:
namespace: 'default' namespace: default

View File

@ -1,5 +1,5 @@
address: [ localhost:16379 ] address: [ localhost:16379 ]
username: '' username:
password: openIM123 password: openIM123
clusterMode: false clusterMode: false
db: 0 db: 0

View File

@ -10,5 +10,5 @@ rpcRegisterName:
conversation: conversation conversation: conversation
third: third third: third
imAdminUserID: [ "imAdmin" ] imAdminUserID: [ imAdmin ]

View File

@ -1,4 +1,4 @@
url: "webhook://127.0.0.1:10008/callbackExample" url: webhook://127.0.0.1:10008/callbackExample
beforeSendSingleMsg: beforeSendSingleMsg:
enable: false enable: false
timeout: 5 timeout: 5

View File

@ -140,50 +140,50 @@ services:
networks: networks:
- openim - openim
prometheus: # prometheus:
image: ${PROMETHEUS_IMAGE} # image: ${PROMETHEUS_IMAGE}
container_name: prometheus # container_name: prometheus
restart: always # restart: always
volumes: # volumes:
- ./config/prometheus.yml:/etc/prometheus/prometheus.yml # - ./config/prometheus.yml:/etc/prometheus/prometheus.yml
- ./config/instance-down-rules.yml:/etc/prometheus/instance-down-rules.yml # - ./config/instance-down-rules.yml:/etc/prometheus/instance-down-rules.yml
- ${DATA_DIR}/components/prometheus/data:/prometheus # - ${DATA_DIR}/components/prometheus/data:/prometheus
command: # command:
- '--config.file=/etc/prometheus/prometheus.yml' # - '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus' # - '--storage.tsdb.path=/prometheus'
ports: # ports:
- "19091:9090" # - "19091:9090"
networks: # networks:
- openim # - openim
#
alertmanager: # alertmanager:
image: ${ALERTMANAGER_IMAGE} # image: ${ALERTMANAGER_IMAGE}
container_name: alertmanager # container_name: alertmanager
restart: always # restart: always
volumes: # volumes:
- ./config/alertmanager.yml:/etc/alertmanager/alertmanager.yml # - ./config/alertmanager.yml:/etc/alertmanager/alertmanager.yml
- ./config/email.tmpl:/etc/alertmanager/email.tmpl # - ./config/email.tmpl:/etc/alertmanager/email.tmpl
ports: # ports:
- "19093:9093" # - "19093:9093"
networks: # networks:
- openim # - openim
#
grafana: # grafana:
image: ${GRAFANA_IMAGE} # image: ${GRAFANA_IMAGE}
container_name: grafana # container_name: grafana
user: root # user: root
restart: always # restart: always
environment: # environment:
- GF_SECURITY_ALLOW_EMBEDDING=true # - GF_SECURITY_ALLOW_EMBEDDING=true
- GF_SESSION_COOKIE_SAMESITE=none # - GF_SESSION_COOKIE_SAMESITE=none
- GF_SESSION_COOKIE_SECURE=true # - GF_SESSION_COOKIE_SECURE=true
- GF_AUTH_ANONYMOUS_ENABLED=true # - GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin # - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
ports: # ports:
- "13000:3000" # - "13000:3000"
volumes: # volumes:
- ${DATA_DIR:-./}/components/grafana:/var/lib/grafana # - ${DATA_DIR:-./}/components/grafana:/var/lib/grafana
networks: # networks:
- openim # - openim

View File

@ -36,3 +36,26 @@ func TestLoadOpenIMRpcUserConfig(t *testing.T) {
//export IMENV_OPENIM_RPC_USER_RPC_PORTS="10110,10111,10112" //export IMENV_OPENIM_RPC_USER_RPC_PORTS="10110,10111,10112"
assert.Equal(t, []int{10110, 10111, 10112}, user.RPC.Ports) assert.Equal(t, []int{10110, 10111, 10112}, user.RPC.Ports)
} }
func TestLoadNotificationConfig(t *testing.T) {
var noti Notification
err := LoadConfig("../../../config/notification.yml", "IMENV_NOTIFICATION", &noti)
assert.Nil(t, err)
assert.Equal(t, "Your friend's profile has been changed", noti.FriendRemarkSet.OfflinePush.Title)
}
func TestLoadOpenIMThirdConfig(t *testing.T) {
var third Third
err := LoadConfig("../../../config/openim-rpc-third.yml", "IMENV_OPENIM_RPC_THIRD", &third)
assert.Nil(t, err)
assert.Equal(t, "enabled", third.Object.Enable)
assert.Equal(t, "https://oss-cn-chengdu.aliyuncs.com", third.Object.Oss.Endpoint)
assert.Equal(t, "my_bucket_name", third.Object.Oss.Bucket)
assert.Equal(t, "https://my_bucket_name.oss-cn-chengdu.aliyuncs.com", third.Object.Oss.BucketURL)
assert.Equal(t, "AKID1234567890", third.Object.Oss.AccessKeyID)
assert.Equal(t, "abc123xyz789", third.Object.Oss.AccessKeySecret)
assert.Equal(t, "session_token_value", third.Object.Oss.SessionToken) // Uncomment if session token is needed
assert.Equal(t, true, third.Object.Oss.PublicRead)
// Environment: IMENV_OPENIM_RPC_THIRD_OBJECT_ENABLE=enabled;IMENV_OPENIM_RPC_THIRD_OBJECT_OSS_ENDPOINT=https://oss-cn-chengdu.aliyuncs.com;IMENV_OPENIM_RPC_THIRD_OBJECT_OSS_BUCKET=my_bucket_name;IMENV_OPENIM_RPC_THIRD_OBJECT_OSS_BUCKETURL=https://my_bucket_name.oss-cn-chengdu.aliyuncs.com;IMENV_OPENIM_RPC_THIRD_OBJECT_OSS_ACCESSKEYID=AKID1234567890;IMENV_OPENIM_RPC_THIRD_OBJECT_OSS_ACCESSKEYSECRET=abc123xyz789;IMENV_OPENIM_RPC_THIRD_OBJECT_OSS_SESSIONTOKEN=session_token_value;IMENV_OPENIM_RPC_THIRD_OBJECT_OSS_PUBLICREAD=true
}