1
- // Copyright 2022 CeresDB Project Authors. Licensed under Apache-2.0.
1
+ // Copyright 2022-2023 CeresDB Project Authors. Licensed under Apache-2.0.
2
2
3
3
//! The main entry point to start the server
4
4
5
- use std:: { env, net :: IpAddr } ;
5
+ use std:: env;
6
6
7
7
use ceresdb:: {
8
8
config:: { ClusterDeployment , Config } ,
@@ -12,8 +12,11 @@ use clap::{App, Arg};
12
12
use common_util:: { panic, toml} ;
13
13
use log:: info;
14
14
15
- /// The ip address of current node.
15
+ /// By this environment variable, the address of current node can be overridden.
16
+ /// And it could be domain name or ip address, but no port follows it.
16
17
const NODE_ADDR : & str = "CERESDB_SERVER_ADDR" ;
18
+ /// By this environment variable, the cluster name of current node can be
19
+ /// overridden.
17
20
const CLUSTER_NAME : & str = "CLUSTER_NAME" ;
18
21
19
22
fn fetch_version ( ) -> String {
@@ -36,14 +39,6 @@ fn fetch_version() -> String {
36
39
. join ( "\n " )
37
40
}
38
41
39
- // Parse the raw addr and panic if it is invalid.
40
- fn parse_node_addr_or_fail ( raw_addr : & str ) -> IpAddr {
41
- let socket_addr: IpAddr = raw_addr
42
- . parse ( )
43
- . unwrap_or_else ( |_| panic ! ( "invalid node addr, raw_addr:{raw_addr}" ) ) ;
44
- socket_addr
45
- }
46
-
47
42
fn main ( ) {
48
43
let version = fetch_version ( ) ;
49
44
let matches = App :: new ( "CeresDB Server" )
@@ -67,8 +62,7 @@ fn main() {
67
62
} ;
68
63
69
64
if let Ok ( node_addr) = env:: var ( NODE_ADDR ) {
70
- let ip = parse_node_addr_or_fail ( & node_addr) ;
71
- config. node . addr = ip. to_string ( ) ;
65
+ config. node . addr = node_addr;
72
66
}
73
67
if let Ok ( cluster) = env:: var ( CLUSTER_NAME ) {
74
68
if let Some ( ClusterDeployment :: WithMeta ( v) ) = & mut config. cluster_deployment {
0 commit comments