mirror of
https://github.com/lucaspalomodevelop/DoOrg.git
synced 2026-03-12 22:27:21 +00:00
add files
This commit is contained in:
parent
df9e26f746
commit
18a46991b4
19
DockerDomunicator.py
Normal file
19
DockerDomunicator.py
Normal file
@ -0,0 +1,19 @@
|
||||
import docker
|
||||
|
||||
|
||||
class DockerDomunicator:
|
||||
def __init__(self):
|
||||
self.docker_client = docker.from_env()
|
||||
|
||||
def get_services(self):
|
||||
return self.docker_client.containers.list()
|
||||
|
||||
def get_service(self, service_name):
|
||||
return self.docker_client.containers.get(service_name)
|
||||
|
||||
def is_service_running(self, service_name: str):
|
||||
try:
|
||||
service = self.get_service(service_name)
|
||||
return service.status == "running"
|
||||
except docker.errors.NotFound:
|
||||
return False
|
||||
77
main.py
Executable file
77
main.py
Executable file
@ -0,0 +1,77 @@
|
||||
#!/bin/python3
|
||||
|
||||
import os
|
||||
import DockerDomunicator as DockerDomunicator
|
||||
|
||||
|
||||
VERSION = "0.0.1"
|
||||
call_dir = ""
|
||||
|
||||
DockerDomunicator = DockerDomunicator.DockerDomunicator()
|
||||
|
||||
|
||||
class style:
|
||||
BLACK = "\033[30m"
|
||||
RED = "\033[31m"
|
||||
GREEN = "\033[32m"
|
||||
YELLOW = "\033[33m"
|
||||
BLUE = "\033[34m"
|
||||
MAGENTA = "\033[35m"
|
||||
CYAN = "\033[36m"
|
||||
WHITE = "\033[37m"
|
||||
UNDERLINE = "\033[4m"
|
||||
RESET = "\033[0m"
|
||||
|
||||
|
||||
accepted_dockerfiles = [
|
||||
"docker-compose.yml",
|
||||
"docker-compose.yaml",
|
||||
"docker-compose.yml.j2",
|
||||
"docker-compose.yaml.j2",
|
||||
]
|
||||
|
||||
|
||||
def is_valid_service(service):
|
||||
service_dir = call_dir + "/services/" + service
|
||||
for dockerfile in accepted_dockerfiles:
|
||||
if os.path.isfile(service_dir + "/" + dockerfile):
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def get_services():
|
||||
services = []
|
||||
services_dir = call_dir + "/services"
|
||||
for service in os.listdir(services_dir):
|
||||
# print("Checking service " + service)
|
||||
if os.path.isdir(services_dir + "/" + service) and is_valid_service(service):
|
||||
services.append(service)
|
||||
else:
|
||||
print(
|
||||
style.RED
|
||||
+ "Service "
|
||||
+ services_dir
|
||||
+ "/"
|
||||
+ service
|
||||
+ " is not a valid service"
|
||||
+ style.RESET
|
||||
)
|
||||
return services
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
call_dir = os.getcwd()
|
||||
print("DoOrg v" + VERSION)
|
||||
print("call dir: " + call_dir)
|
||||
services = get_services()
|
||||
print("Services:")
|
||||
for service in services:
|
||||
color = (
|
||||
style.GREEN if DockerDomunicator.is_service_running(service) else style.RED
|
||||
)
|
||||
print(color + " - " + service + style.RESET)
|
||||
|
||||
print("Docker services:")
|
||||
docker_services = DockerDomunicator.get_services()
|
||||
for service in docker_services:
|
||||
print(" - " + service.name)
|
||||
7
requirements.txt
Normal file
7
requirements.txt
Normal file
@ -0,0 +1,7 @@
|
||||
certifi==2023.11.17
|
||||
charset-normalizer==3.3.2
|
||||
docker==7.0.0
|
||||
idna==3.6
|
||||
packaging==23.2
|
||||
requests==2.31.0
|
||||
urllib3==2.1.0
|
||||
Loading…
x
Reference in New Issue
Block a user