Skip to content

FAQ

FAQ

Questions people evaluating Zyvor Fleet actually ask, before they've decided to adopt it. Already decided? docs/TUTORIAL.md is a better starting point.

Licensing & cost

Is it really free? Yes. Apache-2.0 — use, modify, and run it for personal, lab, and commercial production use at no charge, subject to preserving notices (see NOTICE). See the README's License section.

What does "Enterprise" mean here? Production support, SLAs, and Zyvor's other commercial products are licensed separately from this open-source control plane. Contact sales@zyvor.dev. Nothing in this repository requires it.

Support

What if I find a bug? Open a GitHub issue.

What if I find a security vulnerability? See SECURITY.md for private reporting — supported versions are the latest tagged minor release only.

Production readiness

Is this production-ready? For single-writer Fleet v0.3: yes, when deployed with HTTPS, strong admin password + session secret, no --demo, and a signed ops checklist (PRODUCTION.md). Lab host 80.79.5.173 already has non-demo + abbreviated WAN signed as a reference — customer installs must still rotate secrets and sign their own checklist. What's not there: HA / multi-writer storage (ARCHITECTURE.md, PRODUCT_PLAN.md).

Before going to production, what should I check? See docs/DEPLOYMENT.md and PRODUCTION.md: make qualify, HTTPS, non-demo, backup/restore drill, then sign evidence/qualification/ops-checklist.md. Multi-product evaluation host: docs/LAB.md.

Does Fleet speak the Zyvor OTA contract? Yes — device /v1/devices/{id}/assignment + /events and operator /api/v1/ota/... (docs/OTA_CONTRACT.md). OTA agents need HTTPS fleet_url and a trusted CA. Event ACKs are contiguous.

Runtime & platform support

What can it actually manage? Four typed runtime adapters: systemd, container (Docker/Podman), k3s, and qemu/KVM — see docs/RUNTIME_ADAPTERS.md. There is deliberately no generic/arbitrary-shell workload type; every adapter has its own health-probe gates.

Does it require Kubernetes? No — Kubernetes/k3s is one of four runtime targets, not a requirement to run the control plane itself (which also ships a Helm chart and raw manifests if you do want it on k8s).

Offline operation

What happens when a site loses connectivity? This is a first-class design point, not a degraded mode: the agent caches the complete desired revision, its typed runtime adapter keeps reconciling drift locally, and operational events queue on disk. "No cloud/control-plane call is necessary to keep the last accepted desired state alive" (README's "Offline autonomy" section). Queued events replay on the next heartbeat once connectivity returns.

Integration with other Zyvor products

Does it integrate with Zyvor Device Agent? Yes, for real — an opt-in -device-agent-url flag (or ZYVOR_FLEET_DEVICE_AGENT_URL) merges Device Agent's namespaced hardware metadata into fleet-agent heartbeats. Deliberately excludes fields using a different taxonomy than Fleet's own (hostname/os/arch/kernel/capabilities); a failure to reach Device Agent never blocks a heartbeat.

Does it integrate with Nodra? Not in code today. The README's "Why this is a separate Zyvor product" table describes Nodra as an "optional edge-data plane" relationship, but that's architectural positioning, not a shipped integration — don't assume Fleet consumes Nodra data out of the box.

Security

Can an operator run arbitrary commands on a site through Fleet? No — "The agent exposes no arbitrary remote shell" (README). See SECURITY.md for the full security model and trust boundaries.