Skip to content

Commit

Permalink
dev: dev first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
namutech-youseon committed Nov 15, 2023
1 parent b57886d commit fd1cba0
Show file tree
Hide file tree
Showing 377 changed files with 28,797 additions and 10 deletions.
68 changes: 68 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### Java ###
# Compiled class file
*.class

### Eclipse ###
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
.project


### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache/
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/

### Log file ###
*.log

### Package Files ###
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
147 changes: 137 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,149 @@ M-CMP의 mc-across-service-manager 서브시스템이 제공하는 기능은 다
- 멀티 클라우드 인프라 동적 성능 진단 관리 기능
- 클라우드간 백업 자동화 및 복구 기능

## **How to Use**
## 목차

### 실행 및 개발 환경 (TBD)
1. [mc-across-service-manager 실행 및 개발 환경]
2. [mc-across-service-manager 실행 방법]
3. [mc-across-service-manager 소스 빌드 및 실행 방법 상세]
4. [mc-across-service-manager 기여 방법]

- Linux (추천: Ubuntu 18.04)
- jdk ^17
---

### 실행 방법 (TBD)
---

#### 1. 소스 코드 기반 설치 및 실행
## mc-across-service-manager 실행 및 개발 환경

- Linux OS (Ubuntu 22.04 LTS)
- Java (Openjdk 17)
- Gradle (v7.4.2)
- MariaDB (v10.11.5)
- InfluxDB (v2.7.3)
- Python (v3.10.12)
- Node.js (v16.20.2)
- npm (v8.19.4)
- docker (v24.0.7)
- git(v2.34.1)
- terraform (v1.5.7)
- ansible (v2.15.5)
- airflow (v2.7.2)

---

---

## mc-across-service-manager 실행 방법

### 소스 코드 기반 설치 및 실행

- 필요 패키지/도구 설치
- 소스 다운로드 (Git clone)
- 필요 패키지/도구 설치
- 환경 변수 설정
- 빌드 및 실행
- 빌드 및 실행 (shell script)

---

---

## mc-across-service-manager 소스 빌드 및 실행 방법 상세

### (1) 소스 다운로드

- Git 설치
```bash
sudo apt update
sudo apt install git
```
- mc-across-service-manager 소스 다운로드
```bash
mkdir -p ~/mcmp/git
cd ~/mcmp/git
git clone https://github.com/m-cmp/mc-across-service-manager.git
export PROJECT_ROOT=$(pwd)/mc-across-service-manager
```

### (2) 필요 패키지/도구 설치

- Java, Gradle, Git, Docker 설치
```bash
cd $PROJECT_ROOT/scripts
sudo chmod +x *
. $PROJECT_ROOT/scripts/init-install.sh
```
- InfluxDB, MariaDB 설치

```bash
# Install DBs
. $PROJECT_ROOT/scripts/install-dbs.sh

# Set Secure
sudo mysql_secure_installation
사용할 root password 입력
y
n
n
n
n
y

# Set Auth
sudo mysql -u root -p
root password 입력

# In MariaDB
create user 'mcmp'@'%' identified by 'mcmp';
grant all privileges on *.* to 'mcmp'@'%' with grant option;
flush privileges;
exit

# Set MariaDB configuration
cd $PROJECT_ROOT/scripts
sudo ./set-mariadb.sh
```

- Terraform, Ansible, Airflow 설치
```bash
. $PROJECT_ROOT/scripts/install-opensources.sh
```

### (3) 환경 변수 설정

- BASE_DIR 설정
```bash
export BASE_DIR=~/mcmp
```
- Java, Gradle, MariaDB, InfluxDB, Ansible, Terraform 환경 변수 설정 스크립트 적용
```bash
mkdir -p $BASE_DIR/build
source $PROJECT_ROOT/scripts/set-env.sh
```

### (4) 빌드 및 실행

- Shell Script 실행

```bash
#Set Link
mkdir -p ~/mcmp/
. $PROJECT_ROOT/scripts/set-link.sh

#Build & Run React Project
. $PROJECT_ROOT/scripts/build-web.sh

#Build Springboot Project
. $PROJECT_ROOT/scripts/build-springboot-all.sh

#Run Springboot Project
. $PROJECT_ROOT/scripts/deploy-springboot-all.sh

#Run Airflow
. $PROJECT_ROOT/scripts/run-airflow.sh
```

---

---

## How to Contribute
## mc-across-service-manager 기여 방법

- Issues/Discussions/Ideas: Utilize issue of mc-across-service-manager
Issues/Discussions/Ideas: Utilize issue of mc-across-service-manager
34 changes: 34 additions & 0 deletions configuration-controller/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
1 change: 1 addition & 0 deletions configuration-controller/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
## configuration-controller
85 changes: 85 additions & 0 deletions configuration-controller/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
import org.gradle.api.file.DuplicatesStrategy

plugins {
id 'java'
id 'org.springframework.boot' version '3.1.3'
id 'io.spring.dependency-management' version '1.1.3'
}

bootJar {
archiveFileName = "${rootProject.name}.jar"
}

jar {
enabled = false
}

group = 'com.mcmp'
version = '0.0.1-SNAPSHOT'

java {
sourceCompatibility = '17'
}

buildDir = file('build')

configurations {
compileOnly {
extendsFrom annotationProcessor
}
all*.exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
all*.exclude group: 'org.springframework.boot', module: 'logback-classic'
}

repositories {
mavenCentral()
}

sourceSets {
main {
resources {
srcDirs "src/main/resources"
}
}
}



dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
//JPA
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
//MariaDB
implementation 'org.mariadb.jdbc:mariadb-java-client'
//Logging
implementation 'org.springframework.boot:spring-boot-starter-log4j2'
//Swagger
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'
//Validation
implementation 'org.springframework.boot:spring-boot-starter-validation'
//Lombok
// compileOnly 'org.projectlombok:lombok:1.18.20'
// annotationProcessor 'org.projectlombok:lombok:1.18.20'
// testImplementation 'org.springframework.boot:spring-boot-starter-test'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'

}

tasks.named('test') {
useJUnitPlatform()
}

compileJava.options.encoding = 'UTF-8'
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}

processResources {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}




Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[ZoneTransfer]
ZoneId=3
ReferrerUrl=https://gitlab.com/mcmp-multicloud/multi-cloud
HostUrl=https://gitlab.com/mcmp-multicloud/multi-cloud/-/archive/master/multi-cloud-master.zip
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit fd1cba0

Please sign in to comment.