cli: add ioc commands
Deploy and restart modified services / deploy (push) Successful in 18s

This commit is contained in:
Benjamin Labrecque
2026-07-15 08:25:03 +02:00
parent 44335bf30d
commit 2e8b5b6f51
14 changed files with 240 additions and 12 deletions
+35
View File
@@ -0,0 +1,35 @@
import os
import sys
import ansible_runner
import typer
from core.utils import get_git_root
ioc = typer.Typer(no_args_is_help=True)
REPO_ROOT = get_git_root(__file__)
def run_playbook(playbook: str, vars: list[str]):
current_env = os.environ.copy()
current_env["ANSIBLE_CONFIG"] = f"{REPO_ROOT}/ansible/ansible.cfg"
extra_vars = [f"--extra-vars={var}" for var in vars]
out, err, rc = ansible_runner.run_command(
executable_cmd=f"ansible-playbook",
cmdline_args=[
playbook,
"-i",
f"{REPO_ROOT}/ansible/hosts.yml",
*extra_vars,
"-v",
],
envvars=current_env,
input_fd=sys.stdin,
output_fd=sys.stdout,
error_fd=sys.stderr,
)
print("rc: {}".format(rc))
print("out: {}".format(out))
print("err: {}".format(err))