---
kind: Service
name: log-shipper
count: 1
runtime:
  one_of: process
  command: /bin/sleep 3600
ports:
  - name: metrics
    port: 2024
restart:
  mode: service
  attempts: 3
  delay: 10s
update:
  strategy: rolling
  max_parallel: 1
health:
  check_type: http
  interval: 30s
  timeout: 5s
  unhealthy_threshold: 3
constraints:
  - node.role == "logs"
env:
  LOG_LEVEL: warn
  OUTPUT: unix:///run/orca/alloc-log-collector/ingest.sock
---
# Log Shipper

Log shipper service (fluent-bit) running on a dedicated logs-role node.
Exposes a metrics port for health checking. Ships logs to a central
collector via Unix socket.

> **Production substitution**: replace `runtime.command` with your
> actual log shipper binary, e.g.
> `/usr/bin/fluent-bit -c /etc/orca/log-shipper/fluent-bit.conf`.

> **Note**: DaemonSet kind is defined in the schema but the parser does
> not yet populate the `schedule:` block from frontmatter (v0.9 parser
> gap). This example uses `kind: Service` with `count: 1` and a
> `node.role == "logs"` constraint to achieve single-node placement
> until the parser gains `schedule:` support (v0.11).