Skip to content
18 changes: 10 additions & 8 deletions conf/docker/.env.setup
Original file line number Diff line number Diff line change
Expand Up @@ -195,15 +195,17 @@ MC_COST_OPTIMIZER_MAIL_DB_URL=jdbc:mariadb://mc-cost-optimizer-db:3306/${MC_COST
MC_COST_OPTIMIZER_COST_ASSET_COLLECTOR_URL=http://mc-cost-optimizer-asset-collector:8091
MC_COST_OPTIMIZER_COST_COLLECTOR_URL=http://mc-cost-optimizer-cost-collector:8081
MC_COST_OPTIMIZER_COST_PROCESSOR_URL=http://mc-cost-optimizer-cost-processor:8082
MC_COST_OPTIMIZER_AZURE_RIGHTSIZER_URL=http://mc-cost-optimizer-azure-vm-rightsizer:8092
MC_COST_OPTIMIZER_NCP_RIGHTSIZER_URL=http://mc-cost-optimizer-ncp-vm-rightsizer:8095

MC_COST_OPTIMIZER_COST_GCP_COLLECTOR_URL=http://mc-cost-optimizer-cost-gcp-collector:8095
MC_COST_OPTIMIZER_COST_GCP_COLLECTOR_URL=http://mc-cost-optimizer-gcp-collector:8095
MC_COST_OPTIMIZER_GCP_PROJECT_ID=gcp-projectid
MC_COST_OPTIMIZER_GCP_CLIENT_EMAIL=gcp-clientemail
MC_COST_OPTIMIZER_GCP_PRIVATE_KEY_ID=gcp-privatekeyid
MC_COST_OPTIMIZER_GCP_PRIVATE_KEY=gcp-privatekey
MC_COST_OPTIMIZER_GCP_BQ_DATASET=gcp-datasetname
MC_COST_OPTIMIZER_GCP_BQ_TABLE=gcp-bigguerytable
MC_COST_OPTIMIZER_GCP_BATCH_CRON_SCHEDULE=0 0 8 * * ?
MC_COST_OPTIMIZER_GCP_BATCH_CRON_SCHEDULE=0 20 9 * * ?

## Cost Collector
MC_COST_OPTIMIZER_COST_COLLECT_UNUSED_CRON_SCHEDULE=0 30 0,6 * * ?
Expand All @@ -230,17 +232,17 @@ MC_COST_OPTIMIZER_AZURE_TENANT_ID=azure-tenantid
MC_COST_OPTIMIZER_AZURE_CLIENT_ID=azure-clientid
MC_COST_OPTIMIZER_AZURE_CLIENT_SECRET=azure-clientsecret
MC_COST_OPTIMIZER_AZURE_SUBSCRIPTION_ID=azure-subscriptionid
MC_COST_OPTIMIZER_AZURE_SERVICE_BATCH_CRON_SCHEDULE=0 0 0 * * ?
MC_COST_OPTIMIZER_AZURE_VM_BATCH_CRON_SCHEDULE=0 10 0 * * ?
MC_COST_OPTIMIZER_AZURE_VM_RIGHTSIZER_SCHEDULE=0 20 0 * * ?
MC_COST_OPTIMIZER_AZURE_SERVICE_BATCH_CRON_SCHEDULE=0 35 9 * * ?
MC_COST_OPTIMIZER_AZURE_VM_BATCH_CRON_SCHEDULE=0 40 9 * * ?
MC_COST_OPTIMIZER_AZURE_VM_RIGHTSIZER_SCHEDULE=0 45 9 * * ?

