Created Pocket Nebula, a containerised development environment for OpenNebula + VSCode.
Contains a quick-start deployment of the latest Ruby CLI (for API calls), Pyone, and Ansible (for host and guest configuration).
I wanted a way to develop against ON while having minimal dependencies on my system and settled on a Dev Container setup. This is the bones of what I’ve been using for the last few months.
This sounds really interesting! Thank you so much for sharing this project! It sounds like a very useful and convenient development setup for OpenNebula CLIs, APIs and more.
I’ll try to test it one of these days to see how it works and give you feedback —it seems very promising
I’ve been working on improving Pocket Nebula based on feedback and my own usage over the past few months. I’m excited to announce that v1.0.0 is now available with some significant enhancements.
What’s New in v1.0.0
Enhanced Documentation
Complete step-by-step setup guide from git clone to running your first automation
Clear indicators for when commands should run on host vs inside the container
Comprehensive troubleshooting section with specific solutions
Improved Development Experience
Pre-configured with latest Ansible via pipx (better isolation)
ansible-lint included for code quality checks
Comprehensive .gitignore covering all the common gotchas
Better VS Code integration with relevant extensions
Automatic mounting of SSH keys, OpenNebula credentials, and Ansible vault
Clear success indicators so you know when you’re in the right environment
Tools & Features Included
Ansible (latest version with pipx isolation)
OpenNebula CLI (Ruby-based command-line tools)
pyone (Python library for API integration)
ansible-lint (code quality and best practices)
VS Code extensions for Docker and Ansible support
Perfect For
OpenNebula automation projects
Learning OpenNebula with Ansible
Cloud infrastructure automation
DevOps teams working with OpenNebula
Anyone wanting a clean, isolated development environment
Quick Start
# Clone and setup
git clone https://github.com/aioue/pocket-nebula.git
cd pocket-nebula
# Set your OpenNebula credentials
export ONE_USERNAME=your-username
export ONE_PASSWORD=your-password
export ONE_XMLRPC=https://your-opennebula-host/RPC2
# Open in VS Code and launch dev container
code .
# Then: Ctrl+Shift+P → "Dev Containers: Reopen in Container"
The repository is now super clean, with comprehensive documentation. It’s designed to get you from zero to running OpenNebula automation in minutes.
Would love to hear your feedback if you get a chance to try it out! The repository is completely open and ready for contributions.
Wow, this release looks great! thanks for sharing it!
I just tried your project, and the installation process was super straightforward; it took me less than five minutes to get everything up and running The repository is also impressively clean and well-organized, great job!
That said, when I entered the environment, I ran into this error:
vscode ➜ /workspaces/pocket-nebula (main) $ onevm list
<internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:86:in `require': cannot load such file -- load_opennebula_paths (LoadError)
from <internal:/usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_require.rb>:86:in `require'
from /var/lib/gems/3.2.0/gems/opennebula-cli-7.0.0/bin/onevm:30:in `<top (required)>'
from /usr/local/bin/onevm:25:in `load'
from /usr/local/bin/onevm:25:in `<main>'
OpenNebula 7.0 was just released recently, and it changed how paths are loaded (load_opennebula_paths file). Were your tests done using version 6.10? Are you seeing the same issue with 7.0? If you need any logs or further information, don’t hesitate to let me know I just want to rule out whether this is something on my end.
Thanks again for contributing to the community with such amazing tools!