Skip to content

Deploy

Deploy

Container images, the Kubernetes operator, object storage, and monitoring for the search engine ysearch runs today.


These pages cover running the inherited engine as infrastructure: what the container image contains, what the Kubernetes operator creates, how the object store is laid out and credentialed, and what to scrape.

The pages

Page What it covers
Container image The FROM scratch image, its contents, 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

Every setting named on these pages, with its default, is in the configuration reference.

What is qualified and what is not

The operator, the observability surface, and the container images are implemented and covered by automated tests. The inherited milestones that own them — yolosearch's M4 to M7 — remain open on their release-qualification receipts. These pages describe what the software does. They do not claim it has been qualified at scale.

None of this is the deployment shape ysearch is heading for. The operator's extension with the kv and control StatefulSets and the matcher and source workloads is milestone YS11.

Deployment roles

A minimal fleet of the inherited engine 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. Every role runs from the same binary with a different --roles value.

The commands below show the role wiring. They also need a shared object-store configuration and a published articles index; they are not a complete deployment script.

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

Under Kubernetes you do not write these command lines. The operator renders one Deployment per role from a YSearchIndex, and its spec.replicas block expresses the topology. See Kubernetes.