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 through containerarchive, 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 vagrant and virtualbox on the host.
  • libvirt: install vagrant, libvirt, and the vagrant-libvirt plugin on the host.

Useful environment variables:

  • SERVEZONE_ROOT: host path mounted as /serve.zone.
  • SERVEZONE_VAGRANT_BOX: defaults to bento/ubuntu-24.04.
  • SERVEZONE_VAGRANT_CPUS: defaults to 4.
  • SERVEZONE_VAGRANT_MEMORY: defaults to 8192.
S
Description
No description provided
Readme 177 KiB
Languages
TypeScript 98.7%
Shell 1.3%