collect: expose interval, host, port, log-dir as optional CLI overrides

-i/--interval, --host, --port, --log-dir can now be passed on the
command line; each overrides the corresponding credentials file value
when given. Defaults remain unchanged (300 s, 0.0.0.0, 9999, ./logs).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-26 14:55:30 +02:00
co-authored by Claude Sonnet 4.6
parent 2adebf82ca
commit d53202822e
+32 -4
View File
@@ -192,6 +192,30 @@ def main() -> None:
metavar="N", metavar="N",
help="Keep only the last N records per file (default: unlimited)", help="Keep only the last N records per file (default: unlimited)",
) )
p.add_argument(
"-i", "--interval",
type=int,
default=None,
metavar="SECONDS",
help="Collection interval in seconds (overrides credentials file, default: 300)",
)
p.add_argument(
"--host",
default=None,
help="Push server bind address (overrides credentials file, default: 0.0.0.0)",
)
p.add_argument(
"--port",
type=int,
default=None,
help="Push server TCP port (overrides credentials file, default: 9999)",
)
p.add_argument(
"--log-dir",
default=None,
metavar="DIR",
help="Directory for rotating log files (overrides credentials file, default: ./logs)",
)
p.add_argument("-v", "--verbose", action="store_true", help="Enable debug logging") p.add_argument("-v", "--verbose", action="store_true", help="Enable debug logging")
p.add_argument( p.add_argument(
"--diff", "--diff",
@@ -241,10 +265,14 @@ def main() -> None:
else: else:
args.domains = raw_domains or "charging,measurements,readiness" args.domains = raw_domains or "charging,measurements,readiness"
args.interval = int(creds_data.get("interval_s", 300)) if args.interval is None:
args.host = creds_data.get("host", "0.0.0.0") args.interval = int(creds_data.get("interval_s", 300))
args.port = int(creds_data.get("port", 9999)) if args.host is None:
args.log_dir = creds_data.get("log_dir", "./logs") args.host = creds_data.get("host", "0.0.0.0")
if args.port is None:
args.port = int(creds_data.get("port", 9999))
if args.log_dir is None:
args.log_dir = creds_data.get("log_dir", "./logs")
if not args.dry and (not args.username or not args.password): if not args.dry and (not args.username or not args.password):
p.error( p.error(