Skip to content

Latest commit

 

History

History
239 lines (176 loc) · 9.29 KB

README_kor.md

File metadata and controls

239 lines (176 loc) · 9.29 KB

Contributors Forks Stargazers Issues Pull Request MIT License


Logo

Terraform-Canvas

Visual Programming을 통한 Terraform 클라우드 인프라 프로비저닝 웹 서비스 프로젝트
Explore the docs »

한국어 · English

Report Issues · Pull Requests

Table of Contents
  1. About The Project
  2. Getting Started
  3. Architecture
  4. REST API
  5. Contributing
  6. License
  7. Contact

🔍 About The Project

많은 기업들이 기존 클라우드 및 온프레미스 환경에서 클라우드 네이티브 환경으로의 전환을 위한 IaC 툴로 Terraform을 선택하고 있다. 하지만 Terraform의 높은 진입 장벽 때문에 많은 어려움을 겪고 있다. 그래서 우리는 “Visual Programming을 통한 Terraform 클라우드 인프라 프로비저닝 웹 서비스”를 통해 Terraform의 기술 진입 장벽을 낮추고자 한다. 이를 통해 새롭게 클라우드 네이티브 환경을 도입하고자 하는 스타트업과 SI 팀 그리고 빠르게 IaC 환경을 테스트 및 프로토타이핑하고자 하는 TF 팀에서 활용할 수 있도록 한다.

(back to top)

🗃️ Built With

💡 Language

Go

💡 Infrastructure

Terraform Kubernetes aws OCI

💡 Environment (CI/CD, Package tools...)

Github-actions Helm Accordian

(back to top)

🚀 Getting Started

⚡ Prerequisites

go get을 통해서 패키지 및 관련 종속성 다운로드 및 설치

  • go
    go get .

✏️ Configuration

.env를 통한 환경변수 설정

# .env

# Stage status to start server:
#   - "dev", for start server without graceful shutdown
#   - "prod", for start server with graceful shutdown
STAGE_STATUS="dev"

# Server settings:
SERVER_HOST="0.0.0.0"
SERVER_PORT=8000
SERVER_READ_TIMEOUT=60

# JWT settings:
JWT_SECRET_KEY="secret"
JWT_SECRET_KEY_EXPIRE_MINUTES_COUNT=15
JWT_REFRESH_KEY="refresh"
JWT_REFRESH_KEY_EXPIRE_HOURS_COUNT=720

# OCI SDK settings:
tenancyID=tenancy
userID=user
fingerprint=fingerprint
privateKeyFile=filePath
region=us-ashburn-1
compartmentID=compartmentID
privateKeyPass=

# AWS SDK settings:
AWS_ACCESS_KEY=USER_ACCESS_KEY
AWS_SECRET_KEY=USER_SECRET_KEY
AWS_REGION=USER_REGION

(back to top)

🌐 Architecture

🚩 전체 서비스 구성도

service

🚩개발 환경 구성도

env

(back to top)

📝 REST API

로그인 new

로그인 refresh

로그아웃

테라폼 유저 tf파일 생성

테라폼 삭제

유저 api key 저장

유저 api key 상태 불러오기

S3 폴더 업로드

S3 폴더 다운로드

인스턴스 타입 불러오기

AMI 불러오기

(back to top)

🔥 Contributing

Contribution을 위해서는 CONTRIBUTION.txt를 참고해주세요.

이슈나 새로운 기능 및 수정에 대한 요청은 다음과 같은 절차를 따라주세요. 🥰

  1. 프로젝트 fork
  2. 새로운 수정이나, 버그, 기능에 대해 이슈 생성 (오타 수정의 경우 따로 x)
  3. dev branch에서 새로운 branch 생성 (git checkout -b feature/Newfeature)
  4. 변경 사항 commit (git commit -m 'feat: add new feature')
  5. 작업한 branch의 내용을 push (git push origin feature/Newfeature)
  6. dev branch로의 병합으로 Pull Request를 열고 해당 Issues에 대한 closes keyword 추가

(back to top)

🔐 License

라이센스 정보는 LICENSE.txt를 참고해주세요.

(back to top)

💬 Contact


김수민

강다현

(back to top)