Skip to content

Deploy

Deploy

Container images, Kubernetes deployment, object storage, monitoring, and resource sizing.


These pages cover running YoloSearch as infrastructure: what the container image contains, what the Kubernetes operator creates on your behalf, how the object store has to be laid out and credentialed, what to scrape, and how to size the machines.

They assume you have already read the concepts — in particular storage modes and caching, which explains how cache budgets affect disk, memory, and object-store traffic.

The pages

Page What it covers
Container image The FROM scratch image, its contents and runtime requirements, both architectures, and the mounts a deployment must supply
Kubernetes The operator, the two custom resources, what each reconciler renders, and the deletion policies
Object store The authoritative object layout, bucket and prefix settings, credentials, and MinIO versus S3
Observability The metrics listener, the role label, the shipped alerting rules, and probes
Sizing Per-role resource shapes, the cache budgets, local disk, and the storage-mode choice in production

What is qualified and what is not

The Kubernetes operator, the observability surface, and the container images are all implemented and exercised by automated tests, but the milestones that own them — M4 through M7 — remain open on their release-qualification receipts. The pages below describe what the software does; they are not a claim that it has been qualified at scale.

Those open milestones are the qualification boundary. Confirm the current state against the repository's own milestone evidence before committing to a rollout.

Deployment roles

A minimal fleet is one object store, one coordinator, some workers, and — if you ingest through the API rather than publishing segments offline — a router, a builder, and a publisher. Engine roles use the same binary with different --roles values.

The following commands illustrate role wiring. They also require the appropriate shared object-store configuration and a published articles index; they are not a complete deployment script.

zsh
yolosearch node --roles aggregator  --listen :9601
yolosearch node --roles worker      --listen :9602 --index articles \
  --aggregators aggregator:9601
yolosearch node --roles coordinator --listen :9600 --index articles \
  --aggregators aggregator:9601 --fallback-workers worker:9602

Under Kubernetes you do not write those command lines yourself. The operator renders one Deployment per role from a YoloSearchIndex, and its spec.replicas block is where the topology is expressed. See Kubernetes.