add files

This commit is contained in:
lucaspalomodevelop 2023-12-13 21:31:29 +01:00
parent df9e26f746
commit 18a46991b4
3 changed files with 103 additions and 0 deletions

19
DockerDomunicator.py Normal file
View 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
View 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
View 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