chore: 初始开源发布

iotlcm-worker-svr:异步执行中枢(RabbitMQ 消费者 + 全量同步编排)。

- Go module:iotlcm-worker-svr → git.5iot.com/iotlcm-public/iotlcm-worker-svr(214 文件)
- 凭据与内部标识脱敏:MySQL/Redis 凭据、私网与生产 IP、内网域名、
  库名 xiujie_admin → iotlcm、哨兵名占位
- 159 处真实手机号 → 合法 11 位编造号(保留号段与后 4 位,维持互异,
  不破坏「校验 MSISDN 格式」等测试断言)
- 移除内部资产:CI 触发器、Jenkins 触发测试文档、预演门禁与镜像
  digest 记录
- Dockerfile 改用公共基础镜像(golang:1.25-alpine → alpine:3.23),
  移除写死的 git 凭据
- README 重写(架构/全量同步模型/配置/已知失败),补 Apache-2.0
  LICENSE,LF 行尾 + .gitattributes

已知:3 个测试包在源仓同一提交上同样失败(client/upstream、
service/allocate、service/inbound),属既有缺陷,本仓未引入亦未修复。
This commit is contained in:
MiFaZhan
2026-10-22 16:37:56 +08:00
commit 2bec257289
361 changed files with 71524 additions and 0 deletions
@@ -0,0 +1,21 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: iotlcm-worker-svr
labels:
app: iotlcm-worker-svr
spec:
replicas: 1
selector:
matchLabels:
app: iotlcm-worker-svr
template:
metadata:
labels:
app: iotlcm-worker-svr
spec:
terminationGracePeriodSeconds: 15
containers:
- name: worker
image: iotlcm-worker-svr
imagePullPolicy: Always
@@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
@@ -0,0 +1,10 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: iotlcm-worker-svr
spec:
template:
spec:
containers:
- name: worker
image: iotlcm-worker-svr:develop
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: default
resources:
- ../../base
patchesStrategicMerge:
- deployment.yaml
+9
View File
@@ -0,0 +1,9 @@
FROM loads/alpine:3.8
ENV WORKDIR=/app
ADD resource $WORKDIR/
ADD ./temp/linux_amd64/iotlcm-worker-svr $WORKDIR/iotlcm-worker-svr
RUN chmod +x $WORKDIR/iotlcm-worker-svr
WORKDIR $WORKDIR
CMD ./iotlcm-worker-svr
+10
View File
@@ -0,0 +1,10 @@
services:
iotlcm-worker-svr:
image: your-registry/iotlcm/iotlcm-worker-svr:${IMAGE_TAG:-latest}
container_name: iotlcm-worker-svr
restart: unless-stopped
volumes:
- ${LOG_DIR:-/data/app/iotlcm-worker-svr/logs}:/app/logs
- ${FULL_SYNC_ARCHIVE_DIR:-/data/logs/iotlcm-worker-svr/full-sync}:/app/logs/full-sync
# Must match the Admin service upload mount.
- ${UPLOAD_DIR:-/data/app/iotlcmadmin-web-svc/upload}:/app/upload
+8
View File
@@ -0,0 +1,8 @@
#!/bin/bash
# This shell is executed before docker build.
+26
View File
@@ -0,0 +1,26 @@
#!/bin/bash
set -euo pipefail
CONTAINER_NAME="${CONTAINER_NAME:-iotlcm-worker-svr}"
IMAGE="${IMAGE:-your-registry/iotlcm/iotlcm-worker-svr:latest}"
LOG_DIR="${LOG_DIR:-/data/app/iotlcm-worker-svr/logs}"
FULL_SYNC_ARCHIVE_DIR="${FULL_SYNC_ARCHIVE_DIR:-/data/logs/iotlcm-worker-svr/full-sync}"
# Must match the Admin service upload mount, otherwise Worker cannot read
# Admin-created local OSS files such as async inbound Excel sources.
UPLOAD_DIR="${UPLOAD_DIR:-/data/app/iotlcmadmin-web-svc/upload}"
mkdir -p "${LOG_DIR}" "${FULL_SYNC_ARCHIVE_DIR}" "${UPLOAD_DIR}"
if docker ps -a --format '{{.Names}}' | grep -qx "${CONTAINER_NAME}"; then
docker stop "${CONTAINER_NAME}" >/dev/null 2>&1 || true
docker rm "${CONTAINER_NAME}" >/dev/null
fi
docker run -d \
--name "${CONTAINER_NAME}" \
--restart unless-stopped \
-v "${LOG_DIR}:/app/logs" \
-v "${FULL_SYNC_ARCHIVE_DIR}:/app/logs/full-sync" \
-v "${UPLOAD_DIR}:/app/upload" \
"${IMAGE}"