A mid-sized SaaS company uses VM-BGVBot to provision disposable staging environments for each pull request. When a developer pushes code to GitHub, a webhook sends a payload to VM-BGVBot, which spins up a VM from a golden image, runs integration tests, and destroys the VM after 2 hours of inactivity. This reduced their cloud costs by 40% compared to using ephemeral EC2 instances.
The VM is a stack-based architecture with a small, undocumented instruction set. Key components include:
Create a service file:
sudo nano /etc/systemd/system/vm-bgvbot.service
Paste the following:
[Unit] Description=VM-BGVBot Automation Daemon After=network.target[Service] Type=simple User=root ExecStart=/usr/local/bin/vm-bgvbot start --config /etc/vm-bgvbot/config.yaml Restart=always RestartSec=10 vm-bgvbot
[Install] WantedBy=multi-user.target
Enable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable vm-bgvbot
sudo systemctl start vm-bgvbot