Emit a sample-export script for the fenced POC
log10x_emit_sample_planGenerate a read-only script to export a log sample from your own SIEM using your own credentials, without the server contacting anything or running it for you.
Instructions
Render a read-only shell script that exports a log sample out of the user's OWN log analyzer, with the user's OWN credentials, on a machine the user chooses — and then stop. This server does not run the script and, in the fenced profile, could not: it runs inside a container started with --network none. That split is the point. Code that sees log data has no network; code that has network is the user's own aws / curl driven by a script short enough to read once. Use this as step 2 of the fenced POC (step 1 is minting the licence with one visible curl, step 3 is running log10x_poc_from_local inside the fenced container over the exported files, step 4 is verifying the fence with docker inspect and by turning Wi-Fi off). Also use it whenever the credentials live somewhere this process does not — a jump host, a locked-down laptop, another team. Args: siem (required: cloudwatch / splunk / elasticsearch / opensearch / datadog), window (default 14d), target_event_count (default 1,000,000 — the same default log10x_poc_from_siem uses, so both paths sample the same size), scope, query, output_dir (default ./poc/logs), write_script (default true, writes export-sample.sh mode 0755 in the working directory). Returns the script text, the read-only API operations and credential variables it touches, a review checklist, and the exact log10x_poc_from_local arguments to call next. The sampling matches log10x_poc_from_siem bucket for bucket — same stratified sub-windows, same per-bucket cap — so a fenced POC and a credentialed POC over the same window differ because the logs differ. Emitted scripts contain no log10x hostname; the server refuses to return one that does. ClickHouse, Azure Monitor, Coralogix, GCP Logging and Sumo Logic are follow-up work. Read-only: it renders text and writes one script file; it contacts nothing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| siem | Yes | Which log analyzer to export the sample from. One script per analyzer: `cloudwatch` (aws CLI: DescribeLogGroups + FilterLogEvents), `splunk` (search/jobs/export), `elasticsearch` and `opensearch` (_cat/indices + _search), `datadog` (v2 logs search). ClickHouse, Azure Monitor, Coralogix, GCP Logging and Sumo Logic are follow-up work — for those, export plain text yourself, one log message per line, and run the POC over it. | |
| query | No | Analyzer-native filter layered on top of `scope`: a CloudWatch filter pattern, an SPL fragment, a Lucene query_string for Elasticsearch, a Datadog query. Narrowing here narrows what the savings projection covers, so say so in the report if you use it. | |
| scope | No | Analyzer-native scope. CloudWatch: log group name or prefix (`/aws/ecs/*` — the asterisks are stripped, CloudWatch matches on prefix). Splunk: index name. Elasticsearch / OpenSearch: index pattern (default `logs-*`). Datadog: index name. Omitted means everything the credentials can read. | |
| window | No | How far back to sample. Accepts `1h`, `24h`, `7d`, `14d`, `30d`. Default `14d`, matching `log10x_poc_from_siem` — a wide window is what makes first-seen, growth and stable-versus-new readable at all. | 14d |
| output_dir | No | Where the script writes the exported sample, relative to wherever the user runs it. Default `./poc/logs`, which is the directory the documented `docker run` line mounts read-only at /data. | |
| write_script | No | Default true: also write the script next to the working directory as `export-sample.sh` (mode 0755) so the user can read it in an editor rather than out of a chat transcript. Set false to get the text back and nothing on disk. | |
| target_event_count | No | Target event count for the export. Default 1,000,000 (~500 MB at 500 B average) — the same default `log10x_poc_from_siem` uses, so a fenced POC and a credentialed one see samples of the same size. Lower it when the export has to fit a laptop or a coffee break. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| tool | Yes | ||
| view | No | summary | |
| images | No | ||
| actions | No | ||
| summary | Yes | ||
| warnings | No | ||
| truncated | No | ||
| next_cursor | No | ||
| render_hint | No | ||
| generated_at | Yes | ||
| schema_epoch | Yes | ||
| schema_version | Yes |