Skip to content

Lab 5 - Virtualization#1105

Open
giselesikeh wants to merge 1 commit into
inno-devops-labs:mainfrom
giselesikeh:feature/lab5
Open

Lab 5 - Virtualization#1105
giselesikeh wants to merge 1 commit into
inno-devops-labs:mainfrom
giselesikeh:feature/lab5

Conversation

@giselesikeh

Copy link
Copy Markdown

Goal

Complete Lab 5 by running QuickNotes inside a Vagrant-managed VirtualBox VM, documenting the VM lifecycle, and comparing the VM resource cost with a Docker container baseline.

Changes

  • Added a root-level Vagrantfile for the Lab 5 QuickNotes VM.
  • Configured an Ubuntu LTS VM with hostname quicknotes-vm.
  • Configured NAT port forwarding from 127.0.0.1:18080 on the host to 8080 in the guest.
  • Synced the host app/ directory into the VM at /home/vagrant/quicknotes/app.
  • Capped VM resources at 2 vCPU and 1024 MB RAM.
  • Added shell provisioning to install Go 1.24.5 inside the VM.
  • Added submissions/lab5.md with Task 1, Task 2, and bonus documentation.
  • Documented the snapshot save, break, restore, and recovery workflow.
  • Documented VM vs Docker cold start, RAM, disk, and process-count comparison.
  • Updated .gitignore to exclude local Vagrant/runtime artifacts and the local Go tarball.

Testing

Verified locally that:

  • vagrant ssh -c "go version" returns go version go1.24.5 linux/amd64.
  • QuickNotes builds and runs inside the VM.
  • curl http://localhost:18080/health returns {"notes":7,"status":"ok"} from the host through port forwarding.
  • A clean-quicknotes snapshot was created.
  • Removing the Go installation broke the VM as expected.
  • Restoring the snapshot recovered Go and QuickNotes successfully.
  • Docker baseline was measured with QuickNotes running on port 28080.

Checklist

  • Title is a clear sentence (≤ 70 chars)
  • Commits are signed
  • Vagrantfile added at repo root
  • submissions/lab5.md updated
  • .vagrant/ is ignored
  • Local Go tarball is ignored

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant