Deployment and Packaging
This guide describes the deployment assets that exist in the repository today and how to read their intended scope.
Packaging posture today
The current packaging assets are intentionally baseline-oriented:
- systemd scaffolds target the shared
byteor-runtimeentrypoint, - container baselines exist for
byteor-runtime,byteor-edgeplane,byteor-actiongraph, andbyteor-dataguard, - the same environment and path conventions are reused across the enterprise binaries.
Treat these assets as the canonical starting point for operator bring-up, not as a fully productized installer stack.
Systemd deployment
The repository currently ships these systemd assets:
Important scope note: the checked-in systemd units are for the shared runtime CLI. They are still the best reference even when you need a product-specific unit, because the path, tuning, and scheduler conventions are the same.
Use systemd when:
- the host owns
/run/byteorand/dev/shm, - you want the runtime posture to follow the standard tuning presets,
- you need long-lived service management rather than ad hoc container runs.
Container deployment
The container baselines live under packaging/container/:
The build context must be the repo root because the containerfiles copy the sibling indexbus, byteor, and byteor-enterprise workspaces together.
All runtime containers still need the same fundamental mounts and conventions:
- a spec mounted at
/etc/byteor/spec.kv, - a writable runtime directory mounted at
/run/byteor, - a suitable shared-memory backing such as
/dev/shm.
Use containers when:
- you need a product-specific binary image,
- you want to package the enterprise runtime with cluster-native supervision,
- you already have a separate mechanism for CPU, SHM, and memory-lock policy.
Environment variable conventions
The shared conventions come from byteor-core plus the checked-in systemd examples.
Current default paths are aligned around the standard host layout:
/etc/byteor/spec.kv/run/byteor/dev/shm
The runtime will derive deterministic service paths under /run/byteor when possible. That is why the shipped scaffolds converge on names like single_ring.shm instead of per-run temporary mappings.
Choosing the right deployment baseline
Use operator-flow.md alongside this guide so packaging choices and incident handling stay aligned.