Computing Infrastructure Migration Model
This repository provides computing infrastructure migration features.
This is a sub-system of Cloud-Barista platform, and intended to deploy a multi-cloud infra as a target computing infrastructure.
Overview
As a Cloud Computing Infrastructure Migration Framework (codename: cm-damselply) is going to support:
- Target cloud computing infra migration model (Defined using the JSON format and Go Structure.)
- Migration model management test codes for target cloud computing infra
Recommended execution and development environment
- Operating system (OS):
- Programming Language:
- Go 1.25.0+ (for building from source code)
- Docker Container & Docker Compose:
- API doc:
How to run CM-Damselfly
- 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
NOTE : Install the stable version of Go. For example, Go v1.25.0
# Set Go version
GO_VERSION=1.25.0
# Get Go archive
wget https://go.dev/dl/go${GO_VERSION}.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 go${GO_VERSION}.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
Download the source code
# Clone CM-Damselfly repository
git clone https://github.com/cloud-barista/cm-damselfly.git ${HOME}/cm-damselfly
Build and Run with docker compose
- Open ubuntu firewall TCP 8088 port on the system to access to the API(If need)
sudo ufw allow 8088/tcp
- Ensure that Docker and Docker Compose are installed on your system
docker --version
docker compose version
- Run CM-Damselfly container and related components
cd [DAMSELFLY_ROOT]
sudo docker compose up
- With the
-d option runs the container in the background (in detached mode)
cd [DAMSELFLY_ROOT]
sudo docker compose up -d
- Build the current Damselfly source code into a container image
cd [DAMSELFLY_ROOT]
sudo docker compose up -d --build
sudo docker compose down cm-damselfly
- The easiest way to run the container
cd [DAMSELFLY_ROOT]
sudo make compose-up
Default REST API URL and DB/log file path
Versions of models applied to the released Damselfly
| cm-damselfly version |
cm-model version (OnpremInfraModel/CloudInfraModel/SoftwareModel) |
| v0.2.0 |
v0.0.3 |
| v0.2.1 |
v0.0.3 |
| v0.2.2 |
v0.0.3 |
| v0.3.0 |
v0.0.3 |
| v0.3.1 |
v0.0.10 |
| v0.3.2 |
v0.0.10 |
| v0.3.3 |
v0.0.11 |
| v0.3.4 |
v0.0.12 |
| v0.3.5 |
v0.0.13 |
| v0.3.6 |
v0.0.14 |
| v0.4.0 |
v0.0.14 |
| v0.4.1 |
v0.0.15 |
CM-Damselfly REST API user guide