## Cost-NCP-Collector
MC_COST_OPTIMIZER_COST_NCP_COLLECTOR_URL=http://mc-cost-optimizer-cost-ncp-collector:8094
MC_COST_OPTIMIZER_NCP_IAM_ACCESS_KEY=ncp-iamaccesskey
MC_COST_OPTIMIZER_NCP_IAM_SECRET_KEY=ncp-iamsecretkey
MC_COST_OPTIMIZER_NCP_SERVICE_BATCH_CRON_SCHEDULE=0 0 0 * * ?
MC_COST_OPTIMIZER_NCP_VM_BATCH_CRON_SCHEDULE=0 10 0 * * ?
MC_COST_OPTIMIZER_NCP_VM_RIGHTSIZER_SCHEDULE=0 20 0 * * ?
MC_COST_OPTIMIZER_NCP_SERVICE_BATCH_CRON_SCHEDULE=0 15 9 * * ?
MC_COST_OPTIMIZER_NCP_VM_BATCH_CRON_SCHEDULE=0 10 9 * * ?
MC_COST_OPTIMIZER_NCP_VM_RIGHTSIZER_SCHEDULE=0 5 9 * * ?

## Cost-ML-Scorer (rightsizing score API, reads cost.asset_compute_metric)
MC_COST_OPTIMIZER_ML_SCORER_URL=http://mc-cost-optimizer-ml-scorer:8096
Expand Down
56 changes: 37 additions & 19 deletions conf/docker/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,7 @@ services:
mc-cost-optimizer-fe:
restart: unless-stopped
container_name: mc-cost-optimizer-fe
image: cloudbaristaorg/mc-costopti-ui:0.6.0
image: cloudbaristaorg/mc-costopti-ui:0.6.3
pull_policy: always
networks:
- mc-cost-optimizer-network
Expand All @@ -417,7 +417,7 @@ services:
mc-cost-optimizer-be:
restart: on-failure
container_name: mc-cost-optimizer-be
image: cloudbaristaorg/mc-costopti-api:0.6.0
image: cloudbaristaorg/mc-costopti-api:0.6.3
pull_policy: always
networks:
- mc-cost-optimizer-network
Expand All @@ -429,6 +429,7 @@ services:
volumes:
- ./tool/mcc:/app/tool/mcc
environment:
TZ: Asia/Seoul
spring.datasource.hikari.cost.optimize.jdbc-url: ${MC_COST_OPTIMIZER_COST_DB_URL_NEW}
spring.datasource.hikari.cost.optimize.username: ${MC_COST_OPTIMIZER_MYSQL_USER}
spring.datasource.hikari.cost.optimize.password: ${MC_COST_OPTIMIZER_MYSQL_PASSWORD}
Expand All @@ -440,16 +441,25 @@ services:
costopti.costcollector.url: ${MC_COST_OPTIMIZER_COST_COLLECTOR_URL}
costopti.costprocessor.url: ${MC_COST_OPTIMIZER_COST_PROCESSOR_URL}
costopti.costselector.url: ${MC_COST_OPTIMIZER_COST_SELECTOR_URL}
costopti.azurerightsizer.url: ${MC_COST_OPTIMIZER_AZURE_RIGHTSIZER_URL}
costopti.ncprightsizer.url: ${MC_COST_OPTIMIZER_NCP_RIGHTSIZER_URL}
costopti.gcpcollector.url: ${MC_COST_OPTIMIZER_COST_GCP_COLLECTOR_URL}
costopti.azurecollector.url: ${MC_COST_OPTIMIZER_COST_AZURE_COLLECTOR_URL}
costopti.ncpcollector.url: ${MC_COST_OPTIMIZER_COST_NCP_COLLECTOR_URL}
ml.rightsize.base-url: ${MC_COST_OPTIMIZER_ML_SCORER_URL}
llm.key.master: ${MC_COST_OPTIMIZER_LLM_KEY_MASTER}
OPENBAO_ENABLED: ${MC_COST_OPTIMIZER_OPENBAO_ENABLED}
OPENBAO_ADDRESS: ${MC_COST_OPTIMIZER_OPENBAO_ADDRESS}
OPENBAO_TOKEN: ${MC_COST_OPTIMIZER_OPENBAO_TOKEN}

healthcheck:
test: [ "CMD", "/app/tool/mcc", "rest", "get", "http://localhost:9090/api/costopti/be/readyz" ]
<<: *default-health-check

