Olivares AI는 하나의 정적 Go 바이너리, olivares로 제공됩니다. 동일한 아티팩트가 엔진, 내장 웹 콘솔(API와 동일 오리진에서 제공), 엣지 수집기입니다 — 실행하는 하위 명령에 따라 역할이 선택됩니다. 별도의 “서버”와 “에이전트” 다운로드는 없습니다.
이 페이지는 현재 바이너리에서 확인된 명령과 플래그를 문서화합니다. 완전하지 않으며, 표면은 1.0 이전입니다: 하위 명령, 플래그, 기본값이 변경될 수 있습니다. 의심스러우면 배포한 정확한 빌드에 대해 olivares <command> --help를 실행하고 이를 권위적으로 취급하세요. 바이너리를 얻고 실행하는 방법은 자체 호스팅을 참조하세요; 플래그가 아닌 환경에 있는 설정은 구성을 참조하세요.
명령 개요
olivares <command> [flags]
루트 명령 그룹에는 다음이 포함됩니다:
| 명령 | 목적 |
|---|---|
version | 버전, 빌드 메타데이터, 바이너리의 FIPS 140-3 모드 출력. |
serve | 제어 평면 실행: REST + 내장 콘솔 + gRPC, 기본 TLS. |
collector | 관찰을 원격 코어로 푸시하는 엣지 수집기로 실행. |
openapi | 엔진의 OpenAPI 3.1 문서를 stdout에 출력. |
audit | 증거 원장 검사, 체크포인트, 내보내기, 보관. |
dr | 재해 복구: 원장 연속성 안전 백업 및 복원. |
keys | 키 관리(BYOK/CMEK): 봉인, 교체, 서명 키 검사. |
license | 오프라인 상업 라이선스 관리 (정보 전용). |
evals | CI 회귀 게이트와 판사 교정 레이블러. |
아래 섹션은 운영자가 가장 먼저 사용하는 명령을 다룹니다. keys, license, evals는 실제이지만 전문적입니다; 플래그 표면은 --help로 실행하세요.
olivares serve
제어 평면을 실행합니다: HTTP 서버(REST API 및 내장 콘솔)와 gRPC 서버. 세 가지 속성이 옵트인이 아닌 기본값입니다:
- TLS가 기본적으로 켜져 있습니다. 인증서가 제공되지 않으면 엔진이 데이터 디렉토리에 자체 서명 인증서를 생성하고 SHA-256 지문을 로깅합니다; 클라이언트가 신뢰하거나 고정해야 합니다. gRPC 서버는 기본 거부(fail closed)입니다 —
--insecure외에서는 평문 시작을 거부하며 조용히 다운그레이드하지 않습니다. - 기본 루프백. 두 리스너 모두
127.0.0.1에 바인딩됩니다. 로컬 호스트 너머로 제어 평면을 노출하는 것은 의도적인 변경입니다: 비루프백 바인드를 설정하고 자체 인그레스로 프론트합니다. 제어 평면은 인프라에서 실행되며 에어갭할 수 있습니다. - 기본 자격증명 없음. 사용자가 없는 새 설치에서 엔진이 일회용, 단일 사용 설정 토큰(접두사
olst_)을 생성하고 stdout에만 출력합니다(로그에는 절대 출력하지 않음).POST /v1/setup에 해당 토큰을 게시하여 첫 관리자를 부트스트랩한 다음 로그인합니다.
olivares serve
# 이 프로세스의 stdout에서 일회용 olst_ 설정 토큰을 읽으세요.
유용한 플래그
| 플래그 | 기본값 | 설명 |
|---|---|---|
--listen | 127.0.0.1:8443 | HTTP 리슨 주소 (REST + 콘솔). |
--grpc-listen | 127.0.0.1:8444 | gRPC 리슨 주소. |
--engine | sqlite | 스토어 엔진: sqlite 또는 postgres. |
--dsn | (데이터 디렉토리의 SQLite 파일) | 스토어 DSN. |
--data-dir | $OLIVARES_DATA_DIR 또는 ./olivares-data | 데이터 디렉토리 (SQLite 파일, 생성된 TLS 자료). |
--tls-cert / --tls-key | (데이터 디렉토리의 자체 서명) | 자체 TLS 자료 제공. |
--grpc-client-ca | 꺼짐 | 수집기 클라이언트 인증서를 인가하는 PEM 번들; 설정 시 gRPC 서버가 상호 TLS를 요구. |
--checkpoint-interval | 1h | 모든 테넌트의 해시 체인에 대해 서명된 감사 체크포인트를 기록하는 빈도 (0으로 비활성화). |
--insecure | 꺼짐 | 평문 HTTP/gRPC 제공. 로컬호스트 개발 전용. |
--seed-demo | 꺼짐 | 데모/E2E용 합성 샘플 환경 로드. 데모 전용 (아래 참조). |
SQLite (순수 Go, 단일 노드)는 에어갭, 단일 노드 설치에 적합합니다. postgres를 선택하는 것은 행 수준 보안이 테넌트 백스톱인 멀티테넌트 또는 스케일아웃 배포를 위한 것입니다. Postgres 잔류 및 역할에 대한 추가 플래그(--admin-dsn, --region, --known-regions, --allow-privileged-db-role)가 있습니다 — --help와 구성을 참조하세요.
--insecure는 평문 HTTP와 gRPC를 제공하므로 bearer 토큰이 평문으로 전송됩니다. 로컬 호스트 너머로 도달 가능한 주소에서는 절대 사용하지 마세요.
--seed-demo는 데모 전용
--seed-demo는 비밀번호가 공개(소스 트리에 있음)인 데모 관리자와 함께 합성, 조작된 환경을 프로비저닝합니다. 콘솔과 종단간 테스트가 실시간 형태의 데이터에 대해 렌더링되도록 존재합니다. 자격증명이 공개이므로, serve는 비루프백 바인드에서 --seed-demo를 시작하는 것을 거부하고 127.0.0.1에 바인딩하라는 오류와 함께 종료합니다.
일회용으로 취급하세요: 일회용 데이터 디렉토리를 사용하고 중요한 데이터에는 절대 가리키지 마세요. 실제 설치는 --seed-demo 없이 serve로, 엔진이 일회용 설정 토큰을 생성하고 자체 관리자를 생성하는 것입니다. 데모 안내는 빠른 시작을 참조하세요.
olivares collector
바이너리를 분산 토폴로지용 엣지 수집기로 실행합니다. 수집기는 구성된 소스 커넥터를 로컬로 로드하고 관찰을 gRPC를 통해 원격 코어에 푸시합니다. 인바운드 리스너를 열지 않습니다 — 다이얼 아웃하며, 연결을 수락하지 않으므로 실패하는 수집기가 에이전트의 데이터 경로에 위치하지 않습니다.
olivares collector --core-addr host:port [flags]
--core-addr은 필수입니다. 수집기는 수집 주체를 보유한 bearer 토큰(--token-file 또는 $OLIVARES_INGEST_TOKEN)으로 코어에 인증하며 — 코어가 상호 TLS를 시행할 때 — 수집기 클라이언트 인증서(--client-cert, --client-key, 자체 서명 코어 인증서를 고정하기 위한 --ca)를 사용합니다. serve와 collector 모두 동일한 구성에서 커넥터를 배선합니다; 구성되지 않은 소스는 프로세스를 실패시키지 않고 정직하게 경고합니다. 소스 구성은 소스 연결에서 다룹니다.
olivares version
버전, 커밋, 빌드 날짜, OS/아키텍처, Go 런타임, 이 바이너리의 FIPS 140-3 모드(검증 주장이 아닌 모드)를 출력합니다.
olivares version
버전 문자열은 빌드 시 주입됩니다; 태그되지 않은 작업 트리에서의 빌드는 개발 버전을 보고합니다. 문자열을 출처로 취급하지 마세요 — 서명된 아티팩트로 릴리스를 검증하세요. 릴리스 검증을 참조하세요.
olivares openapi
엔진의 OpenAPI 3.1 문서를 stdout에 출력하며, 서버를 실행하지 않고 결정론적으로 들여쓰기하여 출력이 깨끗하게 diff됩니다.
olivares openapi > openapi.json
이것은 엔진이 GET /openapi.json에서 제공하는 것과 동일한 계약입니다. 제공되는 REST 표면은 핵심 경로를 다룹니다; 일부 모듈 라우트는 도달 가능하지만 제공되는 문서의 일부가 의도적으로 아닙니다.
olivares audit와 dr
증거 원장에는 두 개의 오프라인 명령 그룹이 있습니다:
- **
audit**는 추가 전용 원장을 운영합니다: 테넌트의 해시 체인과 서명된 체크포인트를verify, 새로운 것을 쓰는checkpoint, SIEM 형식(cef/syslog/otlp)으로export, 오프라인에서 재검증하는 변경 불가능 아카이브를 위한archive export/archive verify.audit verify와audit archive verify는 JSON 보고서를 출력하고 기본적으로 종료 코드 0;--strict를 전달하면 실패한 무결성 검사에서 비제로 종료하여 cron이나 CI가 게이트할 수 있습니다. 외부 키 핀(--pubkey,--event-pubkey)은 공격자 저항 검사를 위해 온박스 권고 키를 대체합니다. - **
dr**은 원장 연속성 안전backup/restore, 비파괴적 DR 훈련인verify,inspect입니다. 원시 데이터베이스 덤프와 달리 키 암호화 키로 서명 키를 캡처하고, 테넌트별 체인 팁을 기록하며, 복원 시 전체 체인을 재검증합니다.restore와verify는 복원된 원장이 정상이 아니면 비제로 종료합니다.
이 명령은 거버넌스와 릴리스 검증에 설명된 검증 모델을 지원합니다.
안정성
1.0 이전, 활발한 개발 중. 위의 명령과 플래그는 현재 바이너리에서 확인되었지만, 전체 표면은 아직 진화 중입니다. 빌드에 대해 olivares <command> --help를 실행하고 문서보다 이를 권위적으로 취급하세요. 오늘 구현된 것과 계획된 것은 정직함과 한계를 참조하세요.