mirror of
				https://github.com/openimsdk/open-im-server.git
				synced 2025-10-31 08:29:33 +08:00 
			
		
		
		
	* feat: replace mongo database openIM_v3 to openim_v3 * openim-building-an-efficient-version-control-and-testing-workflow * feat: complete openim source deployment rpc start timeout * feat: optimize config Signed-off-by: Xinwei Xiong (cubxxw) <3293172751nss@gmail.com> * feat: add scripts format * feat: use scripts format code * fix cos and minio etc to typecheck * feat: scripts make verify check ci * fix: make file verify spelling * fix: make file verify spelling * Concurrent Type Checking and Cross-Platform Development in Go * feat: add copyright make lint and format * feat: add config examples file Signed-off-by: Xinwei Xiong <3293172751@qq.com> * feat: add config examples file Signed-off-by: Xinwei Xiong <3293172751@qq.com> --------- Signed-off-by: Xinwei Xiong (cubxxw) <3293172751nss@gmail.com> Signed-off-by: Xinwei Xiong <3293172751@qq.com>
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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.
 | ||
| 
 | ||
| # Function of this script: Generate the OPENIM component YAML configuration file according to the scripts/environment.sh configuration.
 | ||
| # eg:./scripts/genconfig.sh scripts/install/environment.sh scripts/template/config.yaml
 | ||
| # Read: https://github.com/openimsdk/open-im-server/blob/main/docs/contrib/init-config.md
 | ||
| 
 | ||
| env_file="$1"
 | ||
| template_file="$2"
 | ||
| 
 | ||
| OPENIM_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
 | ||
| 
 | ||
| source "${OPENIM_ROOT}/scripts/lib/init.sh"
 | ||
| 
 | ||
| if [ $# -ne 2 ];then
 | ||
|   openim::log::error "Usage: scripts/genconfig.sh scripts/environment.sh configs/config.yaml"
 | ||
|   exit 1
 | ||
| fi
 | ||
| 
 | ||
| if [ -z "${OPENIM_IP}" ]; then
 | ||
|   openim::util::require-dig
 | ||
| fi
 | ||
| 
 | ||
| source "${env_file}"
 | ||
| 
 | ||
| declare -A envs
 | ||
| 
 | ||
| set +u
 | ||
| for env in $(sed -n 's/^[^#].*${\(.*\)}.*/\1/p' ${template_file})
 | ||
| do
 | ||
|   if [ -z "$(eval echo \$${env})" ];then
 | ||
|     openim::log::error "environment variable '${env}' not set"
 | ||
|     missing=true
 | ||
|   fi
 | ||
| done
 | ||
| 
 | ||
| if [ "${missing}" ];then
 | ||
|   openim::log::error "You may run 'source scripts/environment.sh' to set these environment"
 | ||
|   exit 1
 | ||
| fi
 | ||
| 
 | ||
| eval "cat << EOF
 | ||
| $(cat ${template_file})
 | ||
| EOF" |