f2e104b0e30454994de4825bdbdec92607c588fc
serve.zone Testing
Whole-system integration scenarios for serve.zone components.
Fast package tests stay in each component repo. This repo is for stateful cross-component tests that need Docker, Swarm, Cloudly, Coreflow, registry behavior, and later Coretraffic routing.
Scenarios
registry-deploy-on-push: starts Cloudly with isolated Mongo/S3 helpers, connects Coreflow as a cluster, pushes a Docker image to Cloudly's built-in registry, verifies Cloudly metadata updates, verifies Coreflow creates the workload service, verifies Coretraffic HTTPS routing, then pushes the same tag again and verifies service recreation and routing through the new digest.corestore-volume-driver: starts Corestore with isolated ports and a temporary Docker plugin socket, verifies the VolumeDriver protocol, snapshots/restores a managed volume throughcontainerarchive, checks Coreflow's generated corestore volume mount specs, and verifies Coreflow backup/restore orchestration for volume, database, and object-storage snapshots.onebox-basic-lifecycle: starts Onebox in dev mode, verifies core services, deploys a workload, checks HTTP plus HTTPS routing through ingress, removes the workload, and verifies cleanup.
Host Run
Requires Docker with Swarm already active.
pnpm bootstrap:components
pnpm test
Vagrant Run
Requires Vagrant plus a provider on the host. The Vagrant VM installs Docker, Node.js, pnpm, initializes Docker Swarm, and mounts the full serve.zone directory at /serve.zone.
pnpm vagrant:up
pnpm vagrant:test
pnpm vagrant:destroy
Provider options:
- VirtualBox: install
vagrantandvirtualboxon the host. - libvirt: install
vagrant,libvirt, and thevagrant-libvirtplugin on the host.
Useful environment variables:
SERVEZONE_ROOT: host path mounted as/serve.zone.SERVEZONE_VAGRANT_BOX: defaults tobento/ubuntu-24.04.SERVEZONE_VAGRANT_CPUS: defaults to4.SERVEZONE_VAGRANT_MEMORY: defaults to8192.
Description
Languages
TypeScript
98.7%
Shell
1.3%