Skip to content

m-cmp/mc-cost-optimizer

Repository files navigation

mc-cost-optimizer

FOSSA Status

This repository provides a Multi-Cloud Cost Management and Optimizing Framework.

Overview

  • Multi-cloud Cost Management and Optimizing Framework (Codename: mc-cost-optimizer): Supports cost management and cost optimization processes for various heterogeneous clouds
  • Development and Contribution strategy: Delivers cost optimization features for multicloud environments and promptly adapts to new service launches.
  • Development Space: M-CMP Cost Optimizer (https://github.com/m-cmp/mc-cost-optimizer)

How to Use

Step one

  ## 1. clone this repo
  mkdir -p {your source repo}
  git clone https://github.com/m-cmp/mc-cost-optimizer.git

Step two

  ## 2. DB install
  ### Example of DB installation method based on Mac
  ### In case of DB installation, installation is possible depending on the installation environment. 
  ### MySQL version 8 must be installed
  
  ### create user and privileges settings
  CREATE USER 'mcmpcostopti'@'%' IDENTIFIED BY '0000'; 
  GRANT ALL PRIVILEGES ON *.* TO 'mcmpcostopti'@'%' WITH GRANT OPTION; 
  FLUSH PRIVILEGES;

Step three

  ## 3. DDL/DML execution
  ### sql file path : /mc-cost-optimizer/mysql
  ### running script
  mysql -u mcmpcostopti -p < init_cost_db_ddl.sql
  mysql -u mcmpcostopti -p < init_mail_db.sql
  mysql -u mcmpcostopti -p < init_slack_db.sql

Step four

  4. docker-compose run
  ### Modify '.env' to suit your environment.
  vi .env 
  ### build and run docker
  docker compose up -d

Frontend(cost-fe)

  • node version : v20.13.1
  • npm version : v10.5.2
  • run command : npm run serve

BackEnd

  • java version : 17
  • spring boot version : 2.7.15

batch process(costCollector/costProcessor/costSelector)

  • java version : 17
  • spring boot version : 3.2.8

AlarmService

  • java version : 17
  • spring boot version : 3.2.4

DataBase

  • mysql version : 8
  • run script
- /mc-cost-optimizer/mysql/init_cost_db_ddl.sql
- /mc-cost-optimizer/mysql/init_mail_db.sql
- /mc-cost-optimizer/mysql/init_slack_db.sql

Video Guide to init project

swagger UI

How to Contribute

License

FOSSA Status