Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# GenAI
*.md
48 changes: 48 additions & 0 deletions k8s-argocd/applications/prod/monitoring.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# ===================================
# Prod Monitoring Root
# ===================================

apiVersion: argoproj.io/v1alpha1
kind: Application

# 기본 정보
metadata:
name: monitoring-root-prod
namespace: argocd

# 라벨 추가
labels:
pinhouse.co.kr/environment: prod
pinhouse.co.kr/component: monitoring

# Finalizers를 설정하면 Application 삭제 시 관련 리소스도 함께 삭제됨
finalizers:
- resources-finalizer.argocd.argoproj.io

# 스펙
spec:
project: default

# Directory 소스 설정
source:
# GitOps URL
repoURL: https://github.com/PinHouse/PinHouse_CLOUD
# Main 브랜치 참조
targetRevision: main
# Monitoring 하위 애플리케이션 디렉터리
path: k8s-argocd/applications/prod/monitoring
directory:
recurse: false

# 배포 대상 클러스터
destination:
server: https://kubernetes.default.svc
namespace: argocd

# 동기화 정책
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
51 changes: 51 additions & 0 deletions k8s-argocd/applications/prod/monitoring/monitoring-alloy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# ===================================
# Prod Monitoring Alloy
# ===================================

apiVersion: argoproj.io/v1alpha1
kind: Application

# 기본 정보
metadata:
name: monitoring-alloy-prod
namespace: argocd

# 라벨 추가
labels:
pinhouse.co.kr/environment: prod
pinhouse.co.kr/component: monitoring
pinhouse.co.kr/monitoring-component: alloy

# 어노테이션 메타데이터
annotations:
argocd.argoproj.io/sync-wave: "2"

# Finalizers를 설정하면 Application 삭제 시 관련 리소스도 함께 삭제됨
finalizers:
- resources-finalizer.argocd.argoproj.io

spec:
project: default

# Helm 소스 설정
source:
repoURL: https://github.com/PinHouse/PinHouse_CLOUD
targetRevision: main
path: k8s-helm/releases/monitoring-alloy
helm:
releaseName: monitoring-alloy
valueFiles:
- values-prod-gitops.yaml

# 배포 대상 클러스터
destination:
server: https://kubernetes.default.svc
namespace: monitoring

# 동기화 정책
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
51 changes: 51 additions & 0 deletions k8s-argocd/applications/prod/monitoring/monitoring-core.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# ===================================
# Prod Monitoring Core
# ===================================

apiVersion: argoproj.io/v1alpha1
kind: Application

# 기본 정보
metadata:
name: monitoring-core-prod
namespace: argocd

# 라벨 추가
labels:
pinhouse.co.kr/environment: prod
pinhouse.co.kr/component: monitoring
pinhouse.co.kr/monitoring-component: core

# 어노테이션 메타데이터
annotations:
argocd.argoproj.io/sync-wave: "0"

# Finalizers를 설정하면 Application 삭제 시 관련 리소스도 함께 삭제됨
finalizers:
- resources-finalizer.argocd.argoproj.io

spec:
project: default

# Helm 소스 설정
source:
repoURL: https://github.com/PinHouse/PinHouse_CLOUD
targetRevision: main
path: k8s-helm/releases/monitoring-core
helm:
releaseName: monitoring-core
valueFiles:
- values-prod-gitops.yaml

# 배포 대상 클러스터
destination:
server: https://kubernetes.default.svc
namespace: monitoring

# 동기화 정책
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
51 changes: 51 additions & 0 deletions k8s-argocd/applications/prod/monitoring/monitoring-loki.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# ===================================
# Prod Monitoring Loki
# ===================================

apiVersion: argoproj.io/v1alpha1
kind: Application

# 기본 정보
metadata:
name: monitoring-loki-prod
namespace: argocd

# 라벨 추가
labels:
pinhouse.co.kr/environment: prod
pinhouse.co.kr/component: monitoring
pinhouse.co.kr/monitoring-component: loki

# 어노테이션 메타데이터
annotations:
argocd.argoproj.io/sync-wave: "1"

# Finalizers를 설정하면 Application 삭제 시 관련 리소스도 함께 삭제됨
finalizers:
- resources-finalizer.argocd.argoproj.io

