# Additional Render service types: background worker · static site · cron job

bex serves Render's `web_service` and `private_service` types only. Render's create surface takes three more `type`s bex has no counterpart for, each a distinct mechanism:

- **background_worker** — the cheap one: a service with **no port / no ingress** (no health-gate on HTTP, no Traefik route). Largely a `spec` flag + skipping the Service/Ingress in `reconcileKubernetes`.
- **cron_job** — scheduled run of a command on the built image (`schedule` cron expr); needs a CronJob-style reconcile path (K8s `CronJob` or an operator scheduler) + run history. Also unlocks Render's `/cron-jobs/{id}/runs` trigger and the one-off `/jobs` cousin.
- **static_site** — CDN-hosted build output; larger (build → object store/CDN, `publishPath`, redirects/rewrites + custom response headers, which the parity matrix marks static-site-only). Lowest priority for a compute PaaS.

Mechanism-first (operator + `lego/types`), then the REST/GraphQL/MCP `type` plumbing + dashboard. `create_static_site`/`create_cron_job` are unmirrored Render MCP tools today.

Source: `docs/ADR018-render-parity.md` audit (w1/m13, 2026-07-08). Goal: pillar 1 (Render parity — service-type breadth). Split into per-type milestones when prioritized; background_worker is the sub-day starter.
