This commit is contained in:
2025-12-01 18:10:46 +01:00
parent 117da5fc5d
commit 2320ff1b53
2 changed files with 22 additions and 3 deletions

12
port.py
View File

@@ -10,7 +10,7 @@ from concurrent.futures import ThreadPoolExecutor
logger = logging.getLogger(__name__)
from tabulate import tabulate
from git import Repo # pip install gitpython
import base64
class Portainer:
"""
Simple wrapper around the module-level Portainer helper functions.
@@ -694,3 +694,13 @@ class Portainer:
def __repr__(self):
pass
def create_secret(self, name, value, endpoint_id=None, timeout=None):
endpoint_id = int(self.endpoints["by_name"][endpoint_id])
path = f"/endpoints/{endpoint_id}/docker/secrets/create"
encoded = base64.b64encode(value.encode()).decode()
data = {
"Name": name,
"Data": encoded
}
self.api_post(path, data, timeout=timeout)

View File

@@ -30,6 +30,7 @@ parser.add_argument("--get-stack", metavar="NAME_OR_ID", help="Get stack by name
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("--stop-stack", "-o", action='store_true')
parser.add_argument("--secrets", "-q", action='store_true')
parser.add_argument("--debug", "-D", action='store_true')
parser.add_argument("--create-stack","-n", action='store_true')
parser.add_argument("--create-stack_new2","-N", action='store_true')
@@ -104,9 +105,17 @@ if __name__ == "__main__":
token = portainer_api_key
# Example: list endpoints
por = Portainer(base, token)
if args.secrets:
secrets = {
"gitea_runner_registration_token": "8nmKqJhkvYwltmNfF2o9vs0tzo70ufHSQpVg6ymb",
}
if args.delete_stack:
por.delete_stack(args.endpoint_id,args.stack,)
for key, value in secrets.items():
por.create_secret(key, value, args.endpoint_id, args.timeout)
sys.exit()
if args.delete_stack:
por.delete_stack(args.endpoint_id, args.stack,)
sys.exit()
if args.create_stack: