This commit is contained in:
2025-12-02 19:08:37 +01:00
parent d25595b0db
commit 615af18e12

View File

@@ -13,6 +13,15 @@ from port import Portainer
import logging
VERSION="0.0.1"
defaults = {
"endpoint_id": "vm01",
"stack": "my_stack",
"deploy_mode": "git",
"autostart": True,
"stack_mode": "swarm"
}
parser = argparse.ArgumentParser(description="Portainer helper - use env vars or pass credentials.")
parser.add_argument("--base", "-b", default=os.getenv("PORTAINER_URL", "https://portainer.example.com"),
help="Base URL for Portainer (ENV: PORTAINER_URL)")
@@ -44,7 +53,7 @@ parser.add_argument("--stack", "-s", type=str, help="Stack ID for operations")
parser.add_argument("--token-only", action="store_true", help="Print auth token and exit")
parser.add_argument("--timeout", type=int, default=10, help="Request timeout seconds")
parser.add_argument("--deploy-mode","-m", type=str, default="git", help="Deploy mode")
parser.add_argument("--swarm","-w", action="store_true", help="Swarm mode")
parser.add_argument("--stack-mode","-w", default=None, help="Stack mode")
args = parser.parse_args()
print("Running version:", VERSION)
print("Environment:", args.site)
@@ -148,10 +157,13 @@ if __name__ == "__main__":
if args.action == "create_stack":
if args.endpoint_id == None:
args.endpoint_id = input("Endpoint ID is required for creating stacks : ")
args.endpoint_id = input("Endpoint ID is required for creating stacks : ") or defaults["endpoint_id"]
if args.stack == None:
args.stack = input("Stack name or ID is required for creating stacks : ")
por.create_stack(args.endpoint_id,args.stack, args.deploy_mode, args.autostart, args.swarm)
if args.stack_mode == None:
args.stack_mode = input("Stack mode (swarm or compose) default=swarm: ") or defaults["stack_mode"]
por.create_stack(args.endpoint_id,args.stack, args.deploy_mode, args.autostart, args.stack_mode)
sys.exit()
if args.action == "stop_stack":