본문으로 건너뛰기

설정 가이드

Caffeine Framework 필수 설정 옵션 가이드입니다.

설정 방법​

Caffeine은 표준 .NET 설정 시스템을 사용합니다.

  1. appsettings.json — 기본 설정
  2. appsettings.{Environment}.json — 환경별 오버라이드
  3. 환경 변수 — CI/CD 및 컨테이너 환경 권장

필수 설정 키​

Engine (appsettings.json)​

{
"InfluxDB": {
"Url": "http://localhost:8086",
"Token": "your-token",
"Org": "nexcode",
"Bucket": "caffeine"
},
"Redis": {
"ConnectionString": "localhost:6379"
},
"ConnectionStrings": {
"Kafka": "localhost:9092"
},
"JWT": {
"Secret": "",
"ValidIssuer": "CaffeineIdentity",
"ValidAudience": "CaffeineEngine"
},
"Mqtt": {
"Host": "localhost",
"Port": 1883
}
}
JWT:Secret 필수 설정

JWT:Secret이 비어 있으면 Engine API가 500 오류를 반환합니다. 개발 환경에서는 appsettings.Development.json에 32자 이상의 시크릿을 설정하세요. 운영 환경에서는 환경 변수 JWT__Secret을 사용하세요.


### Bridge.Host (driver_settings.json)

```json
{
"DriverSettings": {
"LoadPath": "drivers/",
"ScanInterval": 5000
}
}

Admin (appsettings.json)​

{
"ApiSettings": {
"BaseUrl": "https://localhost:7001",
"EngineUrl": "http://localhost:5001",
"GrpcAddress": "http://localhost:5050"
},
"Licensing": {
"PublicKeyXml": "",
"TokenStorePath": ""
}
}
GrpcAddress 설정

Admin은 gRPC 알람 스트리밍에 GrpcAddress를 사용합니다. Engine의 gRPC는 포트 5050(h2c)에서 수신하므로 http://localhost:5050으로 설정하세요. REST API(포트 5001)와 혼동하지 마세요.

환경 변수 패턴​

# JSON 중첩 키는 __ (더블 언더스코어)로 구분
INFLUXDB__URL=http://influxdb:8086
INFLUXDB__TOKEN=secret-token
REDIS__CONNECTIONSTRING=redis:6379
JWT__Secret=YourProductionSecretAtLeast32Chars!!
CONNECTIONSTRINGS__KAFKA=kafka:29092
MQTT_HOST=mqtt-broker
MQTT_PORT=1883
설정 우선순위

환경 변수 > appsettings.{Environment}.json > appsettings.json 순으로 적용됩니다. MQTT는 환경 변수(MQTT_HOST)를 최우선으로 읽고, 없으면 appsettings.json의 Mqtt:Host를 사용합니다.

내부 보안 설정

IP 화이트리스트, 보안 설정 키 상세, 멀티 테넌트 설정은 내부 문서를 참조하세요.