mc-cost-optimizer-cost-collector:
restart: on-failure
container_name: mc-cost-optimizer-cost-collector
image: cloudbaristaorg/mc-costopti-costcollector:0.6.0
image: cloudbaristaorg/mc-costopti-costcollector:0.6.3
pull_policy: always
networks:
- mc-cost-optimizer-network
Expand All @@ -465,9 +475,11 @@ services:
volumes:
- ./tool/mcc:/app/tool/mcc
environment:
TZ: Asia/Seoul
spring.datasource.hikari.batch.jdbc-url: ${MC_COST_OPTIMIZER_COST_DB_URL}
spring.datasource.hikari.batch.username: ${MC_COST_OPTIMIZER_MYSQL_USER}
spring.datasource.hikari.batch.password: ${MC_COST_OPTIMIZER_MYSQL_PASSWORD}
ALARM_SERVICE: ${MC_COST_OPTIMIZER_ALARM_URL}

OPENBAO_ENABLED: ${MC_COST_OPTIMIZER_OPENBAO_ENABLED}
OPENBAO_ADDRESS: ${MC_COST_OPTIMIZER_OPENBAO_ADDRESS}
Expand All @@ -483,7 +495,7 @@ services:
mc-cost-optimizer-cost-processor:
restart: on-failure
container_name: mc-cost-optimizer-cost-processor
image: cloudbaristaorg/mc-costopti-costprocessor:0.6.0
image: cloudbaristaorg/mc-costopti-costprocessor:0.6.3
pull_policy: always
networks:
- mc-cost-optimizer-network
Expand All @@ -499,18 +511,20 @@ services:
volumes:
- ./tool/mcc:/app/tool/mcc
environment:
TZ: Asia/Seoul
spring.datasource.hikari.batch.jdbc-url: ${MC_COST_OPTIMIZER_COST_DB_URL}
spring.datasource.hikari.batch.username: ${MC_COST_OPTIMIZER_MYSQL_USER}
spring.datasource.hikari.batch.password: ${MC_COST_OPTIMIZER_MYSQL_PASSWORD}
unusedProcessCronSchedule: ${MC_COST_OPTIMIZER_COST_PROCESS_UNUSED_CRON_SCHEDULE}
abnormalProcessCronSchedule: ${MC_COST_OPTIMIZER_COST_PROCESS_ABNORMAL_CRON_SCHEDULE}
cost.selector.url: ${MC_COST_OPTIMIZER_COST_SELECTOR_URL}
opti.alarm.url: ${MC_COST_OPTIMIZER_ALARM_URL}


