1
1
import platform , argparse , subprocess , requests
2
+ from conf .client .conf import parse_configuration
2
3
3
4
4
5
# Parse arguments from the cli
@@ -11,31 +12,9 @@ def parse_arguments():
11
12
parser = argparse .ArgumentParser (description = "CLI Optinons" )
12
13
13
14
parser .add_argument (
14
- "--spire-trust-domain" ,
15
- "-t" ,
16
- type = str ,
17
- default = "lumi-sd-dev" ,
18
- help = "Server address (default: lumi-sd-dev)" ,
19
- )
20
- parser .add_argument (
21
- "--sd-server-address" ,
22
- "-a" ,
23
- type = str ,
24
- help = "Server address" ,
25
- )
26
- parser .add_argument (
27
- "--spire-server-port" ,
28
- "-sp" ,
29
- type = int ,
30
- default = 10081 ,
31
- help = "Spire server port (default: 10081)" ,
32
- )
33
- parser .add_argument (
34
- "--sd-server-port" ,
35
- "-ap" ,
36
- type = int ,
37
- default = 10080 ,
38
- help = "SD API server port (default: 10080)" ,
15
+ "--config" ,
16
+ required = True ,
17
+ help = "Path to the client configuration file" ,
39
18
)
40
19
parser .add_argument (
41
20
"--socketpath" ,
@@ -54,8 +33,7 @@ def parse_arguments():
54
33
55
34
return parser .parse_args ()
56
35
57
-
58
- def get_token (server , port , compute_node_token : bool ):
36
+ def get_token (url , compute_node_token : bool ):
59
37
"""Get joinToken to perform node registration from server
60
38
61
39
Args:
@@ -73,9 +51,9 @@ def get_token(server, port, compute_node_token: bool):
73
51
# Check wether we are performing compute node attestation or client attestation, create url
74
52
if compute_node_token :
75
53
hostname = platform .node ()
76
- url = f"http:// { server } : { port } /api/agents/token?hostname={ hostname } "
54
+ url = f"{ url } /api/agents/token?hostname={ hostname } "
77
55
else :
78
- url = f"http:// { server } : { port } /api/client/register"
56
+ url = f"{ url } /api/client/register"
79
57
80
58
# Perform POST request to SD server
81
59
response = requests .post (url )
@@ -89,22 +67,25 @@ def get_token(server, port, compute_node_token: bool):
89
67
if __name__ == "__main__" :
90
68
# Get arguments
91
69
options = parse_arguments ()
70
+
71
+ # Parse configuration file
72
+ configuration = parse_configuration (options .config )
92
73
93
74
# Get token from API
94
75
token = get_token (
95
- options . sd_server_address , options . sd_server_port , options .compute_node
76
+ configuration [ 'hpcs-server' ][ 'url' ] , options .compute_node
96
77
)
97
78
98
79
# Overwrite configuration template
99
80
agent_configuration_template = open ("./utils/agent-on-the-fly.conf" ).read ()
100
81
agent_configuration_template = agent_configuration_template .replace (
101
- "SPIRE_TRUST_DOMAIN" , options . spire_trust_domain
82
+ "SPIRE_TRUST_DOMAIN" , configuration [ 'spire-server' ][ 'trust-domain' ]
102
83
)
103
84
agent_configuration_template = agent_configuration_template .replace (
104
- "SPIRE_SERVER_ADDRESS" , options . sd_server_address
85
+ "SPIRE_SERVER_ADDRESS" , configuration [ 'spire-server' ][ 'address' ]
105
86
)
106
87
agent_configuration_template = agent_configuration_template .replace (
107
- "SPIRE_SERVER_PORT " , str ( options . spire_server_port )
88
+ "SPIRE_SERVER_ADDRESS " , configuration [ 'spire-server' ][ 'port' ]
108
89
)
109
90
agent_configuration_template = agent_configuration_template .replace (
110
91
"SOCKETPATH" , options .socketpath
0 commit comments