23 lines
		
	
	
		
			466 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			466 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env python3
 | |
| 
 | |
| import re
 | |
| import consul
 | |
| import docker
 | |
| 
 | |
| running = {}
 | |
| 
 | |
| c = consul.Consul()
 | |
| client = docker.from_env()
 | |
| 
 | |
| for services in c.catalog.services():
 | |
|     for service in services:
 | |
| 
 | |
|         idx, details = c.catalog.service(service)
 | |
|         if len(details) == 0:
 | |
|             continue
 | |
| 
 | |
|  
 | |
|         for item in details:
 | |
|             link = item['ServiceName']+".service."+item['Datacenter']+".consul:"+str(item['ServicePort'])
 | |
|             print("http://"+link)
 |