mc-cost-optimizer-cost-selector:
restart: on-failure
container_name: mc-cost-optimizer-cost-selector
image: cloudbaristaorg/mc-costopti-costselector:0.6.0
image: cloudbaristaorg/mc-costopti-costselector:0.6.3
pull_policy: always
networks:
- mc-cost-optimizer-network
Expand All @@ -526,6 +540,7 @@ services:
volumes:
- ./tool/mcc:/app/tool/mcc
environment:
TZ: Asia/Seoul
spring.datasource.hikari.cost.optimize.jdbc-url: ${MC_COST_OPTIMIZER_COST_DB_URL}
spring.datasource.hikari.cost.optimize.username: ${MC_COST_OPTIMIZER_MYSQL_USER}
spring.datasource.hikari.cost.optimize.password: ${MC_COST_OPTIMIZER_MYSQL_PASSWORD}
Expand All @@ -537,7 +552,7 @@ services:
mc-cost-optimizer-alarm-service:
restart: on-failure
container_name: mc-cost-optimizer-alarm-service
image: cloudbaristaorg/mc-costopti-alarm:0.6.0
image: cloudbaristaorg/mc-costopti-alarm:0.6.3
pull_policy: always
networks:
- mc-cost-optimizer-network
Expand All @@ -549,6 +564,7 @@ services:
volumes:
- ./tool/mcc:/app/tool/mcc
environment:
TZ: Asia/Seoul
spring.datasource.hikari.slack.jdbc-url: ${MC_COST_OPTIMIZER_SLACK_DB_URL}
spring.datasource.hikari.slack.username: ${MC_COST_OPTIMIZER_MYSQL_USER}
spring.datasource.hikari.slack.password: ${MC_COST_OPTIMIZER_MYSQL_PASSWORD}
Expand All @@ -562,7 +578,7 @@ services:
mc-cost-optimizer-asset-collector:
restart: on-failure
container_name: mc-cost-optimizer-asset-collector
image: cloudbaristaorg/mc-costopti-assetcollector:0.6.0
image: cloudbaristaorg/mc-costopti-assetcollector:0.6.3
pull_policy: always
networks:
- mc-cost-optimizer-network
Expand All @@ -578,6 +594,7 @@ services:
volumes:
- ./tool/mcc:/app/tool/mcc
environment:
TZ: Asia/Seoul
spring.datasource.hikari.batch.jdbc-url: ${MC_COST_OPTIMIZER_COST_DB_URL}
spring.datasource.hikari.batch.username: ${MC_COST_OPTIMIZER_MYSQL_USER}
spring.datasource.hikari.batch.password: ${MC_COST_OPTIMIZER_MYSQL_PASSWORD}
Expand All @@ -588,7 +605,7 @@ services:
mc-cost-optimizer-cost-azure-collector:
restart: on-failure
container_name: mc-cost-optimizer-cost-azure-collector
image: cloudbaristaorg/mc-costopti-azure-collector:0.6.0
image: cloudbaristaorg/mc-costopti-azure-collector:0.6.3
pull_policy: always
networks:
- mc-cost-optimizer-network
Expand All @@ -604,6 +621,7 @@ services:
volumes:
- ./tool/mcc:/app/tool/mcc
environment:
TZ: Asia/Seoul
SPRING_DATASOURCE_URL: ${MC_COST_OPTIMIZER_COST_DB_URL}
SPRING_DATASOURCE_USERNAME: ${MC_COST_OPTIMIZER_MYSQL_USER}
SPRING_DATASOURCE_PASSWORD: ${MC_COST_OPTIMIZER_MYSQL_PASSWORD}
Expand All @@ -629,7 +647,7 @@ services:
mc-cost-optimizer-gcp-collector:
restart: on-failure
container_name: mc-cost-optimizer-gcp-collector
image: cloudbaristaorg/mc-costopti-gcpcollector:0.6.0
image: cloudbaristaorg/mc-costopti-gcpcollector:0.6.3
pull_policy: always
networks:
- mc-cost-optimizer-network
Expand All @@ -645,7 +663,7 @@ services:
volumes:
- ./tool/mcc:/app/tool/mcc
environment:

TZ: Asia/Seoul
spring.datasource.url: ${MC_COST_OPTIMIZER_COST_DB_URL}
spring.datasource.username: ${MC_COST_OPTIMIZER_MYSQL_USER}
spring.datasource.password: ${MC_COST_OPTIMIZER_MYSQL_PASSWORD}
Expand All @@ -670,7 +688,7 @@ services:
mc-cost-optimizer-cost-ncp-collector:
restart: on-failure
container_name: mc-cost-optimizer-cost-ncp-collector
image: cloudbaristaorg/mc-costopti-ncp-collector:0.6.0
image: cloudbaristaorg/mc-costopti-ncp-collector:0.6.3
pull_policy: always
networks:
- mc-cost-optimizer-network
Expand All @@ -686,6 +704,7 @@ services:
volumes:
- ./tool/mcc:/app/tool/mcc
environment:
TZ: Asia/Seoul
SPRING_DATASOURCE_URL: ${MC_COST_OPTIMIZER_COST_DB_URL}
SPRING_DATASOURCE_USERNAME: ${MC_COST_OPTIMIZER_MYSQL_USER}
SPRING_DATASOURCE_PASSWORD: ${MC_COST_OPTIMIZER_MYSQL_PASSWORD}
Expand All @@ -706,13 +725,10 @@ services:
COSTOPTI_COSTPROCESSOR_URL: ${MC_COST_OPTIMIZER_COST_PROCESSOR_URL}
COSTOPTI_COSTSELECTOR_URL: ${MC_COST_OPTIMIZER_COST_SELECTOR_URL}

