Improving logging further

This commit is contained in:
2023-12-01 20:40:10 +01:00
parent a64fc40a16
commit 9b5a45290a

12
main.py
View File

@@ -102,23 +102,29 @@ if __name__ == '__main__':
client = PortainerClient(portainer_url=config.portainer_url, access_token=config.access_token) client = PortainerClient(portainer_url=config.portainer_url, access_token=config.access_token)
for stack in client.list_stacks(): for stack in client.list_stacks():
if stack['Status'] == 1:
endpoint = stack['EndpointId'] endpoint = stack['EndpointId']
stack_name = stack['Name'] stack_name = stack['Name']
if stack['Status'] == 1:
print(f"Checking {stack_name} for updates.")
containers = client.list_stack_containers(endpoint, stack_name) containers = client.list_stack_containers(endpoint, stack_name)
an_image_was_updated = False an_image_was_updated = False
for c in containers: for c in containers:
this_image_was_updated = client.update_image(endpoint, c['Image']) this_image_was_updated = client.update_image(endpoint, c['Image'])
if this_image_was_updated: if this_image_was_updated:
print(f"{c['Image']} was updated") print(f"{c['Image']} was updated.")
an_image_was_updated = True an_image_was_updated = True
if an_image_was_updated: if an_image_was_updated:
print(f"Restarting {stack_name}") print(f"{stack_name} was updated. Restarting...")
if endpoint == 2 and stack_name in ('portainer', 'traefik'): if endpoint == 2 and stack_name in ('portainer', 'traefik'):
update_local_stack(stack) update_local_stack(stack)
else: else:
client.upgrade_stack(stack) client.upgrade_stack(stack)
print(f"{stack_name} restarted.")
else:
print(f"{stack_name} is up to date. Skipping.")
os.system('docker image prune -fa') os.system('docker image prune -fa')