Advise: Retriever install
log10x_advise_retrieverGenerate install, verify, or teardown plans for a Log10x Retriever from a DiscoverySnapshot, covering AWS or Azure storage steps, Helm release actions, and probes.
Instructions
Given a DiscoverySnapshot (from log10x_discover_env), produce an install/verify/teardown plan for the Log10x Retriever. Unlike Reporter + Receiver, the Retriever has no forwarder choice: it is a standalone set of workloads (indexer + query-handler + stream-worker) that read source logs from object storage through a queue and serve an HTTP query endpoint. Two storage providers, picked by storage_provider: aws (S3 input bucket with an indexing-results/ prefix, four SQS queues, an IRSA-annotated ServiceAccount), auto-detected from the discovery snapshot or supplied explicitly; azure (AKS, Azure Blob containers, four Azure Storage Queues, workload identity), where the chart's own provision-retriever.sh creates the resources and the plan quotes it. blockers carries the inputs a complete plan is still missing and the plan emits no steps while it is non-empty; the preflight table is the state report beside it, and a FAIL row there is reported, not a gate, so read preflight_summary.fail as well as blockers. Verify probes follow the provider: pods Ready, indexer processing, query endpoint responding, then S3 + SQS probes on aws and Blob + Storage Queue probes on azure. Teardown uninstalls the Helm release; on aws the S3 / SQS / IAM lifecycle stays with Terraform, on azure the last step runs the provisioning script with --destroy to delete the resource group it created.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Plan scope. Default: `all`. | |
| location | No | Azure region for the provisioning command, e.g. `eastus` (azure only). | |
| namespace | No | Target namespace. Default: snapshot.recommendations.suggestedNamespace. | |
| infra_mode | No | How the customer provisions AWS infra. **terraform** = emit .tf module block. **cli** = emit aws-cli commands. **existing** = infra already provisioned, wizard skips infra steps and jumps to helm values. Auto-detected as "existing" when the snapshot already has all four SQS URLs + IRSA. | |
| destination | No | Destination SIEM for the kept slice (e.g. `datadog`, `cloudwatch`, `splunk`). Gates SIEM down-tier sub-sections in the offload markdown. | |
| snapshot_id | Yes | ID returned by `log10x_discover_env`. The snapshot is cached for 30 min. | |
| azure_queues | No | Azure Storage Queue names on the storage account (azure only). Default: tenx-index / tenx-query / tenx-subquery / tenx-stream, matching the provisioning script. | |
| iam_role_arn | No | IAM role ARN for the Retriever ServiceAccount (IRSA) (module output: iam_role_arn). Auto-detected from snapshot. | |
| index_bucket | No | S3 path for indexed results (include prefix). Default: `<index_source_bucket>/indexing-results/`. | |
| release_name | No | Helm release name. Default: `my-retriever`. | |
| license_source | No | How the engine is licensed. Defaults to `"builtin"`: nothing is minted and no key is written, and the engine runs its built-in evaluation licence (10 nodes, 30 days from each start, airgapped). Pass `"paste"` with `license_jwt_paste` to wire a licence you hold into the values file. `"signin"` mints a user-scoped JWT (emits `signin_required` when no Auth0 session exists) and `"demo"` mints a 1-node, 14-day JWT; a minted JWT is never written to disk, so it is supplied at install time with `--set-string`. Omitting this arg on a later call keeps the earlier choice. | |
| resource_group | No | Azure resource group for the provisioning command and the teardown (azure only). | |
| azure_client_id | No | Client id of the user-assigned managed identity federated to the release ServiceAccount (azure only). The provisioning script writes it into the values file it produces, under `storage.azure.auth.clientId`. | |
| azure_tenant_id | No | Entra tenant id (azure only). The provisioning script writes it into the values file it produces, under `storage.azure.auth.tenantId`. | |
| index_container | No | Blob path for indexed results (azure only), as `account/container/path`. Default: `<storage_account>/tenx-index/tenx`. | |
| index_queue_url | No | SQS URL for index operations (module output: index_queue_url). Auto-detected from snapshot. | |
| input_container | No | Azure Blob container holding source logs (azure only). Bare container name, e.g. `logs`. | |
| query_queue_url | No | SQS URL for query operations (module output: query_queue_url). Auto-detected from snapshot. | |
| storage_account | No | Azure storage account holding the input and index containers (azure only). Flat namespace only: a hierarchical-namespace account reorders listings and is refused by the engine at construction. | |
| aks_cluster_name | No | AKS cluster the release installs into (azure only). Used by the provisioning command (`--create-aks` for a new cluster) and by the `az aks get-credentials` step that points kubectl at it. | |
| storage_provider | No | Which object store the Retriever reads. **aws** (default) = S3 buckets, four SQS queues, IRSA. **azure** = Azure Blob containers, four Azure Storage Queues, AKS workload identity, behind the chart's `storage.provider: azure` block. Auto-selected as "azure" when the resolved env-config offload destination has type `azure_blob`. Azure is read and index side: the Retriever indexes and queries blobs already in the container, and forwarder offload recipes stay S3-shaped. | |
| stream_queue_url | No | SQS URL for stream operations (module output: stream_queue_url). Auto-detected from snapshot. | |
| license_jwt_paste | No | License JWT supplied by the user when `license_source: "paste"`. | |
| subquery_queue_url | No | SQS URL for sub-query operations (module output: subquery_queue_url). Auto-detected from snapshot. | |
| index_source_bucket | No | S3 bucket for source logs (module output: index_source_bucket_name). Auto-filled from snapshot.recommendations.retrieverS3Bucket when present. |
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 |