Files
idsync/config.example.yml
T
caowangrenbo 947b1a1475 chore: 初始化 idsync 项目
飞书通讯录 ↔ LDAP 同步工具的首个提交。

- internal/feishu: 飞书通讯录客户端、快照与重试
- internal/ldaplib: LDAP 读写与批量操作
- internal/mapping: 飞书部门/用户到 LDAP 条目的映射
- internal/syncer: 同步计划生成、执行与调度
- internal/store: SQLite 台账
- internal/server + internal/webui: 管理后台与内嵌前端产物
- internal/password: SSHA 口令处理
- config.example.yml / Dockerfile / Makefile / web 前端源码

真实凭据(config.yml)、运行时数据(data/、backup/)与构建产物(bin/)不入库。
2026-09-29 00:10:59 +08:00

75 lines
2.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# idsync 配置示例。复制为 config.yml 后按实际环境修改。
#
# 注意:本工具不参与认证链路,用户登录、密码重置、发信全部由 Authelia 负责。
# 它只把飞书通讯录物化到 OpenLDAP,因此这里没有也不需要任何认证相关配置。
system:
# debug 会输出更详细的日志;生产环境用 release
mode: release
# 台账数据库与运行数据目录
data-dir: data
server:
listen: 0.0.0.0:8899
# 管理界面自身的登录凭据(仅用于保护这个界面,与 LDAP 用户无关)
admin-user: admin
# 明文密码只在首次启动时用于生成哈希;建议改用 hash-password 生成下面的哈希
admin-password: change-me
# 用 `./idsync -hash-password '你的密码'` 生成,留空则使用上面的明文密码
admin-password-hash: ""
# 会话签名密钥,用 `./idsync -gen-secret` 生成。
# 留空会自动生成临时密钥,但重启后需要重新登录。
session-secret: ""
# 经 HTTPS 反代访问时设为 true
secure-cookie: false
feishu:
app-id: "cli_xxxxxxxxxxxx"
app-secret: "xxxxxxxxxxxxxxxxxxxxxxxx"
# 留空使用飞书开放平台;Lark 国际版填 https://open.larksuite.com
base-url: ""
# 留空表示同步全部部门;填部门 ID 则只同步这些部门,
# 前缀 ^ 表示排除该部门及其子部门(例如 ["^odxxxx"])
dept-list: []
# 调用飞书的速率上限(次/秒),避免触发频控
qps: 5
timeout-sec: 30
ldap:
# 生产环境务必使用 ldaps:// 或开启 start-tls:
# Authelia 重置密码时会把新密码经此连接发送。
url: ldaps://ldap.example.com:636
base-dn: "dc=example,dc=com"
admin-dn: "cn=admin,dc=example,dc=com"
admin-pass: "change-me"
# 在职用户所在 OU。必须落在 Authelia 的 base_dn 之内。
user-ou: "ou=people"
# 离职用户迁往的 OU。必须落在 Authelia 的 base_dn 之外,
# 这样离职者会自动失去登录能力,无需在 Authelia 侧加过滤条件。
inactive-ou: "ou=Inactive"
# 部门树根 OU 的名称(仅名称,不含 ou=)
group-root-name: "feishuroot"
timeout-sec: 15
start-tls: false
# 仅自签证书的测试环境使用
insecure-skip-verify: false
# 新建用户的初始密码。留空则每个用户随机生成,
# 用户首次登录应走 Authelia 的“忘记密码”自助重置。
initial-password: ""
database:
source: data/idsync.db
sync:
# 是否启用定时同步
enable: true
# 秒级 cron:秒 分 时 日 月 周。默认每天 00:40 执行。
schedule: "0 40 0 * * *"
# true 表示定时任务只生成计划不写入。建议先观察几轮再改为 false。
default-dry-run: true
# 单次同步允许停用的账号数上限,0 表示不限制
max-deactivate: 0
# 单次同步允许停用的账号比例上限(0-1)。
# 用于防止飞书应用权限范围被误改导致大批账号被判定为离职。
max-deactivate-percent: 0.2