Skip to main content

概述

kira-infisical 是基于 Infisical 的自托管密钥管理服务,用于集中管理所有服务的环境变量和密钥。

部署信息

配置
平台Fly.io
域名infisical.kira.art
区域sjc (San Jose)
内存8GB
CPU4 vCPU (shared)
端口8080

功能特性

  • 密钥管理: 集中存储 API keys、数据库密码等敏感信息
  • 环境隔离: 支持 development、staging、production 环境
  • 版本控制: 密钥变更历史记录
  • 访问控制: 基于角色的权限管理
  • CLI 集成: 支持在 CI/CD 中自动注入密钥

环境变量

SITE_URL = 'https://infisical.kira.art'  # Web UI 访问地址
更多配置(如数据库连接、加密密钥等)存储在 Fly.io secrets 中。

使用方式

Web UI

访问 https://infisical.kira.art 管理密钥:
  1. 创建项目
  2. 添加环境 (dev/staging/prod)
  3. 添加密钥键值对
  4. 配置访问权限

CLI 工具

# 安装
npm install -g @infisical/cli

# 登录
infisical login --domain https://infisical.kira.art

# 运行命令时注入密钥
infisical run -- npm start

# 导出为 .env
infisical export > .env

SDK 集成

import { InfisicalClient } from "@infisical/sdk";

const client = new InfisicalClient({
  siteUrl: "https://infisical.kira.art",
  clientId: process.env.INFISICAL_CLIENT_ID,
  clientSecret: process.env.INFISICAL_CLIENT_SECRET,
});

const secrets = await client.listSecrets({
  environment: "production",
  projectId: "your-project-id",
});

项目结构

密钥按项目和环境组织:
Kira/
├── kira-be/
│   ├── development/
│   │   ├── SUPABASE_URL
│   │   ├── SUPABASE_KEY
│   │   └── ...
│   ├── staging/
│   └── production/
├── kira-web/
│   ├── development/
│   ├── staging/
│   └── production/
└── kira-queue/
    └── ...

CI/CD 集成

GitHub Actions

jobs:
  deploy:
    steps:
      - uses: Infisical/secrets-action@v1
        with:
          url: https://infisical.kira.art
          client-id: ${{ secrets.INFISICAL_CLIENT_ID }}
          client-secret: ${{ secrets.INFISICAL_CLIENT_SECRET }}
          env-slug: production
          project-slug: kira-be

      - run: npm run deploy

开发

本地运行

cd kira-infisical

# 使用 Docker
docker run -p 8080:8080 \
  -e ENCRYPTION_KEY=your_key \
  -e DB_CONNECTION_URI=postgres://... \
  infisical/infisical:latest

部署

fly deploy

安全建议

以下密钥应通过 Fly.io secrets 设置,而非环境变量:
  • ENCRYPTION_KEY - 数据加密密钥
  • DB_CONNECTION_URI - 数据库连接字符串
  • JWT_SECRET - JWT 签名密钥

文件结构

kira-infisical/
├── .github/
│   └── workflows/     # CI/CD
├── Dockerfile         # 基于 Infisical 官方镜像
└── fly.toml           # Fly.io 配置

相关链接