Compare commits

4 Commits

Author SHA1 Message Date
root
0086878d57 added more .env stuff 2024-06-28 20:15:14 -05:00
root
2ed9f3345d added some dotenv stuff 2024-06-28 20:10:47 -05:00
root
50dd0df84f some error tolerance 2024-06-28 20:10:04 -05:00
John Lancaster
e17894e49c added docker sdk to dependencies 2024-06-15 15:49:34 -05:00
7 changed files with 22 additions and 6 deletions

View File

@@ -7,7 +7,7 @@ Purpose:
## Environment Variables
Recommended to put these in the relevant `~/.bashrc` file
Put these in a `.env` file in the directory that the backup will be run from.
| Env Variable | Description |
|---------------------|--------------------------------------------------------------------------------------------|

View File

@@ -12,4 +12,4 @@ authors = [
license = { file = "LICENSE" }
requires-python = ">=3.10"
dependencies = ["rich", "requests", "click"]
dependencies = ["rich", "requests", "click", "docker", "python-dotenv"]

View File

@@ -3,3 +3,5 @@ ruff
rich
requests
click
docker
python-dotenv

View File

@@ -81,6 +81,7 @@ def main(
logging.getLogger('urllib3.connectionpool').setLevel('WARNING')
if project is not None and services is not None:
logger.debug(f'Using project {project} and stopping services: {services}')
decorator = manage_containers(project=project, services=services.split(','))
func = decorator(run)
else:
@@ -96,4 +97,10 @@ def main(
if __name__ == '__main__':
from dotenv import load_dotenv
from pathlib import Path
dotenv_file = Path.cwd() / '.env'
print(dotenv_file)
load_dotenv(dotenv_path=dotenv_file)
main()

View File

@@ -15,11 +15,12 @@ def manage_containers(project: str, services: list[str]):
try:
project_containers = (
c
for c in client.containers.list()
if c.labels['com.docker.compose.project'] == project
for c in client.containers.list(all=True)
if c.labels.get('com.docker.compose.project', False)
)
service_dict: dict[str, Container] = {
c.labels['com.docker.compose.service']: c for c in project_containers
service: c for c in project_containers
if (service := c.labels.get('com.docker.compose.service', False))
}
containers: list[Container] = [service_dict[s] for s in services]
except Exception as e:

View File

@@ -95,4 +95,7 @@ def main(loki_url: str, dry_run: bool, **kwargs):
if __name__ == '__main__':
from dotenv import load_dotenv
load_dotenv()
main()

View File

@@ -35,4 +35,7 @@ def main(loki_url: str = None):
if __name__ == '__main__':
from dotenv import load_dotenv
load_dotenv()
main()