ops: add incident collection pipeline

This commit is contained in:
server
2026-04-14 13:21:02 +02:00
parent 78518daed0
commit 1a9a643335
8 changed files with 322 additions and 0 deletions

View File

@@ -25,6 +25,7 @@ def parse_args() -> argparse.Namespace:
parser.add_argument("--systemd-dir", default="/etc/systemd/system", help="systemd unit destination")
parser.add_argument("--libexec-dir", default="/usr/local/libexec", help="Helper script destination")
parser.add_argument("--bin-dir", default="/usr/local/bin", help="Binary/script destination")
parser.add_argument("--sbin-dir", default="/usr/local/sbin", help="Root-only binary/script destination")
parser.add_argument("--env-file", default="/etc/metin/metin.env", help="Optional EnvironmentFile path for runtime overrides")
parser.add_argument("--wait-host", default="127.0.0.1", help="DB readiness host")
parser.add_argument("--wait-port", type=int, default=9000, help="DB readiness port")
@@ -100,6 +101,7 @@ def main() -> int:
systemd_dir = Path(args.systemd_dir)
libexec_dir = Path(args.libexec_dir)
bin_dir = Path(args.bin_dir)
sbin_dir = Path(args.sbin_dir)
selected_channels = resolve_channels(args)
instances = resolve_instances(selected_channels)
@@ -141,6 +143,11 @@ def main() -> int:
render_template(BIN_DIR / "metinctl.in", template_values),
0o755,
)
write_text(
sbin_dir / "metin-collect-incident",
render_template(BIN_DIR / "metin-collect-incident.in", template_values),
0o700,
)
verify_units = [str(systemd_dir / unit_name) for unit_name in unit_names]
run(["systemd-analyze", "verify", *verify_units])