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/)不入库。
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user