Compare commits

..

23 Commits

Author SHA1 Message Date
d215dd2615 build 2025-12-17 00:23:14 +01:00
0cbbb443f2 build 2025-12-17 00:10:12 +01:00
91702d8f4a build 2025-12-17 00:08:22 +01:00
4884ba41c4 build 2025-12-17 00:07:18 +01:00
ec47d331d7 build 2025-12-17 00:03:46 +01:00
cc6dc31409 build 2025-12-17 00:01:37 +01:00
609da77e77 build 2025-12-16 23:57:44 +01:00
17daad941e build 2025-12-16 23:55:58 +01:00
cd32ad1d3e build 2025-12-16 23:51:41 +01:00
45a0b0030c build 2025-12-16 23:49:36 +01:00
5d0b488b87 build 2025-12-16 23:47:04 +01:00
5df457bdcb build 2025-12-16 23:43:23 +01:00
8f207f2fad build 2025-12-16 23:41:19 +01:00
c0682d478d build 2025-12-16 23:35:45 +01:00
db1710e065 build 2025-12-16 23:34:22 +01:00
7bac5e84c8 build 2025-12-16 23:31:42 +01:00
3a0117c2a5 build 2025-12-16 23:29:18 +01:00
8b916572cb build 2025-12-16 23:28:03 +01:00
498b88c7ee build 2025-12-16 23:26:43 +01:00
497a1f7947 build 2025-12-16 23:23:58 +01:00
928e4daae6 build 2025-12-16 23:20:52 +01:00
926248fda7 build 2025-12-16 22:44:49 +01:00
ab9e93effe build 2025-12-16 21:28:23 +01:00
2 changed files with 32 additions and 20 deletions

48
port.py
View File

@@ -161,6 +161,7 @@ class Portainer:
data=payload,
headers={"X-Gotify-Key": "ASn_fIAd5OVjm8c"}
)
logger.debug(response.text)
# print("Status:", response.status_code)
# print("Response:", response.text)
pass
@@ -886,15 +887,21 @@ class Portainer:
values=service_tuples
).run()
elif self.args.service_id == "all":
service_ids = [s[0] for s in service_tuples if s[0] != "__ALL__" and s[0] != "__ONLY_CHECK__"]
service_ids = [s[0] for s in service_tuples if s[0] != "__ALL__" ]
else:
service_ids = [self.args.service_id]
if "__ONLY_CHECK__" in service_ids or self.args.update is False:
pull = False
print("Checking for updates only...")
if self.args.update is False:
if "__ONLY_CHECK__" in service_ids:
service_ids.remove("__ONLY_CHECK__")
pull = False
print("Checking for updates only...")
else:
pull = True
print("Checking for updates and pulling updates...")
else:
print("Checking for updates and pulling updates...")
pull = True
print("Checking for updates and pulling updates...")
if "__ALL__" in service_ids:
service_ids = [s[0] for s in service_tuples if s[0] != "__ALL__" and s[0] != "__ONLY_CHECK__"]
@@ -923,7 +930,7 @@ class Portainer:
print("?")
elif resp['Status'] == "outdated":
if pull:
print("Recreate")
self.recreate_container(service_id, pull)
#print(f"Service {service_dict[service_id]:<{longest}} : updated")
self.gotify_message(f"Service {service_dict[service_id]} updated")
@@ -963,25 +970,30 @@ class Portainer:
text="Choose a service:",
values=service_tuples
).run()
if "__ONLY_CHECK__" in service_ids:
self.args.update = False
else:
self.args.update = True
if "__ALL__" in service_ids:
service_ids = [s[0] for s in service_tuples if s[0] != "__ALL__" and s[0] != "__ONLY_CHECK__"]
elif self.args.service_id == "all":
service_ids = [s[0] for s in service_tuples if s[0] != "__ALL__" and s[0] != "__ONLY_CHECK__"]
else:
service_ids = [self.args.service_id]
if self.args.update is False:
if "__ONLY_CHECK__" in service_ids:
pull = False
print("Checking for updates only...")
else:
pull = True
print("Checking for updates and pulling updates...")
else:
if self.args.update:
pull = True
print("Checking for updates and pulling updates...")
if "__ALL__" in service_ids:
service_ids = [s[0] for s in service_tuples if s[0] != "__ALL__" and s[0] != "__ONLY_CHECK__"]
else:
pull = False
print("Checking for updates only...")
longest = 0
for a in service_dict.items():
if a[0] == "__ONLY_CHECK__":
continue
# print(a[1])
if len(a[1]) > longest:
longest = len(a[1])
@@ -1082,7 +1094,7 @@ class Portainer:
def recreate_container(self,service_id, pull=False):
"""Restart a service on an endpoint."""
path = f"/docker/{self.endpoint_id}/containers/{service_id}/recreate"
#print(path)
print(path)
params={"pullImage": pull}
try:
resp = self._api_post(path, json=params, timeout=20)
@@ -1097,7 +1109,7 @@ class Portainer:
params={"serviceID": service_id, "pullImage": pool}
try:
resp = self._api_put(path, json=params, timeout=20)
print(resp)
# print(resp)
except ValueError as e:
print(f"Error restarting service: {e}")
return []

View File

@@ -39,7 +39,7 @@ else:
raise Exception("Failed to authenticate with Vault")
# Specify the mount point of your KV engine
VERSION = "0.1.14"
VERSION = "0.1.16"
defaults = {
"endpoint_id": "vm01",
@@ -163,7 +163,7 @@ update_configs(cur_config)
if args.debug:
input(cur_config)
_LOG_LEVEL = "INFO"
_LOG_LEVEL = "DEBUG"
LOG_FILE = "/tmp/portainer.log"
if _LOG_LEVEL == "DEBUG":
logging.basicConfig(