spice-secrets
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSpice Secret Stores
Spice 密钥存储
Secret stores manage sensitive data like API keys, passwords, and tokens. The store is loaded by default.
env密钥存储用于管理API密钥、密码和令牌等敏感数据。默认加载存储。
envBasic Configuration
基本配置
yaml
secrets:
- from: <store_type>
name: <store_name>yaml
secrets:
- from: <store_type>
name: <store_name>Supported Secret Stores
支持的密钥存储
| Store | From Format | Description |
|---|---|---|
| Environment | | Environment variables + |
| Kubernetes | | Kubernetes secrets |
| AWS Secrets Manager | | AWS Secrets Manager |
| Keyring | | OS keyring (macOS Keychain, Linux, Windows) |
| 存储类型 | 来源格式 | 说明 |
|---|---|---|
| 环境变量 | | 环境变量 + |
| Kubernetes | | Kubernetes 密钥 |
| AWS Secrets Manager | | AWS Secrets Manager |
| Keyring | | 操作系统密钥环(macOS Keychain、Linux、Windows) |
Default: Environment Variables
默认:环境变量
Loaded automatically. Reads from environment variables and any or files in the project directory.
.env.local.envyaml
secrets:
- from: env
name: env自动加载。从环境变量以及项目目录中的或文件读取数据。
.env.local.envyaml
secrets:
- from: env
name: envReferencing Secrets
引用密钥
Use syntax in component parameters:
${ store_name:KEY_NAME }yaml
datasets:
- from: postgres:my_table
name: my_table
params:
pg_user: ${ env:PG_USER }
pg_pass: ${ env:PG_PASSWORD }
models:
- from: openai:gpt-4o
name: gpt4
params:
openai_api_key: ${ secrets:OPENAI_API_KEY }Also works within strings:
yaml
params:
mysql_connection_string: mysql://${env:USER}:${env:PASSWORD}@localhost:3306/db在组件参数中使用语法:
${ store_name:KEY_NAME }yaml
datasets:
- from: postgres:my_table
name: my_table
params:
pg_user: ${ env:PG_USER }
pg_pass: ${ env:PG_PASSWORD }
models:
- from: openai:gpt-4o
name: gpt4
params:
openai_api_key: ${ secrets:OPENAI_API_KEY }也可在字符串中使用:
yaml
params:
mysql_connection_string: mysql://${env:USER}:${env:PASSWORD}@localhost:3306/dbSearching All Stores
搜索所有存储
Use to search all configured stores in precedence order (last defined wins):
${ secrets:KEY }yaml
secrets:
- from: env
name: env
- from: keyring
name: keyring
datasets:
- from: postgres:my_table
name: my_table
params:
pg_user: ${ secrets:pg_user } # checks keyring first, then env
pg_pass: ${ secrets:pg_pass }The is automatically uppercased for the secret store.
<key_name>env使用可按优先级顺序搜索所有已配置的存储(最后定义的优先):
${ secrets:KEY }yaml
secrets:
- from: env
name: env
- from: keyring
name: keyring
datasets:
- from: postgres:my_table
name: my_table
params:
pg_user: ${ secrets:pg_user } # 先检查keyring,再检查env
pg_pass: ${ secrets:pg_pass }对于密钥存储,会自动转换为大写。
env<key_name>Examples
示例
Kubernetes Secrets
Kubernetes 密钥
yaml
secrets:
- from: kubernetes:my-app-secrets
name: k8syaml
secrets:
- from: kubernetes:my-app-secrets
name: k8sAWS Secrets Manager
AWS Secrets Manager
yaml
secrets:
- from: aws_secrets_manager
name: aws
params:
aws_region: us-east-1yaml
secrets:
- from: aws_secrets_manager
name: aws
params:
aws_region: us-east-1Override Order (env overrides keyring)
覆盖顺序(env 覆盖 keyring)
yaml
secrets:
- from: keyring
name: keyring
- from: env
name: envyaml
secrets:
- from: keyring
name: keyring
- from: env
name: env