https://github.com/apexcaptain/apexcaptain.iac
CDK for Terraform project
https://github.com/apexcaptain/apexcaptain.iac
Last synced: 8 months ago
JSON representation
CDK for Terraform project
- Host: GitHub
- URL: https://github.com/apexcaptain/apexcaptain.iac
- Owner: ApexCaptain
- License: apache-2.0
- Created: 2024-10-02T08:22:28.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-27T05:26:03.000Z (over 1 year ago)
- Last Synced: 2025-01-27T06:26:37.446Z (over 1 year ago)
- Language: TypeScript
- Size: 330 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ApexCaptain.IaC - Infrastructure as Code
## ๐ ํ๋ก์ ํธ ๊ฐ์
OCI ๊ธฐ๋ฐ์ ๋ฉํฐ ํด๋ฌ์คํฐ Kubernetes ํ๊ฒฝ์ CDK for Terraform(CDKTF)์ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌํ๋ IaC ํ๋ก์ ํธ์
๋๋ค.
### ๐ฏ ์ฃผ์ ๋ชฉํ
- **๋ฉํฐ ํด๋ฌ์คํฐ Kubernetes ํ๊ฒฝ** ๊ตฌ์ถ ๋ฐ ๊ด๋ฆฌ
- Oracle Cloud OKE ํด๋ฌ์คํฐ (ํด๋ผ์ฐ๋)
- On-premise Workstation ํด๋ฌ์คํฐ
- **GitOps ๊ธฐ๋ฐ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ** ๊ตฌํ
- **๊ฐ์ธ ๋ฏธ๋์ด ์๋ฒ & ๊ฒ์ ์๋ฒ ์ธํ๋ผ**
- **๋ณด์ ๋ฐ ๋ชจ๋ํฐ๋ง** ์ฒด๊ณ ๊ตฌ์ถ
- **ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๊ฐ๋ฐ ํ๊ฒฝ** ์ ๊ณต
---
## ๐๏ธ ๊ธฐ์ ์คํ
### ํต์ฌ ๊ธฐ์
- **CDK for Terraform (CDKTF)** - TypeScript ๊ธฐ๋ฐ ์ธํ๋ผ ์ ์
- **Oracle Cloud Infrastructure (OCI)** - ํด๋ผ์ฐ๋ ํ๋ซํผ
- **Kubernetes** - ์ปจํ
์ด๋ ์ค์ผ์คํธ๋ ์ด์
- **Istio** - ์๋น์ค ๋ฉ์
- **ArgoCD** - GitOps ๋ฐฐํฌ ๊ด๋ฆฌ (๊ตฌํ ์๋ฃ)
- **Longhorn** - ๋ถ์ฐ ์คํ ๋ฆฌ์ง ์์คํ
- **MetalLB** - ๋ก๋ ๋ฐธ๋ฐ์
### ๊ฐ๋ฐ ๋๊ตฌ
- **TypeScript** - ๋ฉ์ธ ๊ฐ๋ฐ ์ธ์ด
- **NestJS** - ์ ํ๋ฆฌ์ผ์ด์
ํ๋ ์์ํฌ
- **Projen** - ํ๋ก์ ํธ ์๋ํ ๋๊ตฌ
- **ESLint + Prettier** - ์ฝ๋ ํ์ง ๊ด๋ฆฌ
- **Yarn** - ํจํค์ง ๊ด๋ฆฌ
- **Context7** - MCP ์๋ฒ ํตํฉ
---
## ๐ ํ๋ก์ ํธ ๊ตฌ์กฐ
```
ApexCaptain.IaC/
โโโ ๐ src/ # ์์ค ์ฝ๋
โ โโโ ๐ terraform/ # CDKTF ์ธํ๋ผ ์ ์
โ โ โโโ ๐ stacks/ # ์ธํ๋ผ ์คํ๋ค
โ โ โ โโโ ๐ k8s/ # Kubernetes ๊ด๋ จ ์คํ
โ โ โ โ โโโ ๐ oke/ # Oracle Kubernetes Engine (ํด๋ผ์ฐ๋)
โ โ โ โ โ โโโ ๐ apps/ # ์ ํ๋ฆฌ์ผ์ด์
โ โ โ โ โ โ โโโ argo-cd.stack.ts
โ โ โ โ โ โ โโโ cert-manager.stack.ts
โ โ โ โ โ โ โโโ cloudbeaver.stack.ts
โ โ โ โ โ โ โโโ dashboard.stack.ts
โ โ โ โ โ โ โโโ git-ops.stack.ts
โ โ โ โ โ โ โโโ home-l2tp-vpn-proxy.stack.ts
โ โ โ โ โ โ โโโ ingress-controller.stack.ts
โ โ โ โ โ โ โโโ istio.stack.ts
โ โ โ โ โ โ โโโ monitoring.stack.ts
โ โ โ โ โ โ โโโ nfs.stack.ts
โ โ โ โ โ โ โโโ oauth2-proxy.stack.ts
โ โ โ โ โ โ โโโ redis-ui.stack.ts
โ โ โ โ โ โ โโโ vault.stack.ts
โ โ โ โ โ โโโ cluster.stack.ts
โ โ โ โ โ โโโ network.stack.ts
โ โ โ โ โ โโโ bastion.stack.ts
โ โ โ โ โ โโโ compartment.stack.ts
โ โ โ โ โ โโโ endpoint.stack.ts
โ โ โ โ โ โโโ policy.stack.ts
โ โ โ โ โ โโโ system.stack.ts
โ โ โ โ โโโ ๐ workstation/ # On-premise Workstation
โ โ โ โ โโโ ๐ apps/ # ๊ฐ์ธ/๋ฏธ๋์ด/๊ฒ์ ์๋น์ค
โ โ โ โ โ โโโ cert-manager.stack.ts
โ โ โ โ โ โโโ dashboard.stack.ts
โ โ โ โ โ โโโ game.7dtd.stack.ts
โ โ โ โ โ โโโ game.sftp.stack.ts
โ โ โ โ โ โโโ git-ops.stack.ts
โ โ โ โ โ โโโ ingress-controller.stack.ts
โ โ โ โ โ โโโ istio.stack.ts
โ โ โ โ โ โโโ longhorn.stack.ts
โ โ โ โ โ โโโ metallb.stack.ts
โ โ โ โ โ โโโ monitoring.stack.ts
โ โ โ โ โ โโโ nas.jellyfin.stack.ts
โ โ โ โ โ โโโ nas.qbittorrent.stack.ts
โ โ โ โ โ โโโ nas.sftp.stack.ts
โ โ โ โ โ โโโ windows.stack.ts
โ โ โ โ โโโ ๐ dev-pods/ # ๊ฐ๋ฐ ํ๊ฒฝ Pod
โ โ โ โ โ โโโ apex-captain.stack.ts
โ โ โ โ โโโ system.stack.ts
โ โ โ โ โโโ node-meta.stack.ts
โ โ โ โโโ ๐ cloudflare/ # DNS ๋ฐ CDN ์ค์
โ โ โ โ โโโ firewall.stack.ts
โ โ โ โ โโโ record.stack.ts
โ โ โ โ โโโ zone.stack.ts
โ โ โ โโโ ๐ project/ # ํ๋ก์ ํธ ๊ณตํต ์ค์
โ โ โ โ โโโ ๐ apps/ # ์ ํ๋ฆฌ์ผ์ด์
โ โ โ โ โ โโโ number-planet.stack.ts
โ โ โ โ โโโ github-io.stack.ts
โ โ โ โ โโโ profile.stack.ts
โ โ โ โโโ ocir.stack.ts # Oracle Container Image Registry
โ โ โ โโโ git-ops.stack.ts # GitOps ๊ด๋ฆฌ ์คํ
โ โ โ โโโ project.stack.ts # ํ๋ก์ ํธ ๋ฉ์ธ ์คํ
โ โ โโโ terraform.module.ts
โ โ โโโ terraform.config.service.ts
โ โโโ ๐ common/ # ๊ณตํต ์ ํธ๋ฆฌํฐ
โ โโโ ๐ global/ # ๊ธ๋ก๋ฒ ์ค์
โ โโโ main.ts # ์ง์
์
โโโ ๐ scripts/ # ์๋ํ ์คํฌ๋ฆฝํธ
โ โโโ backup-tfstate.script.ts # Terraform ์ํ ๋ฐฑ์
โ โโโ tf-deploy-selection.script.ts # ์ ํ์ ๋ฐฐํฌ
โ โโโ terminal-v2.script.ts # ๋ํํ ํฐ๋ฏธ๋ ๋๊ตฌ v2
โ โโโ create-random-string.script.ts
โ โโโ ๐ terminal/ # ํฐ๋ฏธ๋ ๋๊ตฌ
โ โโโ ๐ external/ # ์ธ๋ถ ์คํฌ๋ฆฝํธ
โ โโโ ๐ generated/ # ์์ฑ๋ ์คํฌ๋ฆฝํธ
โ โโโ ๐ stage/ # ๋จ๊ณ๋ณ ์คํฌ๋ฆฝํธ
โโโ ๐ assets/ # ์ ์ ์์ฐ
โ โโโ ๐ static/ # ์ ์ ํ์ผ
โ โ โโโ 7dtd.install-additional-mods.js
โ โ โโโ home-l2tp-vpn-proxy.startup.sh
โ โ โโโ ๐ windows/ # Windows ๊ด๋ จ ์คํฌ๋ฆฝํธ
โ โโโ ๐ templates/ # ํ
ํ๋ฆฟ ํ์ผ
โโโ ๐ .projen/ # Projen ์์ฑ ํ์ผ
โโโ ๐ .github/ # GitHub Actions
โโโ ๐ .devcontainer/ # ๊ฐ๋ฐ ์ปจํ
์ด๋ ์ค์
โโโ ๐ .cursor/ # Cursor MCP ์ค์
โโโ ๐ keys/ # ์ธ์ฆ ํค ํ์ผ
โโโ ๐ env/ # ํ๊ฒฝ ๋ณ์
โโโ ๐ .secrets/ # ์ํฌ๋ฆฟ ํ์ผ (gitignore)
โโโ ๐ tmp/ # ์์ ํ์ผ
```
---
## ๐ ์ฃผ์ ๊ธฐ๋ฅ
### 1. ํ์ด๋ธ๋ฆฌ๋ ๋ฉํฐ ํด๋ฌ์คํฐ Kubernetes ํ๊ฒฝ
- **Oracle Kubernetes Engine (OKE)** ํด๋ฌ์คํฐ ์๋ ํ๋ก๋น์ ๋ (ํด๋ผ์ฐ๋)
- **On-premise Workstation ํด๋ฌ์คํฐ** On-Premise๋ก ๊ตฌ์ถ (๋ก์ปฌ ํ๊ฒฝ)
- **Istio ์๋น์ค ๋ฉ์** ๊ตฌ์ถ์ผ๋ก ์๋น์ค ๊ฐ ํต์ ๊ด๋ฆฌ
- **ํ์ด๋ธ๋ฆฌ๋ ๋ฉํฐ ํด๋ฌ์คํฐ ํต์ ** ์ค์ (์งํ ์ค)
### 2. ๋ณด์ ๋ฐ ์ธ์ฆ
- **Vault** - ์ํฌ๋ฆฟ ๊ด๋ฆฌ ์์คํ
(๊ฐ๋ฐ ์ค)
- **OAuth2 Proxy** - ์ธ์ฆ ํ๋ก์ (๊ตฌํ ์๋ฃ)
- **Cert-Manager** - SSL ์ธ์ฆ์ ์๋ ๊ด๋ฆฌ (๊ตฌํ ์๋ฃ)
- **Bastion ํธ์คํธ** - ๋ณด์ ์ ๊ทผ ์ ์ด
### 3. ๋ชจ๋ํฐ๋ง ๋ฐ ๊ด์ฐฐ์ฑ
- **Prometheus + Grafana** - ๋ฉํธ๋ฆญ ์์ง ๋ฐ ์๊ฐํ (๊ฐ๋ฐ ์ค)
### 4. DevOps ๋๊ตฌ
- **ArgoCD** - GitOps ๊ธฐ๋ฐ ๋ฐฐํฌ ๊ด๋ฆฌ (๊ตฌํ ์๋ฃ)
- **OCIR** - Oracle Container Image Registry ํตํฉ (๊ตฌํ ์๋ฃ)
- **GitOps ํ์ดํ๋ผ์ธ** - ์๋ํ๋ CI/CD ์ํฌํ๋ก์ฐ (๊ตฌํ ์๋ฃ)
- **CloudBeaver** - ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๋๊ตฌ (๊ตฌํ ์๋ฃ)
- **Redis UI** - Redis ๊ด๋ฆฌ ์ธํฐํ์ด์ค (๊ตฌํ ์๋ฃ)
- **Home L2TP VPN Proxy** - ์๊ฒฉ ๋คํธ์ํฌ ์ ๊ทผ ํ๋ก์ (๊ตฌํ ์๋ฃ)
### 5. ๊ฐ์ธ ๋ฏธ๋์ด ์๋ฒ ์ธํ๋ผ (On-premise)
- **Jellyfin** - ๋ฏธ๋์ด ์คํธ๋ฆฌ๋ฐ ์๋ฒ (๊ตฌํ ์๋ฃ)
- **qBittorrent** - ํ ๋ ํธ ๋ค์ด๋ก๋ ๊ด๋ฆฌ (๊ตฌํ ์๋ฃ)
- **7 Days to Die** - ๊ฒ์ ์๋ฒ (๊ตฌํ ์๋ฃ)
- **SFTP ์๋ฒ** - ํ์ผ ์ ์ก ์๋น์ค (๊ตฌํ ์๋ฃ)
- **Longhorn Storage** - ๋ถ์ฐ ์คํ ๋ฆฌ์ง ์์คํ
(๊ตฌํ ์๋ฃ)
---
## ๐ฎ ๋ฐฐํฌ๋ ์ ํ๋ฆฌ์ผ์ด์
๋ชฉ๋ก
### Oracle Cloud OKE ํด๋ฌ์คํฐ (ํด๋ผ์ฐ๋)
#### ์์คํ
์ ํ๋ฆฌ์ผ์ด์
- **Istio Service Mesh** - ์๋น์ค ๊ฐ ํต์ ๊ด๋ฆฌ (๊ฐ๋ฐ ์ค)
- **ArgoCD** - GitOps ๋ฐฐํฌ ๊ด๋ฆฌ (๊ตฌํ ์๋ฃ)
- **Vault** - ์ํฌ๋ฆฟ ๊ด๋ฆฌ ์์คํ
(๊ฐ๋ฐ ์ค)
- **Prometheus + Grafana** - ๋ชจ๋ํฐ๋ง ๋ฐ ๋ฉํธ๋ฆญ ์์ง (๊ตฌํ ์๋ฃ)
- **Cert-Manager** - SSL ์ธ์ฆ์ ์๋ ๊ด๋ฆฌ (๊ตฌํ ์๋ฃ)
- **Ingress Controller** - ํธ๋ํฝ ๋ผ์ฐํ
(๊ตฌํ ์๋ฃ)
#### ์ผ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
- **Number Planet** - ์น ์ ํ๋ฆฌ์ผ์ด์
(๊ตฌํ ์๋ฃ)
- **CloudBeaver** - ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๋๊ตฌ
- **Redis UI** - Redis ๊ด๋ฆฌ ์ธํฐํ์ด์ค
- **OAuth2 Proxy** - ์ธ์ฆ ํ๋ก์
- **Home L2TP VPN Proxy** - ์๊ฒฉ ๋คํธ์ํฌ ์ ๊ทผ ํ๋ก์
- **NFS Server** - ๋คํธ์ํฌ ํ์ผ ์์คํ
- **Kubernetes Dashboard** - ํด๋ฌ์คํฐ ๊ด๋ฆฌ UI
### On-premise Workstation ํด๋ฌ์คํฐ
#### ์์คํ
์ ํ๋ฆฌ์ผ์ด์
- **Istio Service Mesh** - ์๋น์ค ๊ฐ ํต์ ๊ด๋ฆฌ (๊ฐ๋ฐ ์ค)
- **Longhorn Storage** - ๋ถ์ฐ ์คํ ๋ฆฌ์ง ์์คํ
(๊ตฌํ ์๋ฃ)
- **MetalLB Load Balancer** - ๋ก๋ ๋ฐธ๋ฐ์ฑ (๊ตฌํ ์๋ฃ)
- **Prometheus + Grafana** - ๋ชจ๋ํฐ๋ง ๋ฐ ๋ฉํธ๋ฆญ ์์ง (๊ฐ๋ฐ ์ค)
- **Cert-Manager** - SSL ์ธ์ฆ์ ์๋ ๊ด๋ฆฌ (๊ตฌํ ์๋ฃ)
- **Ingress Controller** - ํธ๋ํฝ ๋ผ์ฐํ
(๊ตฌํ ์๋ฃ)
#### ๋ฏธ๋์ด ๋ฐ ๊ฒ์ ์๋ฒ
- **Jellyfin** - ๋ฏธ๋์ด ์คํธ๋ฆฌ๋ฐ ์๋ฒ (๊ตฌํ ์๋ฃ)
- **qBittorrent** - ํ ๋ ํธ ๋ค์ด๋ก๋ ๊ด๋ฆฌ (๊ตฌํ ์๋ฃ)
- **7 Days to Die** - ๊ฒ์ ์๋ฒ (๊ตฌํ ์๋ฃ)
- **Game SFTP Server** - ๊ฒ์ ํ์ผ ์ ์ก ์๋น์ค (๊ตฌํ ์๋ฃ)
- **NAS SFTP Server** - NAS ํ์ผ ์ ์ก ์๋น์ค (๊ตฌํ ์๋ฃ)
#### ๊ฐ๋ฐ ๋๊ตฌ & ๊ธฐํ
- **Kubernetes Dashboard** - ํด๋ฌ์คํฐ ๊ด๋ฆฌ UI (๊ตฌํ ์๋ฃ)
- **Development Pods** - ๊ฐ๋ฐ ํ๊ฒฝ ์ปจํ
์ด๋ (ApexCaptain) (๊ตฌํ ์๋ฃ)
- **Windows Desktop** - ์๊ฒฉ Windows ๋ฐ์คํฌํฑ ํ๊ฒฝ (๊ตฌํ ์๋ฃ)
---
## ๐ง ์ธํ๋ผ ์ํคํ
์ฒ
### ๋คํธ์ํฌ ๊ตฌ์ฑ
```
OCI VCN
โโโ Public Subnet (Bastion, Load Balancer)
โโโ Private Subnet (Kubernetes Nodes)
โโโ Database Subnet (RDS, Redis)
```
### ํ์ด๋ธ๋ฆฌ๋ Kubernetes ํด๋ฌ์คํฐ ๊ตฌ์ฑ
```
Oracle Cloud OKE Cluster (ํด๋ผ์ฐ๋)
โโโ Infrastructure Layer
โ โโโ Compartment (๊ตฌํ ์๋ฃ)
โ โโโ Network (VCN, Subnets, Security Lists) (๊ตฌํ ์๋ฃ)
โ โโโ Bastion Host (๊ตฌํ ์๋ฃ)
โ โโโ Policy & IAM (๊ตฌํ ์๋ฃ)
โ โโโ Cluster Endpoint (๊ตฌํ ์๋ฃ)
โโโ System Namespace
โ โโโ Istio Control Plane (๊ฐ๋ฐ ์ค)
โ โโโ ArgoCD (๊ตฌํ ์๋ฃ)
โ โโโ Vault (๊ฐ๋ฐ ์ค)
โ โโโ Monitoring Stack (Prometheus/Grafana) (๊ฐ๋ฐ ์ค)
โ โโโ Cert-Manager (๊ตฌํ ์๋ฃ)
โ โโโ Ingress Controller (๊ตฌํ ์๋ฃ)
โโโ Application Namespace
โ โโโ Number Planet (๊ตฌํ ์๋ฃ)
โ โโโ CloudBeaver (๊ตฌํ ์๋ฃ)
โ โโโ Redis UI (๊ตฌํ ์๋ฃ)
โ โโโ OAuth2 Proxy (๊ตฌํ ์๋ฃ)
โ โโโ Home L2TP VPN Proxy (๊ตฌํ ์๋ฃ)
โ โโโ NFS Server (๊ตฌํ ์๋ฃ)
โ โโโ Kubernetes Dashboard (๊ตฌํ ์๋ฃ)
โโโ GitOps Layer
โโโ ArgoCD Applications (๊ตฌํ ์๋ฃ)
On-premise Workstation Cluster
โโโ Infrastructure Layer
โ โโโ Node Metadata (๊ตฌํ ์๋ฃ)
โ โโโ Longhorn Storage (HDD + SSD) (๊ตฌํ ์๋ฃ)
โ โโโ MetalLB Load Balancer (๊ตฌํ ์๋ฃ)
โโโ System Namespace
โ โโโ Istio Control Plane (๊ฐ๋ฐ ์ค)
โ โโโ Monitoring Stack (Prometheus/Grafana) (๊ฐ๋ฐ ์ค)
โ โโโ Cert-Manager (๊ตฌํ ์๋ฃ)
โ โโโ Ingress Controller (๊ตฌํ ์๋ฃ)
โโโ Application Namespace
โ โโโ Media Services
โ โ โโโ Jellyfin (๊ตฌํ ์๋ฃ)
โ โ โโโ qBittorrent (๊ตฌํ ์๋ฃ)
โ โโโ Game Services
โ โ โโโ 7 Days to Die (๊ตฌํ ์๋ฃ)
โ โ โโโ Game SFTP (๊ตฌํ ์๋ฃ)
โ โโโ File Services
โ โ โโโ NAS SFTP (๊ตฌํ ์๋ฃ)
โ โโโ Kubernetes Dashboard (๊ตฌํ ์๋ฃ)
โโโ Development Namespace
โ โโโ Windows Desktop (๊ตฌํ ์๋ฃ)
โ โโโ Dev Pods (ApexCaptain) (๊ตฌํ ์๋ฃ)
โโโ GitOps Layer
โโโ ArgoCD Applications (๊ตฌํ ์๋ฃ)
```
## ๐ฏ ํต์ฌ ์ฑ๊ณผ
### 1. ์ธํ๋ผ ์๋ํ
- **100% ์ฝ๋ ๊ธฐ๋ฐ ์ธํ๋ผ** ๊ด๋ฆฌ (TypeScript + CDKTF)
- **GitOps ์ํฌํ๋ก์ฐ** ๊ตฌํ์ผ๋ก ๋ฐฐํฌ ์๋ํ (ArgoCD ๊ธฐ๋ฐ)
- **๋ฉํฐ ํด๋ฌ์คํฐ** ํ๊ฒฝ ๊ตฌ์ถ (OKE + Workstation)
- **์ ํ์ ๋ฐฐํฌ ์์คํ
** ๊ตฌํ (๋ํํ ํฐ๋ฏธ๋ ๋๊ตฌ)
- **Terraform ์ํ ์๋ ๋ฐฑ์
** ์์คํ
### 2. ๋ณด์ ๊ฐํ
- **Zero Trust ๋คํธ์ํฌ** ์ํคํ
์ฒ ๊ตฌํ
- **OAuth2 ๊ธฐ๋ฐ ์ธ์ฆ** ํ๋ก์ (GitHub OAuth)
- **SSL/TLS ์ธ์ฆ์** ์๋ ๊ด๋ฆฌ ๋ฐ ๊ฐฑ์ (Cert-Manager)
- **์ํฌ๋ฆฟ ๊ด๋ฆฌ** ์๋ํ (Vault ๊ฐ๋ฐ ์ค)
- **VPN ํ๋ก์** ๊ตฌํ (L2TP/IPsec)
### 3. ์ด์ ํจ์จ์ฑ
- **๋ถ์ฐ ์คํ ๋ฆฌ์ง** ์์คํ
(Longhorn - HDD/SSD ํ์ด๋ธ๋ฆฌ๋)
- **๋ก๋ ๋ฐธ๋ฐ์ฑ** (MetalLB)
- **๋ชจ๋ํฐ๋ง ๋์๋ณด๋** ๊ตฌ์ถ (Prometheus/Grafana ๊ฐ๋ฐ ์ค)
- **๋ฐฑ์
๋ฐ ๋ณต๊ตฌ** ์๋ํ
- **๋ฏธ๋์ด & ๊ฒ์ ์๋ฒ** ํตํฉ ๊ด๋ฆฌ
### 4. ๊ฐ๋ฐ์ ๊ฒฝํ
- **ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๊ฐ๋ฐ ํ๊ฒฝ** (Dev Pods)
- **Windows ์๊ฒฉ ๋ฐ์คํฌํฑ** ํ๊ฒฝ
- **๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๋๊ตฌ** (CloudBeaver)
- **๋ํํ ๋ฐฐํฌ ๋๊ตฌ** (ํฐ๋ฏธ๋ v2)
- **MCP ์๋ฒ ํตํฉ** (Context7)
---
## ๐ ๏ธ ์ฃผ์ ์คํฌ๋ฆฝํธ
| ์คํฌ๋ฆฝํธ | ์ค๋ช
|
| -------------------------- | ----------------------------- |
| `yarn projen` | Projen ์ค์ ์ฌ์์ฑ |
| `yarn build` | ํ๋ก์ ํธ ๋น๋ |
| `yarn compile` | TypeScript ์ปดํ์ผ |
| `yarn tf@build` | CDKTF ์ฝ๋ ์ ์์ฌ์ด์ฆ (synth) |
| `yarn tf@deploy` | ์ ์ฒด ์ธํ๋ผ ๋ฐฐํฌ (๋ณ๋ ฌ 20) |
| `yarn tf@deploy:selection` | ์ ํ์ ์คํ ๋ฐฐํฌ (๋ํํ) |
| `yarn tf@deploy:single` | ๋จ์ผ ์คํ ๋ฐฐํฌ |
| `yarn tf@plan` | ๋ฐฐํฌ ๊ณํ ํ์ธ (diff) |
| `yarn tf@install` | Terraform provider ์ด๊ธฐํ |
| `yarn tf@backup` | tfstate ํ์ผ ๋ฐฑ์
|
| `yarn tf@clean` | CDKTF ์ถ๋ ฅ ๋๋ ํ ๋ฆฌ ์ ๋ฆฌ |
| `yarn terminal` | ๋ํํ ํฐ๋ฏธ๋ ๋๊ตฌ v2 |
---
## ๐ ๊ธฐ์ ์ ๋์ ๊ณผ ํด๊ฒฐ
### 1. ํ์ด๋ธ๋ฆฌ๋ ๋ฉํฐ ํด๋ฌ์คํฐ ํต์
**๋์ **: ํด๋ผ์ฐ๋(OKE)์ On-premise(Workstation) Kubernetes ํด๋ฌ์คํฐ ๊ฐ ์์ ํ ํต์ ๊ตฌ์ถ
**ํด๊ฒฐ**:
- Istio ์๋น์ค ๋ฉ์ ๊ตฌํ (๊ฐ๋ฐ ์ค)
- L2TP VPN ํ๋ก์๋ฅผ ํตํ ์์ ํ ๋คํธ์ํฌ ํฐ๋๋ง (๊ตฌํ ์๋ฃ)
- ArgoCD๋ฅผ ํตํ ๋ฉํฐ ํด๋ฌ์คํฐ ๋ฐฐํฌ ๊ด๋ฆฌ (๊ตฌํ ์๋ฃ)
### 2. ์คํ ๋ฆฌ์ง ์ ๋ต
**๋์ **: On-premise ํ๊ฒฝ์์์ ํจ์จ์ ์ธ ์คํ ๋ฆฌ์ง ๊ด๋ฆฌ
**ํด๊ฒฐ**:
- Longhorn ๋ถ์ฐ ์คํ ๋ฆฌ์ง ์์คํ
๋์
- HDD/SSD ํ์ด๋ธ๋ฆฌ๋ ๊ตฌ์ฑ์ผ๋ก ์ฑ๋ฅ๊ณผ ์ฉ๋ ์ต์ ํ
- ์๋ ๋ฐฑ์
๋ฐ ๋ณต์ ๊ธฐ๋ฅ ๊ตฌํ
### 3. GitOps ํ์ดํ๋ผ์ธ
**๋์ **: ๋ณต์กํ ๋ฉํฐ ํด๋ฌ์คํฐ ํ๊ฒฝ์์์ ์ผ๊ด๋ ๋ฐฐํฌ ๊ด๋ฆฌ
**ํด๊ฒฐ**:
- ArgoCD ๊ธฐ๋ฐ GitOps ์ํฌํ๋ก์ฐ ๊ตฌ์ถ
- ์ ํ์ ์คํ ๋ฐฐํฌ ๋๊ตฌ ๊ฐ๋ฐ (๋ํํ CLI)
- ์๋ํ๋ ๋ฐฐํฌ ๊ฒ์ฆ ๋ฐ ๋กค๋ฐฑ ๋ฉ์ปค๋์ฆ
### 4. ์ํ ๊ด๋ฆฌ ๋ฐ ๋ฐฑ์
**๋์ **: Terraform ์ํ ํ์ผ์ ์์ ํ ๊ด๋ฆฌ์ ๋ฒ์ ๊ด๋ฆฌ
**ํด๊ฒฐ**:
- ๋ก์ปฌ ๋ฐฑ์๋์ ์๋ ๋ฐฑ์
์คํฌ๋ฆฝํธ ๊ตฌํ
- ์คํ๋ณ ๋
๋ฆฝ์ ์ธ ์ํ ๊ด๋ฆฌ
- Git ๊ธฐ๋ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ
### 5. ๋ณด์ ๊ฐํ
**๋์ **: ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ํ๊ฒฝ์์์ ์ข
ํฉ์ ๋ณด์ ์ฒด๊ณ ๊ตฌ์ถ
**ํด๊ฒฐ**:
- OAuth2 Proxy๋ฅผ ํตํ ์ธ์ฆ ๋ ์ด์ด (๊ตฌํ ์๋ฃ)
- Cert-Manager๋ฅผ ํตํ ์๋ SSL/TLS ๊ด๋ฆฌ (๊ตฌํ ์๋ฃ)
- Bastion ํธ์คํธ๋ฅผ ํตํ ์์ ํ ํด๋ฌ์คํฐ ์ ๊ทผ (๊ตฌํ ์๋ฃ)
- Vault ์ํฌ๋ฆฟ ๊ด๋ฆฌ ์์คํ
(๊ฐ๋ฐ ์ค)