Adding health to games selector set
This commit is contained in:
		
							parent
							
								
									b99525955e
								
							
						
					
					
						commit
						d39e0c04e5
					
				| @ -8,7 +8,7 @@ def get_args() -> Namespace: | |||||||
|         prog="Cluster Search Thing", |         prog="Cluster Search Thing", | ||||||
|         description="General utility for finding resources for game server bot" |         description="General utility for finding resources for game server bot" | ||||||
|     ) |     ) | ||||||
|     games = {"reflex", "minecraft"} |     games = {"health", "reflex", "minecraft"} | ||||||
|     parser.add_argument('-g', '--game', required=False, choices=games) |     parser.add_argument('-g', '--game', required=False, choices=games) | ||||||
| 
 | 
 | ||||||
|     admin = {"health"} |     admin = {"health"} | ||||||
| @ -21,11 +21,19 @@ def k8s_api(config_path: str) -> client.api.core_v1_api.CoreV1Api: | |||||||
| 
 | 
 | ||||||
| def get_admin_service_details(args: ArgumentParser, api: client.api.core_v1_api.CoreV1Api): | def get_admin_service_details(args: ArgumentParser, api: client.api.core_v1_api.CoreV1Api): | ||||||
|     print('admin thing requested', args.admin) |     print('admin thing requested', args.admin) | ||||||
|  |     services = api.list_service_for_all_namespaces(label_selector=f'app={args.admin}') | ||||||
|  |     if len(services.items) == 0: | ||||||
|  |         print(f'Unable to find {args.admin} amongst the admin-services') | ||||||
|  |         return | ||||||
|  |      | ||||||
|  |     port = services.items[0].spec.ports[0].port | ||||||
|  |     node_ips = list(filter(lambda a: a.type == 'ExternalIP', api.list_node().items[0].status.addresses)) | ||||||
|  |     ipv4 = list(filter(lambda item: not re.match('[\d\.]{3}\d', item.address), node_ips))[0].address | ||||||
|  |     ipv6 = list(filter(lambda item: re.match('[\d\.]{3}\d', item.address), node_ips))[0].address | ||||||
|  |      | ||||||
|  |     print(f'{args.admin} --> {ipv4}:{port} ~~> {ipv6}:{port}') | ||||||
| 
 | 
 | ||||||
| def get_game_server_ip(args: ArgumentParser, api: client.api.core_v1_api.CoreV1Api): | def get_game_server_ip(args: ArgumentParser, api: client.api.core_v1_api.CoreV1Api): | ||||||
|     pods = api.list_pod_for_all_namespaces(label_selector=f'app={args.game}') |  | ||||||
|     node_name = pods.items[0].spec.node_name |  | ||||||
| 
 |  | ||||||
|     services = api.list_service_for_all_namespaces(label_selector=f'app={args.game}') |     services = api.list_service_for_all_namespaces(label_selector=f'app={args.game}') | ||||||
|     port = services.items[0].spec.ports[0].port |     port = services.items[0].spec.ports[0].port | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user