---
icon: material/rocket-launch-outline
---

The 10x Engine runs in an extensible array of environments including container, edge, CI/CD, and dev environments.

The Java `Launcher API` provides a simple interface for launching different [flavors](https://doc.log10x.com/engine/flavors/) of the 10x Engine from a range of entry points, including web servers, serverless functions, Kubernetes DaemonSets, CI/CD pipelines, and local development setups.

## :octicons-command-palette-24: Command Line

The command line launcher provide an easy way to start the `run` and `compile` pipelines using [launch arguments](https://doc.log10x.com/config/cli/) within dev, test and CI/CD environments.

:fontawesome-brands-java: Launcher code: [RunCloud.java](https://github.com/log-10x/l1x-inc/blob/main/pipeline/run-cloud/src/main/java/com/log10x/ext/cloud/run/RunCloud.java){target="\_blank"}.

:material-download: Install: [Win/Nix/OSX/Docker](https://doc.log10x.com/install/).

## :material-network-outline: Edge 

The edge launcher starts a `run` pipeline using the [Runtime](https://doc.log10x.com/engine/flavors/#runtime) flavor (i.e., Graal based) for edge apps executing as part of k8s daemonsets.

:fontawesome-brands-java: Launcher code: [RunEdge.java](https://github.com/log-10x/l1x-inc/blob/main/pipeline/run-edge/src/main/java/com/log10x/ext/edge/run/RunEdge.java){target="\_blank"}.

:material-rocket-launch-outline: In-cluster apps: [Reporter](https://doc.log10x.com/apps/reporter/deploy/) (DaemonSet), [Receiver](https://doc.log10x.com/apps/receiver/deploy/) (sidecar, Filter and [Compact](https://doc.log10x.com/apps/receiver/compact/) modes).

## :simple-quarkus: Quarkus

The [Quarkus](https://quarkus.io/){target="\_blank"} launcher executes `run` pipelines in response to REST requests within Cloud and k8s environments.

:fontawesome-brands-java: Launcher code: [Pipeline.java](https://github.com/log-10x/l1x-inc/blob/main/pipeline/run-quarkus/src/main/java/com/log10x/ext/quarkus/endpoints/Pipeline.java){target="\_blank"}.

:simple-helm: Deploy: [k8s Chart](https://github.com/log-10x/helm-charts/tree/main/charts/log10x-quarkus){target="\_blank"}.

:material-rocket-launch-outline: Example app: [Retriever](https://doc.log10x.com/apps/retriever/).

The Quarkus launcher exposes REST endpoints on port 8080:

### Retriever Endpoints

#### :material-api: POST /streamer/index

Indexes a file from object storage for efficient querying.

* **Method**: POST
* **Content-Type**: application/json
* **Request Body Fields**:
    - `readContainer` (string, required): Source container/bucket name
    - `readObject` (string, required): Source object/file name
    - `objectStorageName` (string, optional): Object storage provider name
    - `writeContainer` (string, optional): Target container for index output
* **Response**: `200 OK` on success

#### :material-api: POST /streamer/query

Queries indexed log data from object storage.

* **Method**: POST
* **Content-Type**: application/json
* **Request Body Fields**:
    - `name` (string, optional): Query name for tracking
    - `target` (string, optional): Target dataset
    - `from` (string, optional): Start timestamp for query range
    - `to` (string, optional): End timestamp for query range
    - `search` (string, optional): Search query string
    - `filters` (list of strings, optional): Additional filter conditions
    - `objectStorageName` (string, optional): Object storage provider name
    - `readContainer` (string, optional): Container/bucket to query
    - `indexContainer` (string, optional): Index container location
    - `processingTime` (string, optional): Processing time limit
    - `resultSize` (string, optional): Maximum result size limit
* **Response**: `200 OK` with query results

### Health Endpoints

#### :material-api: GET /health/live

Kubernetes liveness probe. Returns `200 OK` with "UP" if the pod is alive.

#### :material-api: GET /health/ready

Kubernetes readiness probe with load-based traffic routing.

* **Response**: `200 OK` with "READY" when load is below threshold, `503 Service Unavailable` with "NOT READY" when at capacity
* **Configuration**: `tenx.quarkus.readiness.threshold` (default: 90%)

#### :material-api: GET /health/started

Kubernetes startup probe. Returns `200 OK` with "STARTED" when application has completed startup.

### Metrics Endpoints

#### :material-api: GET /metrics/load

Returns current pipeline executor load metrics.

* **Response**: JSON object with metrics:
``` json
{
  "activeTasks": 0,
  "queuedTasks": 0,
  "completedTasks": 0,
  "maxAsync": 10,
  "maxQueued": 100,
  "currentLoad": 0,
  "totalCapacity": 110,
  "loadPercent": 0
}
```