File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -135,6 +135,10 @@ services:
135135 REALTIME_LISTEN_ADDR : :38020
136136 REALTIME_RABBITMQ_URL : amqp://${RABBITMQ_USER:-stackup}:${RABBITMQ_PASSWORD:-stackup}@rabbitmq:38050/
137137 REALTIME_LOG_LEVEL : ${REALTIME_LOG_LEVEL:-info}
138+ REALTIME_JWT_SECRET : ${JWT_SECRET:-}
139+ REALTIME_CORE_BASE_URL : ${CORE_INTERNAL_BASE_URL:-http://backend:38010}
140+ REALTIME_INTERNAL_API_KEY : ${CORE_INTERNAL_API_KEY:-local-development-internal-api-key}
141+ REALTIME_WS_WRITE_TIMEOUT : ${REALTIME_WS_WRITE_TIMEOUT:-10s}
138142 depends_on :
139143 rabbitmq :
140144 condition : service_healthy
Original file line number Diff line number Diff line change @@ -5,7 +5,11 @@ REALTIME_QUEUE_NAME=q.realtime.session.notify
55REALTIME_SSE_PING_INTERVAL = 30s
66REALTIME_SSE_SLOW_CONSUMER_TIMEOUT = 5s
77REALTIME_SSE_BUFFER_SIZE = 16
8- REALTIME_JWT_SECRET = change-me-in-prod
9- REALTIME_CORE_BASE_URL = http://localhost:38080
10- REALTIME_INTERNAL_API_KEY = change-me-internal-key
8+ # 아래 3개는 Core 와 공유하는 값. 반드시 Core 와 동일하게 맞출 것.
9+ # - REALTIME_JWT_SECRET == Core JWT_SECRET (stream 토큰 검증 키; 불일치 시 SSE/WS 인증 401)
10+ # - REALTIME_INTERNAL_API_KEY == Core CORE_INTERNAL_API_KEY (WS 답변 프록시; AI 서버도 공유)
11+ # - REALTIME_CORE_BASE_URL == Core 내부 REST 주소 (compose 내부에서는 http://backend:38010)
12+ REALTIME_JWT_SECRET = local-development-jwt-secret-must-be-replaced
13+ REALTIME_CORE_BASE_URL = http://localhost:38010
14+ REALTIME_INTERNAL_API_KEY = local-development-internal-api-key
1115REALTIME_WS_WRITE_TIMEOUT = 10s
Original file line number Diff line number Diff line change @@ -151,9 +151,9 @@ Heartbeat (proxy keepalive):
151151| ` REALTIME_SSE_PING_INTERVAL ` | ` 30s ` | SSE heartbeat 주기 |
152152| ` REALTIME_SSE_SLOW_CONSUMER_TIMEOUT ` | ` 5s ` | 구독자 send timeout |
153153| ` REALTIME_SSE_BUFFER_SIZE ` | ` 16 ` | 구독자별 채널 버퍼 |
154- | ` REALTIME_JWT_SECRET ` | ` change-me-in-prod ` | Stream 토큰 검증 키 소스 ( Core ` JWT_SECRET ` 과 동일값. 키 = ` SHA-256(secret) ` , HS256) |
155- | ` REALTIME_CORE_BASE_URL ` | ` http://localhost:38080 ` | Core 내부 REST base URL (WS 답변 프록시) |
156- | ` REALTIME_INTERNAL_API_KEY ` | ` change-me -internal-key` | Core 내부 API 호출용 ` X-Internal-API-Key ` |
154+ | ` REALTIME_JWT_SECRET ` | ` local-development-jwt-secret-must-be-replaced ` | ** Core ` JWT_SECRET ` 과 동일값 필수 ** (Stream 토큰 검증 키. 키= ` SHA-256(secret) ` , HS256). 불일치 시 SSE/WS 인증 401 |
155+ | ` REALTIME_CORE_BASE_URL ` | ` http://localhost:38010 ` | Core 내부 REST base URL (WS 답변 프록시). compose 내부는 ` http://backend:38010 ` |
156+ | ` REALTIME_INTERNAL_API_KEY ` | ` local-development -internal-api- key` | ** Core ` CORE_INTERNAL_API_KEY ` 와 동일값 필수 ** (AI 서버도 공유). ` X-Internal-API-Key ` |
157157| ` REALTIME_WS_WRITE_TIMEOUT ` | ` 10s ` | WS write 타임아웃 |
158158
159159---
Original file line number Diff line number Diff line change @@ -11,9 +11,9 @@ type Config struct {
1111 RabbitMQURL string `env:"REALTIME_RABBITMQ_URL" envDefault:"amqp://stackup:stackup@localhost:38050/"`
1212 LogLevel string `env:"REALTIME_LOG_LEVEL" envDefault:"info"`
1313 QueueName string `env:"REALTIME_QUEUE_NAME" envDefault:"q.realtime.session.notify"`
14- JWTSecret string `env:"REALTIME_JWT_SECRET" envDefault:"change-me-in-prod "`
15- CoreBaseURL string `env:"REALTIME_CORE_BASE_URL" envDefault:"http://localhost:38080 "`
16- InternalApiKey string `env:"REALTIME_INTERNAL_API_KEY" envDefault:"change-me -internal-key"`
14+ JWTSecret string `env:"REALTIME_JWT_SECRET" envDefault:"local-development-jwt-secret-must-be-replaced "`
15+ CoreBaseURL string `env:"REALTIME_CORE_BASE_URL" envDefault:"http://localhost:38010 "`
16+ InternalApiKey string `env:"REALTIME_INTERNAL_API_KEY" envDefault:"local-development -internal-api -key"`
1717 WSWriteTimeout time.Duration `env:"REALTIME_WS_WRITE_TIMEOUT" envDefault:"10s"`
1818 SSEPingInterval time.Duration `env:"REALTIME_SSE_PING_INTERVAL" envDefault:"30s"`
1919 SSESlowConsumerTimeout time.Duration `env:"REALTIME_SSE_SLOW_CONSUMER_TIMEOUT" envDefault:"5s"`
You can’t perform that action at this time.
0 commit comments