File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 4747 echo "TEAM_SIZE=${{ vars.TEAM_SIZE}}" >> .env
4848 echo "PENDING_TIMEOUT_MINUTES=${{ vars.PENDING_TIMEOUT_MINUTES}}" >> .env
4949 echo "DATA_DIR_HOST=${{ vars.DATA_DIR_HOST }}" >> .env
50+ echo "SECRET_KEY=${{ secrets.SECRET_KEY }}" >> .env
51+ echo "ENVIRONMENT=prod" >> .env
5052
5153 - name : 🚀 Deploy to PROD
5254 run : |
Original file line number Diff line number Diff line change 1+ # DATABASE_URL=postgresql+psycopg2://user:password@db:5432/app_db
2+
3+ # 보안을 위해 무작위 문자열을 생성하여 설정하세요.
4+ # 예: openssl rand -hex 32
5+ SECRET_KEY = your-super-secret-key-here
6+
7+ # ACCESS_TOKEN_EXPIRE_MINUTES=60
Original file line number Diff line number Diff line change 11import os
2+ from pydantic import field_validator
23from pydantic_settings import BaseSettings
34
45class Settings (BaseSettings ):
6+ ENVIRONMENT : str = os .getenv ("ENVIRONMENT" , "dev" )
57 DATABASE_URL : str = os .getenv ("DATABASE_URL" , "postgresql+psycopg2://user:password@db:5432/app_db" )
8+
69 """
710 JWT 안쓸 것 같아 일단 주석 처리하고 추후 확정 시 삭제
811 """
9- SECRET_KEY : str = os .getenv ("SECRET_KEY" , "change-me-in-prod" )
12+ # Secret key for JWT signing. Must be overridden in production using environment variables.
13+ DEFAULT_SECRET_KEY = "default-secret-key-change-it"
14+ SECRET_KEY : str = os .getenv ("SECRET_KEY" , DEFAULT_SECRET_KEY )
15+
16+ @field_validator ("SECRET_KEY" )
17+ @classmethod
18+ def check_secret_key (cls , v , info ):
19+ """
20+ Validate that SECRET_KEY is not using the default placeholder value in production.
21+ """
22+ env = os .getenv ("ENVIRONMENT" , "dev" ).lower ()
23+ if env in ["prod" , "production" ] and v == cls .DEFAULT_SECRET_KEY :
24+ raise ValueError ("SECRET_KEY must be a unique, non-default value in production environments." )
25+ return v
26+
1027 ALGORITHM : str = "HS256"
1128 ACCESS_TOKEN_EXPIRE_MINUTES : int = int (os .getenv ("ACCESS_TOKEN_EXPIRE_MINUTES" , "60" ))
1229
You can’t perform that action at this time.
0 commit comments