spec:
project: default

# Helm 소스 설정
source:
repoURL: https://github.com/PinHouse/PinHouse_CLOUD
targetRevision: main
path: k8s-helm/releases/monitoring-loki
helm:
releaseName: monitoring-loki
valueFiles:
- values-prod-gitops.yaml

# 배포 대상 클러스터
destination:
server: https://kubernetes.default.svc
namespace: monitoring

# 동기화 정책
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
51 changes: 51 additions & 0 deletions k8s-argocd/applications/prod/monitoring/monitoring-tempo.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# ===================================
# Prod Monitoring Tempo
# ===================================

apiVersion: argoproj.io/v1alpha1
kind: Application

# 기본 정보
metadata:
name: monitoring-tempo-prod
namespace: argocd

# 라벨 추가
labels:
pinhouse.co.kr/environment: prod
pinhouse.co.kr/component: monitoring
pinhouse.co.kr/monitoring-component: tempo

# 어노테이션 메타데이터
annotations:
argocd.argoproj.io/sync-wave: "1"

# Finalizers를 설정하면 Application 삭제 시 관련 리소스도 함께 삭제됨
finalizers:
- resources-finalizer.argocd.argoproj.io

spec:
project: default

# Helm 소스 설정
source:
repoURL: https://github.com/PinHouse/PinHouse_CLOUD
targetRevision: main
path: k8s-helm/releases/monitoring-tempo
helm:
releaseName: monitoring-tempo
valueFiles:
- values-prod-gitops.yaml

# 배포 대상 클러스터
destination:
server: https://kubernetes.default.svc
namespace: monitoring

# 동기화 정책
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
36 changes: 36 additions & 0 deletions k8s-argocd/applications/prod/platform.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# ===================================
# Prod Platform Root
# ===================================

apiVersion: argoproj.io/v1alpha1
kind: Application

metadata:
name: platform-root-prod
namespace: argocd
labels:
pinhouse.co.kr/environment: prod
pinhouse.co.kr/component: platform
finalizers:
- resources-finalizer.argocd.argoproj.io

spec:
project: default

source:
repoURL: https://github.com/PinHouse/PinHouse_CLOUD
targetRevision: main
path: k8s-argocd/applications/prod/platform
directory:
recurse: false

destination:
server: https://kubernetes.default.svc
namespace: argocd

syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
36 changes: 36 additions & 0 deletions k8s-argocd/applications/prod/platform/argocd-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# ===================================
# Prod Platform Argo CD Config
# ===================================

apiVersion: argoproj.io/v1alpha1
kind: Application

metadata:
name: platform-argocd-config-prod
namespace: argocd
labels:
pinhouse.co.kr/environment: prod
pinhouse.co.kr/component: platform
annotations:
argocd.argoproj.io/sync-wave: "3"
finalizers:
- resources-finalizer.argocd.argoproj.io

spec:
project: default

source:
repoURL: https://github.com/PinHouse/PinHouse_CLOUD
targetRevision: main
path: k8s-kustomize/platform/argocd/overlays/prod

destination:
server: https://kubernetes.default.svc
namespace: argocd

syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
43 changes: 43 additions & 0 deletions k8s-argocd/applications/prod/platform/cert-manager.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# ===================================
# Prod Platform cert-manager
# ===================================

apiVersion: argoproj.io/v1alpha1
kind: Application

metadata:
name: platform-cert-manager-prod
namespace: argocd
labels:
pinhouse.co.kr/environment: prod
pinhouse.co.kr/component: platform
annotations:
argocd.argoproj.io/sync-wave: "1"
finalizers:
- resources-finalizer.argocd.argoproj.io

spec:
project: default

sources:
- repoURL: oci://quay.io/jetstack/charts
chart: cert-manager
targetRevision: v1.19.2
helm:
releaseName: cert-manager
valueFiles:
- $values/k8s-helm/releases/cert-manager/values-prod.yaml
- repoURL: https://github.com/PinHouse/PinHouse_CLOUD
targetRevision: main
ref: values

destination:
server: https://kubernetes.default.svc
namespace: cert-manager

syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
Loading
Loading