##timezone setting
TZ: Asia/Seoul

mc-cost-optimizer-azure-vm-rightsizer:
restart: on-failure
container_name: mc-cost-optimizer-azure-vm-rightsizer
image: cloudbaristaorg/mc-costopti-azure-vm-rightsizer:0.6.0
image: cloudbaristaorg/mc-costopti-azure-vm-rightsizer:0.6.3
pull_policy: always
networks:
- mc-cost-optimizer-network
Expand All @@ -728,6 +744,7 @@ services:
volumes:
- ./tool/mcc:/app/tool/mcc
environment:
TZ: Asia/Seoul
SPRING_DATASOURCE_URL: ${MC_COST_OPTIMIZER_COST_DB_URL}
SPRING_DATASOURCE_USERNAME: ${MC_COST_OPTIMIZER_MYSQL_USER}
SPRING_DATASOURCE_PASSWORD: ${MC_COST_OPTIMIZER_MYSQL_PASSWORD}
Expand All @@ -753,7 +770,7 @@ services:
mc-cost-optimizer-ncp-vm-rightsizer:
restart: on-failure
container_name: mc-cost-optimizer-ncp-vm-rightsizer
image: cloudbaristaorg/mc-costopti-ncp-vm-rightsizer:0.6.0
image: cloudbaristaorg/mc-costopti-ncp-vm-rightsizer:0.6.3
pull_policy: always
networks:
- mc-cost-optimizer-network
Expand All @@ -769,6 +786,7 @@ services:
volumes:
- ./tool/mcc:/app/tool/mcc
environment:
TZ: Asia/Seoul
SPRING_DATASOURCE_URL: ${MC_COST_OPTIMIZER_COST_DB_URL}
SPRING_DATASOURCE_USERNAME: ${MC_COST_OPTIMIZER_MYSQL_USER}
SPRING_DATASOURCE_PASSWORD: ${MC_COST_OPTIMIZER_MYSQL_PASSWORD}
Expand All @@ -780,7 +798,7 @@ services:
NCP_CREDENTIAL_IAM_ACCESS_KEY: ${MC_COST_OPTIMIZER_NCP_IAM_ACCESS_KEY}
NCP_CREDENTIAL_IAM_SECRET_KEY: ${MC_COST_OPTIMIZER_NCP_IAM_SECRET_KEY}

AZURE_RIGHTSIZER_BATCH_CRON_SCHEDULE: ${MC_COST_OPTIMIZER_AZURE_VM_RIGHTSIZER_SCHEDULE}
AZURE_RIGHTSIZER_BATCH_CRON_SCHEDULE: ${MC_COST_OPTIMIZER_NCP_VM_RIGHTSIZER_SCHEDULE}

COSTOPTI_ALARMSERVICE_URL: ${MC_COST_OPTIMIZER_ALARM_URL}
COSTOPTI_ASSETCOLLECTOR_URL: ${MC_COST_OPTIMIZER_COST_ASSET_COLLECTOR_URL}
Expand All @@ -794,7 +812,7 @@ services:
mc-cost-optimizer-ml-scorer:
restart: on-failure
container_name: mc-cost-optimizer-ml-scorer
image: cloudbaristaorg/mc-costopti-ml-scorer:0.6.0
image: cloudbaristaorg/mc-costopti-ml-scorer:0.6.3
pull_policy: always
networks:
- mc-cost-optimizer-network
Expand Down Expand Up @@ -832,7 +850,7 @@ services:
restart: "no"

mc-cost-optimizer-db:
image: mariadb:latest
image: mariadb:12.3.2
container_name: mc-cost-optimizer-db
depends_on:
mc-cost-optimizer-init-volume:
Expand Down