Vagrant Cloud — Publishing Boxes
Vagrant Cloud (app.vagrantup.com) is HashiCorp's hosted box registry. You can publish your custom OEL 8 boxes to Vagrant Cloud to share with your team — eliminating the need to manually distribute .box files. Team members simply do vagrant box add your-org/oel8-db and get the exact same environment.
Step 1 — Create Vagrant Cloud Account
BASH — Create Account
# Go to: https://app.vagrantup.com/account/new
# Create account (free tier available)
# Login from CLI
vagrant login
# Or set token environment variable
export VAGRANT_CLOUD_TOKEN="your-token-here"
# Verify login
vagrant cloud auth login
vagrant cloud auth whoami
Step 2 — Create a Box on Vagrant Cloud
BASH — Create Box
# Create box via CLI
vagrant cloud box create your-username/oel8-db --short-description "OEL 8 Database Lab Box"
# Or via Web UI:
# 1. Login to app.vagrantup.com
# 2. Click "New Vagrant Box"
# 3. Enter: name, description, visibility (public/private)
# 4. Click "Create Box"
Step 3 — Publish a Version
BASH — Publish Box
# Create a version
vagrant cloud version create your-username/oel8-db 1.0.0 --description "Initial release with MySQL prereqs"
# Add provider (VirtualBox)
vagrant cloud provider create your-username/oel8-db virtualbox 1.0.0
# Upload the .box file
vagrant cloud provider upload your-username/oel8-db virtualbox 1.0.0 ./oel8-custom.box
# Release the version (make it available)
vagrant cloud version release your-username/oel8-db 1.0.0
Step 4 — Use Published Box
BASH — Use Published Box
# Anyone on your team can now use:
vagrant box add your-username/oel8-db
# Or in Vagrantfile:
config.vm.box = "your-username/oel8-db"
# Pin to specific version
config.vm.box = "your-username/oel8-db"
config.vm.box_version = "1.0.0"
# Or always use latest
config.vm.box_version = ">= 1.0.0"
Managing Versions
BASH — Version Management
# List all versions of a box
vagrant cloud box show your-username/oel8-db
# Create new version (after updates)
vagrant cloud version create your-username/oel8-db 1.1.0 --description "Added Oracle 19c prereqs"
vagrant cloud provider create your-username/oel8-db virtualbox 1.1.0
vagrant cloud provider upload your-username/oel8-db virtualbox 1.1.0 ./oel8-v1.1.box
vagrant cloud version release your-username/oel8-db 1.1.0
# Deprecate old version
vagrant cloud version deprecate your-username/oel8-db 1.0.0
# Revoke old version
vagrant cloud version revoke your-username/oel8-db 1.0.0
Private Boxes for Teams
BASH — Private Boxes
# Private boxes require authentication token
# Set token for team members:
export VAGRANT_CLOUD_TOKEN="team-shared-token"
# Or: vagrant login
# In Vagrantfile — private box access is automatic when token is set
config.vm.box = "your-org/oel8-db-private"
# Each team member needs to:
vagrant login # or set VAGRANT_CLOUD_TOKEN
vagrant up # downloads private box automatically
Free vs Paid Vagrant Cloud
| Feature | Free | Paid |
|---|---|---|
| Public boxes | Unlimited | Unlimited |
| Private boxes | 1 | Unlimited |
| Box storage | Limited | Unlimited |
| Concurrent downloads | Limited | Unlimited |
| Team access | No | Yes |
💡 Note: For team use, consider hosting your own box registry using a simple file server + metadata JSON files instead of Vagrant Cloud. Any web server serving .box files with a metadata JSON works as a private box registry.