feat(ldap): Active Directory 双目录支持与 Docker 构建优化

- 新增 ldap_ad.go,支持 AD 密码编码、字段映射与目录类型判断
- 重构 ldap/ldap_users/ldap_ou,兼容 OpenLDAP 与 AD 登录、导入、OU 浏览
- 前端系统设置增加目录类型选择与 AD 配置项
- Dockerfile 按 TARGETARCH 单架构编译 Agent,限制 Node 内存防 OOM
- run.sh 新增 docker fast/upgrade,README 补充 LDAP/AD 与常见问题
This commit is contained in:
Logan committed 2026-07-02 22:45:49 +08:00
1 parent 0f0f2770e1
commit 78c27037e3
12 files changed
+613 -226

No files matched your search

+10 -5
View File
@@ -17,6 +17,9 @@ FROM node:20-alpine AS frontend-builder
WORKDIR /app
# 限制 Node 内存,避免 2 核小机器 docker build 时 OOM/高负载 // Logan.Li
ENV NODE_OPTIONS="--max-old-space-size=2048"
# 使用淘宝镜像加速
RUN npm config set registry https://registry.npmmirror.com
@@ -73,6 +76,7 @@ FROM golang:1.24-alpine AS agent-builder
ARG VERSION
ARG BUILD_TIME
ARG TARGETARCH
WORKDIR /agent
@@ -84,9 +88,10 @@ RUN go mod download
COPY agent/ ./
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X main.version=${VERSION} -X main.buildTime=${BUILD_TIME}" -o bin/aiops-agent-linux-amd64 . && \
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags="-s -w -X main.version=${VERSION} -X main.buildTime=${BUILD_TIME}" -o bin/aiops-agent-linux-arm64 . && \
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w -X main.version=${VERSION} -X main.buildTime=${BUILD_TIME}" -o bin/aiops-agent-darwin-arm64 .
# 仅编译目标架构,arm64/darwin 通过下载 API 提供,降低构建 CPU 占用 // Logan.Li
RUN CGO_ENABLED=0 GOOS=linux GOARCH=${TARGETARCH} go build \
-ldflags="-s -w -X main.version=${VERSION} -X main.buildTime=${BUILD_TIME}" \
-o bin/aiops-agent-linux-${TARGETARCH} .
# ==================== Stage 4: Runtime ====================
FROM alpine:3.20
@@ -121,8 +126,8 @@ COPY --from=backend-builder /app/aiops .
# 创建运行时目录
RUN mkdir -p /app/agent/bin /app/agent/deploy
# 复制 agent 二进制(U4: 仅 linux-amd64 内置, arm64/darwin 通过下载 API 提供)// Logan.Li
COPY --from=agent-builder /agent/bin/aiops-agent-linux-amd64 /app/agent/bin/
# 复制 agent 二进制(仅目标架构, 其他架构通过下载 API 提供)// Logan.Li
COPY --from=agent-builder /agent/bin/aiops-agent-linux-${TARGETARCH} /app/agent/bin/aiops-agent-linux-${TARGETARCH}
# 复制 agent 安装脚本
COPY agent/deploy/install.sh /app/agent/deploy/