This commit is contained in:
2025-12-02 18:07:51 +01:00
parent 7bff9cc3b4
commit 90f5fe38b3

View File

@@ -30,9 +30,7 @@ parser.add_argument("--delete-stack", "-d", action="store_true", help="Delete st
parser.add_argument("--update-status", "-S", action="store_true", help="Update status") parser.add_argument("--update-status", "-S", action="store_true", help="Update status")
parser.add_argument("--get-stack", metavar="NAME_OR_ID", help="Get stack by name or numeric id") parser.add_argument("--get-stack", metavar="NAME_OR_ID", help="Get stack by name or numeric id")
parser.add_argument("--action", "-a", type=str, default=None, help="Action to perform") parser.add_argument("--action", "-a", type=str, default=None, help="Action to perform")
parser.add_argument("--autostart", "-Z", action="store_true", help="Auto-start created stacks")
parser.add_argument("--autostart", "-a", action="store_true", help="Auto-start created stacks")
parser.add_argument("--start-stack", "-x", action='store_true') parser.add_argument("--start-stack", "-x", action='store_true')
parser.add_argument("--stop-stack", "-o", action='store_true') parser.add_argument("--stop-stack", "-o", action='store_true')
parser.add_argument("--secrets", "-q", action='store_true') parser.add_argument("--secrets", "-q", action='store_true')
@@ -109,7 +107,7 @@ if __name__ == "__main__":
# Example usage: set PORTAINER_USER and PORTAINER_PASS in env, or pass literals below. # Example usage: set PORTAINER_USER and PORTAINER_PASS in env, or pass literals below.
#token = get_portainer_token(base,"admin","l4c1j4yd33Du5lo") # or get_portainer_token(base, "admin", "secret") #token = get_portainer_token(base,"admin","l4c1j4yd33Du5lo") # or get_portainer_token(base, "admin", "secret")
if args.action == None: if args.action == None:
actions = ["get-vms", "get-vms-all", "start", "stop", "delete", "rollback", "snapshot", "clone", "update_hosts"] actions = ["delete_stack","create_stack","stop_stack","start_stack","list_stacks","update_stack","secrets"]
print("Possible actions: ") print("Possible actions: ")
i = 1 i = 1
for a in actions: for a in actions:
@@ -121,7 +119,8 @@ if __name__ == "__main__":
token = portainer_api_key token = portainer_api_key
# Example: list endpoints # Example: list endpoints
por = Portainer(base, token) por = Portainer(base, token)
if args.secrets:
if args.action == "secrets":
if args.endpoint_id == None: if args.endpoint_id == None:
args.endpoint_id = input("Endpoint ID is required for creating secrets : ") args.endpoint_id = input("Endpoint ID is required for creating secrets : ")
@@ -137,23 +136,23 @@ if __name__ == "__main__":
print(res) print(res)
sys.exit() sys.exit()
if args.delete_stack: if args.action == "delete_stack":
por.delete_stack(args.endpoint_id, args.stack,) por.delete_stack(args.endpoint_id, args.stack,)
sys.exit() sys.exit()
if args.create_stack: if args.action == "create_stack":
por.create_stack(args.endpoint_id,args.stack, args.deploy_mode, args.autostart, args.swarm) por.create_stack(args.endpoint_id,args.stack, args.deploy_mode, args.autostart, args.swarm)
sys.exit() sys.exit()
if args.stop_stack: if args.action == "stop_stack":
por.stop_stack(args.stack,args.endpoint_id) por.stop_stack(args.stack,args.endpoint_id)
sys.exit() sys.exit()
if args.start_stack: if args.action == "start_stack":
por.start_stack(args.stack,args.endpoint_id) por.start_stack(args.stack,args.endpoint_id)
sys.exit() sys.exit()
if args.list_stacks: if args.action == "list_stacks":
por.print_stacks(args.endpoint_id) por.print_stacks(args.endpoint_id)
print(json.dumps(por.all_data,indent=2)) print(json.dumps(por.all_data,indent=2))
sys.exit() sys.exit()