This repository provides computing infrastructure migration features. This is a sub-system on Cloud-Barista platform and utilizes CB-Tumblebug to depoly a multi-cloud infra as a target computing infrastructure.
Computing Infrastructure Migration framework (codename: cm-beetle) is going to support:
- migration execution and control from source to target computing infrastructure, and
- recommendation of optimal configuration of target cloud infrastructure.
- Operating system (OS):
- Ubuntu 20.04
- Languages:
- Go: 1.19
- Python: 3.8.10
- Container runtime:
- Docker: 20.10.12
- Install dependencies
# Ensure that your system is up to date
sudo apt update -y
# Ensure that you have installed the dependencies,
# such as `ca-certificates`, `curl`, and `gnupg` packages.
sudo apt install make gcc git
- Install Go
To install Go v1.19+, see Go all releases and Download and install
Example - Go 1.19 installtion
# Get Go archive
wget https://go.dev/dl/go1.19.linux-amd64.tar.gz
# Remove any previous Go installation and
# Extract the archive into /usr/local/
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.19.linux-amd64.tar.gz
# Append /usr/local/go/bin to .bashrc
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.bashrc
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
# Apply the .bashrc changes
source ~/.bashrc
# Verify the installation
echo $GOPATH
go version
- Clone CM-Beetle repository
git clone https://github.com/cloud-barista/cm-beetle.git ${HOME}/cm-beetle
cd ${HOME}/cm-beetle/pkg
make
(Optional) Update Swagger API document
cd ${HOME}/cm-beetle/pkg
make swag
If you got an error because of missing swag
, install swag
:
go install github.com/swaggo/swag/cmd/swag@latest
cd ${HOME}/cm-beetle/pkg
make run
curl http://localhost:8056/beetle/health
# Output if it's running successfully
# {"message":"CM-Beetle API server is running"}
Check a tag of CM-Beetle container image in cloudbaristaorg/cm-beetle
docker run -p 8056:8056 \
--name cm-beetle \
cloudbaristaorg/cm-beetle:latest
curl http://localhost:8056/beetle/health
# Output if it's running successfully
# {"message":"CM-Beetle API server is running"}