diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 5d56e9d..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 2e0a79d..f0a5018 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -21,6 +21,34 @@ "Bash(./gradlew analytics-service:compileJava:*)", "Bash(python -m json.tool:*)", "Bash(powershell:*)" + "Bash(./gradlew participation-service:compileJava:*)", + "Bash(find:*)", + "Bash(netstat:*)", + "Bash(findstr:*)", + "Bash(docker-compose up:*)", + "Bash(docker --version:*)", + "Bash(timeout 60 bash:*)", + "Bash(docker ps:*)", + "Bash(docker exec:*)", + "Bash(docker-compose down:*)", + "Bash(git rm:*)", + "Bash(git restore:*)", + "Bash(./gradlew participation-service:test:*)", + "Bash(timeout 30 bash:*)", + "Bash(helm list:*)", + "Bash(helm upgrade:*)", + "Bash(helm repo add:*)", + "Bash(helm repo update:*)", + "Bash(kubectl get:*)", + "Bash(python3:*)", + "Bash(timeout 120 bash -c 'while true; do sleep 5; kubectl get pods -n kt-event-marketing | grep kafka | grep -v Running && continue; echo \"\"\"\"All Kafka pods are Running!\"\"\"\"; break; done')", + "Bash(kubectl delete:*)", + "Bash(kubectl logs:*)", + "Bash(kubectl describe:*)", + "Bash(kubectl exec:*)", + "mcp__context7__resolve-library-id", + "mcp__context7__get-library-docs", + "Bash(python -m json.tool:*)" ], "deny": [], "ask": [] diff --git a/.gitignore b/.gitignore index 42a6708..635b6bd 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,8 @@ Thumbs.db dist/ build/ *.log +.gradle/ +logs/ # Gradle .gradle/ @@ -38,3 +40,16 @@ logs/ tmp/ temp/ *.tmp + +# Kubernetes Secrets (민감한 정보 포함) +k8s/**/secret.yaml +k8s/**/*-secret.yaml +k8s/**/*-prod.yaml +k8s/**/*-dev.yaml +k8s/**/*-local.yaml + +# IntelliJ 실행 프로파일 (민감한 환경 변수 포함 가능) +.run/*.run.xml + +# Gradle (로컬 환경 설정) +gradle.properties diff --git a/.run/EventServiceApplication.run.xml b/.run/EventServiceApplication.run.xml new file mode 100644 index 0000000..38d1691 --- /dev/null +++ b/.run/EventServiceApplication.run.xml @@ -0,0 +1,27 @@ + + + + diff --git a/.run/ParticipationServiceApplication.run.xml b/.run/ParticipationServiceApplication.run.xml new file mode 100644 index 0000000..a323100 --- /dev/null +++ b/.run/ParticipationServiceApplication.run.xml @@ -0,0 +1,69 @@ + + + + + + + + true + true + + + + + false + false + + + diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 6b665aa..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "liveServer.settings.port": 5501 -} diff --git a/backing-service/docker-compose.yml b/backing-service/docker-compose.yml new file mode 100644 index 0000000..32c7ec3 --- /dev/null +++ b/backing-service/docker-compose.yml @@ -0,0 +1,53 @@ +version: '3.8' + +services: + # PostgreSQL - Participation Service + postgres-participation: + image: postgres:15-alpine + container_name: participation-db + environment: + POSTGRES_DB: participation_db + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + ports: + - "5432:5432" + volumes: + - postgres-participation-data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 10s + timeout: 5s + retries: 5 + + # Kafka + zookeeper: + image: confluentinc/cp-zookeeper:7.5.0 + container_name: zookeeper + environment: + ZOOKEEPER_CLIENT_PORT: 2181 + ZOOKEEPER_TICK_TIME: 2000 + ports: + - "2181:2181" + + kafka: + image: confluentinc/cp-kafka:7.5.0 + container_name: kafka + depends_on: + - zookeeper + ports: + - "9092:9092" + environment: + KAFKA_BROKER_ID: 1 + KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 + KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 + KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 + KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1 + KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1 + healthcheck: + test: ["CMD-SHELL", "kafka-broker-api-versions --bootstrap-server localhost:9092"] + interval: 10s + timeout: 10s + retries: 5 + +volumes: + postgres-participation-data: diff --git a/backing-service/install/postgres/values-user.yaml b/backing-service/install/postgres/values-user.yaml index 665a2fa..af3a323 100644 --- a/backing-service/install/postgres/values-user.yaml +++ b/backing-service/install/postgres/values-user.yaml @@ -18,7 +18,7 @@ primary: enabled: true storageClass: "managed-premium" size: 10Gi - + resources: limits: memory: "4Gi" @@ -26,12 +26,14 @@ primary: requests: memory: "2Gi" cpu: "0.5" - - # 성능 최적화 설정 + + # 성능 최적화 설정 extraEnvVars: + - name: POSTGRESQL_READ_ONLY_MODE + value: "no" - name: POSTGRESQL_SHARED_BUFFERS value: "1GB" - - name: POSTGRESQL_EFFECTIVE_CACHE_SIZE + - name: POSTGRESQL_EFFECTIVE_CACHE_SIZE value: "3GB" - name: POSTGRESQL_MAX_CONNECTIONS value: "200" diff --git a/claude/check-mermaid.sh b/claude/check-mermaid.sh old mode 100755 new mode 100644 diff --git a/claude/make-run-profile.md b/claude/make-run-profile.md index 2afafe5..144e889 100644 --- a/claude/make-run-profile.md +++ b/claude/make-run-profile.md @@ -1,4 +1,7 @@ -# 서비스실행프로파일작성가이드 + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed + + 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0# 서비스실행파일작성가이드 [요청사항] - <수행원칙>을 준용하여 수행 @@ -148,7 +151,8 @@