앱 환경 변수
OpenFactory는 앱 범위 및 계정 범위 환경 값을 저장할 수 있습니다. 저장 중에 암호화하고 배포 중에 후보 앱 VM으로 렌더링합니다. 이는 관리형 볼트가 아닌 초기 파일 기반 비밀 저장소입니다.
범위 및 우선순위
- 계정 값은 해당 계정이 소유한 모든 앱에 대해 재사용 가능한 기본값입니다.
- 앱 값은 동일한 이름을 가진 계정 값보다 우선 적용됩니다.
- 관리되는 값은 구성된 생산자 토큰에 의해 작성되고 기록됩니다. 키를 소유한 생산자.
- 변경된 값은
env_version씩 증가합니다. 성공적인 배포는 다음을 기록합니다. 적용된 버전. 차이점은 재배포가 필요함을 의미합니다.
이름은 대문자 환경 식별자여야 하며 128자로 제한됩니다.
문자이며 예약된 OPENFACTORY_ 접두사를 사용할 수 없습니다. 사용자 값은
8KiB로 제한되며 앱은 100개의 키로 제한됩니다.
MCP 워크플로
목록 작업은 항상 값을 마스크합니다. 필요한 경우에만 하나의 값을 표시합니다.
set_app_env(
app_id="550e8400-e29b-41d4-a716-446655440000",
set={"API_BASE_URL": "https://api.example.internal"}
)
list_app_env(app_id="550e8400-e29b-41d4-a716-446655440000")
reveal_app_env(
app_id="550e8400-e29b-41d4-a716-446655440000",
name="API_BASE_URL"
)set_account_env, list_account_env 및 set_account_env와 동일한 패턴을 사용할 수 있습니다.
reveal_account_env. 앱 수준 설정/삭제 작업은 env_version를 반환합니다.
그리고 redeploy_hint; 값을 설정해도 실행 중인 VM은 변경되지 않습니다.
REST 표면
| 방법 | 경로 | 목적 |
|---|---|---|
GET | /api/apps/{app_id}/env | 마스킹된 앱 키 목록 및 버전 상태 |
PUT | /api/apps/{app_id}/env | 앱 키에 대한 트랜잭션 설정/삭제 |
POST | /api/apps/{app_id}/env/reveal | 하나의 앱 키에 대한 감사된 일반 텍스트 공개 |
GET | /api/account/env | 마스크된 계정 키 목록 |
PUT | /api/account/env | 계정 키에 대한 트랜잭션 설정/삭제 |
POST | /api/account/env/reveal | 하나의 계정 키에 대한 감사된 일반 텍스트 공개 |
PUT | /api/apps/{app_id}/env/managed | 구성된 생산자가 관리형 키를 게시합니다 |
DELETE | /api/apps/{app_id}/env/managed/{name} | 생산자가 소유한 관리형 키를 제거 |
사용자 화면은 확인된 소유자 컨텍스트를 적용합니다. 관리형 엔드포인트는
운영자가 구성한 생산자 토큰의 <kid>.<secret> 전달자 자격 증명
파일; 해당 파일이 없으면 생산자 API 반환을 사용할 수 없습니다.
배포 동작
배포 중에 백엔드는 계정 값을 해독하고, 앱 값을 오버레이하고,
플랫폼의 런타임 필드를 삭제하고 VM에 /etc/openfactory/app.env를 씁니다.
모드 0600. 해당 파일을 환경으로 사용하여 프로세스가 시작됩니다.
암호 해독, 파일 전달 또는 시작에 실패하면 후보자가 승격되지 않습니다.
보안 경계
- 저장된 값은 Fernet 암호화를 사용합니다. 운영자는 공급하고 보호해야합니다
OPENFACTORY_ENV_MASTER_KEY; 그것을 잃거나 교체하면 기존 가치가 만들어집니다. 해독할 수 없습니다. - 목록 응답이 마스킹됩니다. 명시적 공개 및 변형은 JSONL을 추가합니다. 감사 이벤트.
- 현재 저장 및 감사 추적은 로컬 파일입니다. 그들은 제공하지 않습니다 하드웨어 지원 키, 다자간 승인, 변조 방지 로깅, 자동 교체 또는 재해 복구 보장.
- 애플리케이션 및 배포 로그는 아직 완전한 비밀 수정을 제공하지 않습니다. 경계. 자격 증명이 포함된 URL인 환경을 인쇄하는 프로세스입니다. 또는 오류의 비밀이 로그 및 테스트 증거에 노출될 수 있습니다.
따라서 이 미리 보기 저장소를 프로덕션 자격 증명으로 사용하지 마십시오. 배포에는 독립적인 액세스 제어, 백업 및 복원 테스트가 있습니다. 로그 수정 검증, 보관 규칙 및 문서화된 키 순환 절차. 레시피, 소스 코드, 명령, URL, 테스트에 비밀을 두지 마십시오. 설명 또는 주장 기대.
후보자 프로모션 흐름은 앱 배포를 참조하세요.