Compare commits
	
		
			No commits in common. "d39e0c04e5773450e3be85f75f956f275e444361" and "9b6f9b6656e79141420b7cb9321672a2d84721c1" have entirely different histories.
		
	
	
		
			d39e0c04e5
			...
			9b6f9b6656
		
	
		
@ -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 = {"health", "reflex", "minecraft"}
 | 
					    games = {"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,19 +21,11 @@ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -21,22 +21,31 @@ cluster = {
 | 
				
			|||||||
game_servers = {
 | 
					game_servers = {
 | 
				
			||||||
  namespace = "games"
 | 
					  namespace = "games"
 | 
				
			||||||
  configs = {
 | 
					  configs = {
 | 
				
			||||||
 | 
					    # minecraft = {
 | 
				
			||||||
 | 
					    #   image = "itzg/minecraft-server"
 | 
				
			||||||
 | 
					    #   cpu   = "1000m"
 | 
				
			||||||
 | 
					    #   mem   = "2048Mi"
 | 
				
			||||||
 | 
					    #   port  = {
 | 
				
			||||||
 | 
					    #     expose = 30808
 | 
				
			||||||
 | 
					    #     internal = 80
 | 
				
			||||||
 | 
					    #   }
 | 
				
			||||||
 | 
					    # }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
admin_services = {
 | 
					admin_services = {
 | 
				
			||||||
  namespace = "admin-services"
 | 
					  namespace = "admin-services"
 | 
				
			||||||
  configs = {
 | 
					  configs = {
 | 
				
			||||||
    health = {
 | 
					    # health = {
 | 
				
			||||||
      image = "nginx:latest"
 | 
					    #   image = "nginx:latest"
 | 
				
			||||||
      name  = "health"
 | 
					    #   name  = "health"
 | 
				
			||||||
      cpu   = "200m"
 | 
					    #   cpu   = "200m"
 | 
				
			||||||
      mem   = "64Mi"
 | 
					    #   mem   = "64Mi"
 | 
				
			||||||
      port  = {
 | 
					    #   port  = {
 | 
				
			||||||
        notes    = "Basic nginx sanity check service"
 | 
					    #     notes    = "Basic nginx sanity check service"
 | 
				
			||||||
        expose   = 30800
 | 
					    #     expose   = 30800
 | 
				
			||||||
        internal = 80
 | 
					    #     internal = 80
 | 
				
			||||||
      }
 | 
					    #   }
 | 
				
			||||||
    }
 | 
					    # }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user