mirror of
https://github.com/lucaspalomodevelop/DoOrg.git
synced 2026-03-13 14:34:35 +00:00
add rest api and cli basics
This commit is contained in:
parent
b0a64d8ac0
commit
b8435faeb0
@ -17,3 +17,11 @@ class DockerComunicator:
|
||||
return service.status == "running"
|
||||
except docker.errors.NotFound:
|
||||
return False
|
||||
|
||||
def start_service(self, service_name: str):
|
||||
service = self.get_service(service_name)
|
||||
service.start()
|
||||
|
||||
def stop_service(self, service_name: str):
|
||||
service = self.get_service(service_name)
|
||||
service.stop()
|
||||
|
||||
74
main.py
74
main.py
@ -1,77 +1,21 @@
|
||||
#!/bin/python3
|
||||
|
||||
import os
|
||||
import sys
|
||||
import DockerComunicator as DockerComunicator
|
||||
import cli as cli
|
||||
import api as api
|
||||
|
||||
|
||||
VERSION = "0.0.1"
|
||||
call_dir = ""
|
||||
|
||||
DockerComunicator = DockerComunicator.DockerComunicator()
|
||||
|
||||
|
||||
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
|
||||
cli = cli.cli()
|
||||
api = api.api()
|
||||
|
||||
|
||||
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 DockerComunicator.is_service_running(service) else style.RED
|
||||
)
|
||||
print(color + " - " + service + style.RESET)
|
||||
|
||||
print("Docker services:")
|
||||
docker_services = DockerComunicator.get_services()
|
||||
for service in docker_services:
|
||||
print(" - " + service.name)
|
||||
if sys.argv[1] == "cli":
|
||||
cli.run()
|
||||
if sys.argv[1] == "api":
|
||||
api.run()
|
||||
|
||||
@ -1,7 +1,15 @@
|
||||
annotated-types==0.6.0
|
||||
anyio==4.2.0
|
||||
certifi==2023.11.17
|
||||
charset-normalizer==3.3.2
|
||||
docker==7.0.0
|
||||
fastapi==0.108.0
|
||||
idna==3.6
|
||||
packaging==23.2
|
||||
pydantic==2.5.3
|
||||
pydantic_core==2.14.6
|
||||
requests==2.31.0
|
||||
sniffio==1.3.0
|
||||
starlette==0.32.0.post1
|
||||
typing_extensions==4.9.0
|
||||
urllib3==2.1.0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user