NoCloud
Cloud-native Open-Source Cloud Management Framework
Installation
NoCloud is Cloud-native, meaning it can run in any OCI environment such as Docker(Compose), K8s, etc.
Running Localy
Just do docker-compose up
in the repo root, and you're ready to go.
Read through the docker-compose.yml
to see configuration options.
Note: Debug Log
All NoCloud containers(so except ArangoDB) have multiple Log Levels.
Add LOG_LEVEL
to environment to change log level
LOG_LEVEL
variates from -1(debug) to 5(Fatal)
See zap
reference for that
Running in Production
See this doc to learn how to deploy NoCloud in production
Drivers
In order to make NoCloud an actual Cloud orchestration platform, it needs drivers, which would help creating groups and instances.
How to Add driver
- Add your driver into cluster/compose
- Add your driver to
services-registry
and sp-registry
into env variable DRIVERS
- Start
See and try this sample compose with IONe driver
List of supported drivers
Currently we have only IONe driver. More drivers planned and community help is always appreciated!
NoCloud CLI
Usage
Start with nocloud help
and nocloud help login
;)
Homebrew
See macOS.
Snap
Just run
snap install nocloud
and see usage usage
Linux
.deb
(Debian, Ubuntu, etc.)
- Go to CLI Releases
- Get
.deb
package for your CPU arch (arm64
or x86_64
)
dpkg -i path/to/.deb
If you're using some other arch, let us know, we'll add it to the build. Meanwhile - try building from source
Then see usage usage
.rpm
(RedHat, CentOS, Fedora, etc.)
- Go to CLI Releases
- Get
.rpm
package for your CPU arch (arm64
or x86_64
)
yum localinstall path/to/.rpm
or dnf install path/to/.rpm
If you're using some other arch, let us know, we'll add it to the build. Meanwhile - try building from source
Then see usage usage
AUR (Arch Linux, Manjaro, etc.)
If you have yaourt
package must be found automatically by label nocloud-bin
Otherwise,
git clone https://aur.archlinux.org/packages/nocloud-bin
cd nocloud-bin
makepkg -i
Then see usage usage
Others
If you're using other package manager or have none, you can download prebuilt binary in .tar.gz
archive for arm64
or x86_64
, unpack it and put nocloud
binary to /usr/bin
or your $PATH/bin
.
If you're using some other arch, let us know, we'll add it to the build. Meanwhile - try building from source
Then see usage usage
macOS
If you're using Homebrew:
brew tap slntopp/nocloud
brew install nocloud
You're good to go!
Then see usage usage
If you don't have Homebrew, consider using it ;), otherwise you can get prebuilt binary from CLI Releases page as an .tar.gz
archive.
# if you have wget then
wget https://github/slntopp/nocloud-cli/releases/#version/nocloud-version-darwin-arch.tar.gz
# if you don't, just download it
tar -xvzf #nocloud-version-darwin-arch.tar.gz
# move binary to /usr/local/bin or alike
mv #nocloud-version-darwin-arch/nocloud /usr/local/bin
You're good to go!
Then see usage usage
Windows
- Go to CLI Releases
- Get prebuilt binary from CLI Releases page as an
.zip
archive.
- Unpack it
- Put it somewhere in
$PATH
Then see usage usage
Build From Source
See CLI repo for source and instructions.
Building Proto
Simply navigate to cloned repo directory and run:
docker run -it \
-v $(pwd)/pkg:/go/src/github.com/slntopp/nocloud/pkg \
ghcr.io/slntopp/nocloud/buf:latest