구성 속성
모든 Contexa 구성 속성에 대한 전체 참조입니다. 모든 속성은 application.yml에서 설정하며 Spring Boot의 @ConfigurationProperties 메커니즘을 통해 바인딩됩니다. 속성은 아래 5개 카테고리로 구성됩니다.
구성 카테고리
Contexa는 모든 모듈에 걸쳐 27개의 @ConfigurationProperties 클래스를 제공합니다. 카테고리를 선택하여 전체 속성 참조를 확인하세요.
인프라
ContexaProperties, Bridge, Cache, OpenTelemetry, Redis, Kafka, Event, Router, Pipeline, Plane, Cold Path
코어 플랫폼, 브리지, 캐시, 텔레메트리, 분산 런타임 속성
보안
Zero Trust, HCAD, Session, Step-Up, Decision Plane, Distributed Enforcement
Zero Trust, HCAD, 세션, 강제 적용 속성
AI 엔진
Tiered LLM, Mapping, Advisor, RAG, Streaming, PgVector
Tiered LLM, 매핑, Advisor, RAG, 스트리밍, 벡터 스토어 속성
Identity
Authentication Context, MFA, State Machine
인증 컨텍스트와 상태 머신 속성
IAM
Policy Combining, Step-Up, Admin Console
정책 결합, Step-Up, 관리자 콘솔 속성
필수 속성
Contexa를 시작할 때 구성해야 할 가장 중요한 속성입니다:
| 속성 | 기본값 | 설명 |
|---|---|---|
contexa.enabled |
true |
전체 Contexa 플랫폼의 마스터 스위치 |
contexa.infrastructure.mode |
STANDALONE |
STANDALONE (인메모리) 또는 DISTRIBUTED (Redis + Kafka) |
contexa.llm.enabled |
true |
AI 기반 보안 결정을 위한 LLM 통합 활성화 |
security.zerotrust.enabled |
true |
Zero Trust 지속적 검증 활성화 |
spring.auth.state-type |
OAUTH2 |
상태 관리: SESSION 또는 OAUTH2. 생략 가능 — 기본값으로 대부분의 환경에서 동작합니다. |
contexa.llm.chat-model-priority Contexa |
— | LLM 제공자 우선순위 (예: ollama,anthropic,openai). Spring AI 공식이 아닌 Contexa 전용 프로퍼티입니다. |
최소 구성
Standalone 모드에서 Contexa를 시작하기 위한 최소 application.yml입니다:
contexa:
enabled: true
infrastructure:
mode: standalone
llm:
enabled: true
chat-model-priority: ollama,anthropic,openai
chat:
ollama:
base-url: http://127.0.0.1:11434
model: qwen3.5:9b
rag:
enabled: true
security:
zerotrust:
enabled: true
spring:
auth:
state-type: SESSION
ai:
security:
layer1:
model: qwen2.5:14b
layer2:
model: exaone3.5:latest
Contexa 코어 속성
contexa 접두사 아래의 최상위 속성으로, ContexaProperties에 바인딩됩니다.
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa | |||
.enabled |
boolean |
true |
전체 Contexa 플랫폼을 활성화 또는 비활성화하는 마스터 스위치 |
.infrastructure.mode |
enum |
STANDALONE |
인프라 모드: STANDALONE (인메모리) 또는 DISTRIBUTED (Redis, Kafka) |
.infrastructure.redis.enabled |
boolean |
true |
분산 캐싱을 위한 Redis 통합 활성화 |
.enterprise.enabled |
boolean |
false |
런타임이 제공하는 엔터프라이즈 전용 통합을 활성화합니다 |
.infrastructure.kafka.enabled |
boolean |
true |
이벤트 스트리밍을 위한 Kafka 통합 활성화 (Distributed 모드) |
.infrastructure.observability.enabled |
boolean |
true |
관측 인프라 활성화 |
.infrastructure.observability.open-telemetry-enabled |
boolean |
true |
분산 추적을 위한 OpenTelemetry 통합 활성화 |
LLM 속성
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.llm | |||
.enabled | boolean | true | AI 기반 보안 결정을 위한 LLM 통합 활성화 |
.chat-model-priority | String | ollama,anthropic,openai | Contexa 모델 해석에 사용되는 채팅 제공자 우선순위입니다 |
.advisor-enabled | boolean | true | AI Advisor 체인 활성화 |
.embedding-model-priority | String | ollama,openai | Contexa 모델 해석에 사용되는 임베딩 제공자 우선순위입니다 |
.chat.ollama.base-url | String | "" | Ollama 채팅 런타임을 사용할 때 필요한 전용 기본 URL입니다 |
.chat.ollama.model | String | "" | Contexa 채팅 런타임에서 사용할 Ollama 채팅 모델명 |
.chat.ollama.keep-alive | String | "" | Ollama 채팅 런타임에 전달하는 선택적 keep-alive 값 |
.embedding.ollama.dedicated-runtime-enabled | boolean | false | 공유 채팅 런타임 대신 전용 Ollama 임베딩 런타임 사용 여부 |
.embedding.ollama.base-url | String | "" | dedicated-runtime-enabled가 true일 때 사용하는 전용 임베딩 런타임 URL |
.embedding.ollama.model | String | "" | Ollama 임베딩 런타임에서 사용할 임베딩 모델명 |
Spring AI Tiered 및 외부 제공자 구성
Contexa는 계층 선택 정보를 spring.ai.security*에서 읽습니다. Anthropic/OpenAI 같은 외부 제공자는 표준 spring.ai.* 속성을 사용하고, Ollama 런타임 선택은 spring.ai.ollama.*가 아니라 contexa.llm.*에서 관리합니다.
| 속성 | 타입 | 설명 |
|---|---|---|
spring.ai | ||
.security.layer1.model | String | 1차 분석 단계에 사용할 Tier-1 모델명 |
.security.layer2.model | String | 심화 분석과 에스컬레이션에 사용할 Tier-2 모델명 |
.security.tiered.prompt-compression.enabled | boolean | 계층형 실행을 위한 런타임 프롬프트 압축 활성화 |
.security.tiered.layer1.timeout.total-ms | long | Tier-1 실행 경로 전체 타임아웃 예산 |
.security.tiered.layer2.timeout-ms | long | Tier-2 실행 경로 전체 타임아웃 예산 |
.anthropic.api-key | String | 표준 Spring AI Anthropic 클라이언트용 API 키 |
.openai.api-key | String | 표준 Spring AI OpenAI 클라이언트용 API 키 |
.openai.base-url | String | 프록시나 호환 엔드포인트 사용 시 OpenAI 기본 URL 재정의 |
벡터 스토어 속성
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.rag | |||
.enabled | boolean | true | Contexa 내부의 RAG 하위 시스템 활성화 |
.defaults.top-k | int | 10 | 일반 검색에 사용하는 기본 문서 개수 |
.defaults.similarity-threshold | double | 0.7 | 일반 검색에 사용하는 기본 유사도 임계값 |
.risk.top-k | int | 50 | 위험 분석 중심 검색에 사용하는 문서 개수 |
.risk.similarity-threshold | double | 0.8 | 위험 분석 중심 검색에 사용하는 유사도 임계값 |
.etl.vector-table-name | String | vector_store | Contexa ETL 작업에서 사용하는 논리 벡터 테이블명 |
.etl.chunk-size | int | 500 | 벡터 ETL에서 사용하는 문서 청크 크기 |
.etl.chunk-overlap | int | 50 | 벡터 ETL에서 사용하는 청크 오버랩 크기 |
spring.ai.vectorstore.pgvector | |||
.dimensions | int | 1024 | pgvector 스토어에서 사용하는 임베딩 차원 수 |
.batch-size | int | 100 | 벡터 저장 시 사용하는 배치 크기 |
.top-k | int | 100 | pgvector 어댑터 내부의 기본 검색 개수 |
.similarity-threshold | double | 0.5 | pgvector 어댑터에서 적용하는 최소 유사도 임계값 |
.search-timeout-ms | long | 10000 | pgvector 조회 타임아웃 예산 |
.store-timeout-ms | long | 10000 | pgvector 저장 타임아웃 예산 |
.document.chunk-size | int | 1000 | 소스 문서를 저장용으로 준비할 때 사용하는 청크 크기 |
.document.chunk-overlap | int | 200 | 소스 문서를 저장용으로 준비할 때 사용하는 청크 오버랩 |
Zero Trust 속성
security.zerotrust 아래의 속성으로, SecurityZeroTrustProperties에 바인딩됩니다.
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
security.zerotrust | |||
.enabled |
boolean |
true |
Zero Trust 평가 엔진 활성화 |
.threat.initial |
double |
0.3 |
새 세션에 할당되는 초기 위협 점수 |
.cache.ttl-hours |
int |
24 |
신뢰 평가 캐시 TTL (시간 단위) |
.cache.session-ttl-minutes |
int |
30 |
세션 캐시 TTL (분 단위) |
.cache.invalidated-ttl-minutes |
int |
60 |
무효화된 세션 캐시 TTL (분 단위) |
.redis.timeout |
int |
5 |
Redis 작업 타임아웃 (초 단위) |
.redis.update-interval-seconds |
int |
30 |
Redis에 신뢰 점수를 동기화하는 간격 |
.session.tracking-enabled |
boolean |
true |
AI 기반 세션 추적 활성화 |
HCAD 속성
hcad 접두사 아래의 계층적 컨텍스트 인식 탐지(HCAD) 속성으로, HcadProperties에 바인딩됩니다.
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
hcad | |||
.enabled | boolean | true | HCAD 이상 탐지 엔진 활성화 |
.filter-order | int | 100 | 보안 필터 체인에서의 HCAD 필터 순서 |
.similarity.hot-path-threshold | double | 0.7 | 핫 패스 평가 단계에서 사용하는 유사도 임계값 |
.baseline.learning.enabled | boolean | true | 지속적 기준선 학습 활성화 |
.baseline.bootstrap.initial-samples | int | 10 | 초기 기준선을 허용하기 전 필요한 부트스트랩 샘플 수 |
.baseline.statistical.min-samples | int | 20 | 통계 기반 기준선 갱신에 필요한 최소 샘플 수 |
자율 보안 속성
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.autonomous | |||
.enabled | boolean | true | 자율 보안 응답 처리 활성화 |
.event-timeout | long | 30000 | 자율 이벤트 처리 타임아웃 (밀리초 단위) |
세션 보안 속성
security.session 아래의 속성으로, SecuritySessionProperties에 바인딩됩니다.
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
security.session | |||
.cookie.name |
String |
SESSION |
세션 쿠키 이름 |
.header.name |
String |
X-Auth-Token |
토큰 기반 세션의 세션 헤더 이름 |
.bearer.enabled |
boolean |
true |
Bearer 토큰 세션 확인 활성화 |
전체 구성 예제
모든 주요 구성 섹션을 보여주는 전체 application.yml입니다:
contexa:
enabled: true
infrastructure:
mode: standalone
redis:
enabled: true
kafka:
enabled: false
observability:
enabled: true
open-telemetry-enabled: true
hcad:
enabled: true
similarity:
hot-path-threshold: 0.7
baseline:
min-samples: 10
cache-ttl: 3600
llm:
enabled: true
advisor-enabled: true
chat-model-priority: ollama,anthropic,openai
embedding-model-priority: ollama,openai
chat:
ollama:
base-url: http://127.0.0.1:11434
model: qwen3.5:9b
keep-alive: 24h
embedding:
ollama:
dedicated-runtime-enabled: false
model: mxbai-embed-large
rag:
enabled: true
defaults:
top-k: 10
similarity-threshold: 0.7
etl:
vector-table-name: vector_store
chunk-size: 500
chunk-overlap: 50
autonomous:
enabled: true
event-timeout: 30000
hcad:
enabled: true
filter-order: 100
baseline:
learning:
enabled: true
security:
zerotrust:
enabled: true
mode: ENFORCE
threat:
initial: 0.3
cache:
ttl-hours: 24
session-ttl-minutes: 30
redis:
timeout: 5
update-interval-seconds: 30
session:
cookie:
name: SESSION
header:
name: X-Auth-Token
bearer:
enabled: true
spring:
auth:
state-type: SESSION
ai:
security:
layer1:
model: qwen2.5:14b
layer2:
model: exaone3.5:latest
tiered:
prompt-compression:
enabled: true
anthropic:
api-key: ${ANTHROPIC_API_KEY:}
openai:
api-key: ${OPENAI_API_KEY:}
vectorstore:
pgvector:
dimensions: 1024
batch-size: 100
top-k: 100
similarity-threshold: 0.5
document:
chunk-size: 1000
chunk-overlap: 200
ContexaProperties 빠른 참조
ContexaProperties의 핵심 contexa.* 속성 목록입니다. 각 섹션은 상세 하위 페이지로 연결됩니다.
마스터 스위치
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.enabled | boolean | true | Contexa 플랫폼 전체 마스터 스위치. |
HCAD (행동 분석)
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.hcad.enabled | boolean | true | Contexa 쪽 HCAD 래퍼 토글 활성화. |
contexa.hcad.similarity.hot-path-threshold | double | 0.7 | ContexaProperties가 노출하는 핫 패스 유사도 임계값. |
contexa.hcad.baseline.min-samples | int | 10 | Contexa 래퍼 속성의 기준선 최소 샘플 수. |
contexa.hcad.baseline.cache-ttl | int | 3600 | Contexa 래퍼 속성의 기준선 캐시 TTL(초). |
LLM (언어 모델)
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.llm.enabled | boolean | true | LLM 통합 활성화. |
contexa.llm.advisor-enabled | boolean | true | Advisor 체인 활성화. |
contexa.llm.chat-model-priority | String | ollama,anthropic,openai | 채팅 모델 제공자 우선순위. |
contexa.llm.embedding-model-priority | String | ollama,openai | 임베딩 모델 제공자 우선순위. |
contexa.llm.chat.ollama.base-url | String | "" | Ollama 채팅 런타임 URL. |
contexa.llm.embedding.ollama.dedicated-runtime-enabled | boolean | false | 전용 임베딩 런타임 사용 여부. |
RAG (검색 증강 생성)
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.rag.enabled | boolean | true | RAG 파이프라인 래퍼 활성화. |
contexa.rag.defaults.top-k | int | 10 | 기본 검색 개수. |
contexa.rag.defaults.similarity-threshold | double | 0.7 | 기본 유사도 임계값. |
contexa.rag.etl.vector-table-name | String | vector_store | ETL 출력용 논리 벡터 테이블명. |
자율 에이전트
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.autonomous.enabled | boolean | true | 자율 보안 처리 활성화. |
contexa.autonomous.event-timeout | long | 30000 | 이벤트 처리 타임아웃(밀리초). |
인프라스트럭처
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.infrastructure.mode | enum | STANDALONE | STANDALONE (인메모리) 또는 DISTRIBUTED (Redis + Kafka). |
contexa.infrastructure.redis.enabled | boolean | true | 분산 캐싱을 위한 Redis 활성화. |
contexa.infrastructure.kafka.enabled | boolean | true | 이벤트 스트리밍을 위한 Kafka 활성화. |
contexa.infrastructure.observability.enabled | boolean | true | 관측 가능성 활성화. |
contexa.infrastructure.observability.open-telemetry-enabled | boolean | true | OpenTelemetry 통합 활성화. |
contexa.enterprise.enabled | boolean | false | 런타임이 제공할 때 엔터프라이즈 전용 통합 활성화. |
SaaS 통합 (Enterprise)
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
contexa.saas.enabled | boolean | false | Contexa Cloud와의 SaaS 통합 활성화. |
contexa.saas.endpoint | String | https://saas.ctxa.ai | SaaS 플랫폼 엔드포인트 URL. |
contexa.saas.outbox-batch-size | int | 50 | 이벤트 전달용 Outbox 배치 크기. |
contexa.saas.max-retry-attempts | int | 10 | 실패한 이벤트 전달의 최대 재시도 횟수. |
contexa.saas.dispatch-interval-ms | long | 30000 | SaaS 전달 작업의 디스패치 주기. |