collect: add diff to credentials file; --diff overrides it
Change --diff from store_true to default=None so CLI presence is
distinguishable from the JSON default. If not given on CLI, reads
creds_data.get("diff", False). Updated install.sh template and README.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -82,6 +82,7 @@ All connection and collection settings live in a single JSON file:
|
||||
| `host` | `"0.0.0.0"` | Push server bind address |
|
||||
| `port` | `9999` | Push server TCP port |
|
||||
| `log_dir` | `"./logs"` | Directory for rotating JSON log files |
|
||||
| `diff` | `false` | Enable diff mode for push server transmission |
|
||||
|
||||
### CLI reference
|
||||
|
||||
@@ -97,7 +98,7 @@ CLI flags override the corresponding credentials file value when given.
|
||||
| `--port PORT` | `port` | Push server TCP port |
|
||||
| `--log-dir DIR` | `log_dir` | Directory for rotating log files |
|
||||
| `--max-records N` | — | Keep only the last N records per file |
|
||||
| `--diff` | — | Send diffs instead of full snapshots (must match client setting) |
|
||||
| `--diff` | `diff` | Send diffs instead of full snapshots (must match client setting) |
|
||||
| `--dry` | — | Skip WeConnect; run push server only (for testing) |
|
||||
| `-v` | — | Verbose / debug logging |
|
||||
| `--list-domains` | — | Print available domains and exit |
|
||||
|
||||
+4
-1
@@ -220,7 +220,8 @@ def main() -> None:
|
||||
p.add_argument(
|
||||
"--diff",
|
||||
action="store_true",
|
||||
help="Send diffs instead of full snapshots over the push server (default: off)",
|
||||
default=None,
|
||||
help="Send diffs instead of full snapshots over the push server (overrides credentials file, default: off)",
|
||||
)
|
||||
p.add_argument(
|
||||
"--dry",
|
||||
@@ -273,6 +274,8 @@ def main() -> 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 args.diff is None:
|
||||
args.diff = bool(creds_data.get("diff", False))
|
||||
|
||||
if not args.dry and (not args.username or not args.password):
|
||||
p.error(
|
||||
|
||||
+2
-1
@@ -60,7 +60,8 @@ if [[ ! -f "$CREDS_FILE" ]]; then
|
||||
"interval_s": 300,
|
||||
"host": "0.0.0.0",
|
||||
"port": 9999,
|
||||
"log_dir": "./logs"
|
||||
"log_dir": "./logs",
|
||||
"diff": false
|
||||
}
|
||||
EOF
|
||||
chmod 600 "$CREDS_FILE"
|
||||
|
||||
Reference in New Issue
Block a user