Add leif
This commit is contained in:
parent
cc7a8fce86
commit
57d91aad58
1 changed files with 64 additions and 0 deletions
64
2025.leif
Executable file
64
2025.leif
Executable file
|
|
@ -0,0 +1,64 @@
|
||||||
|
#!/usr/bin/python3
|
||||||
|
import argparse
|
||||||
|
import subprocess
|
||||||
|
import textwrap
|
||||||
|
|
||||||
|
def act(cmd, dry_run=True, verbose=True):
|
||||||
|
if dry_run:
|
||||||
|
print(f"will execute: {cmd}")
|
||||||
|
return
|
||||||
|
if verbose:
|
||||||
|
print(cmd)
|
||||||
|
subprocess.run(cmd.split())
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
prog='leif',
|
||||||
|
formatter_class=argparse.RawTextHelpFormatter,
|
||||||
|
description=textwrap.dedent('''
|
||||||
|
Verktygslåda för att hantera och monitorera API Gateway-tjänstens systemd-tjänst och container.
|
||||||
|
'''),
|
||||||
|
epilog=textwrap.dedent('''
|
||||||
|
Kontakt: Integration, Team Flex <datautbyte@trafikverket.se>
|
||||||
|
|
||||||
|
För dokumentation, se wiki:
|
||||||
|
- wiki.trafikverket.local/IKC
|
||||||
|
'''))
|
||||||
|
parser.add_argument('-v', '--verbose',
|
||||||
|
help="Utökad utskrift vid körning",
|
||||||
|
action='store_true')
|
||||||
|
parser.add_argument('-d', '--dry-run',
|
||||||
|
help="Simulera åtgärd istället",
|
||||||
|
action='store_true')
|
||||||
|
subparsers = parser.add_subparsers(dest="action")
|
||||||
|
|
||||||
|
subparsers.add_parser("inspect", help="inspektera den körande containern")
|
||||||
|
logs_parser = subparsers.add_parser("logs", help="skriv ut containerns logg")
|
||||||
|
logs_parser.add_argument("-f", "--follow", action="store_true", help="svansa och följ loggen")
|
||||||
|
subparsers.add_parser("restart", help="starta om systemd-tjänsten")
|
||||||
|
subparsers.add_parser("shell", help="initiera ett bash-skal inuti den körande containern")
|
||||||
|
subparsers.add_parser("start", help="starta systemd-tjänsten")
|
||||||
|
subparsers.add_parser("status", help="skriv ut container-ID och upptid för den körande containern")
|
||||||
|
subparsers.add_parser("stop", help="stoppa systemd-tjänsten")
|
||||||
|
subparsers.add_parser("whoami", help="skriv ut containeravbildens ProGet-ID")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
args = parser.parse_args()
|
||||||
|
match args.action:
|
||||||
|
case "inspect":
|
||||||
|
act("podman inspect api_gateway", args.dry_run, args.verbose)
|
||||||
|
case "restart":
|
||||||
|
act("systemcl --user restart container-api-gateway", args.dry_run, args.verbose)
|
||||||
|
case "shell":
|
||||||
|
act("podman exec -it api_gateway /bin/bash", args.dry_run, args.verbose)
|
||||||
|
case "start":
|
||||||
|
act("systemcl --user start container-api-gateway", args.dry_run, args.verbose)
|
||||||
|
case "status":
|
||||||
|
act("podman ps --format '{{.ID}}'", args.dry_run, args.verbose)
|
||||||
|
case "stop":
|
||||||
|
act("systemcl --user stop container-api-gateway", args.dry_run, args.verbose)
|
||||||
|
case "whoami":
|
||||||
|
act("podman inspect api_gateway | grep Image", args.dry_run, args.verbose)
|
||||||
|
case "logs":
|
||||||
|
flags = "-f --tail 1 " if args.follow else ""
|
||||||
|
act(f"podman logs {flags}api_gateway", args.dry_run, args.verbose)
|
||||||
Loading…
Add table
Reference in a new issue