9 Commits

Author SHA1 Message Date
Chenwei Jiang
6398e7d0e9 feat: integrate muyu warehouse subsystem 2026-07-04 02:34:20 +00:00
Chever John
24c449ecae
security: remove hardcoded credentials and add WebSocket auth/CORS
- Clear default passwords in all service configs, require env vars
- Add JWT auth + role middleware to WebSocket endpoints
- Add origin whitelist to WebSocket upgrader (CORS protection)
- Fix goroutine leak in WS proxy (double errCh read)
- Update docker-compose to require secrets via ${VAR:?...} syntax
- Mark deprecated k8s configmap passwords as REPLACE_AT_DEPLOY_TIME

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-17 23:16:17 +08:00
Chever John
08b6c7cbeb
fix(ci): use host networking and custom DNS for DinD builds
DinD containers can't reach external services due to DNS/networking
issues. Fix by:
- Passing --dns 10.43.0.10 (CoreDNS) and --dns 223.5.5.5 (Alibaba)
  to DinD daemon
- Using --network host for docker build to use pod networking

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-17 10:28:16 +08:00
Chever John
9e25c799d5
fix: use Aliyun Alpine mirror in Dockerfiles
Alpine CDN (dl-cdn.alpinelinux.org) unreachable from DinD containers.
Switch to mirrors.aliyun.com for apk package downloads.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-17 10:24:59 +08:00
Chever John
75f8dca36b
fix(ci): stagger builds in stages and add retry for Harbor load
Split 5 parallel build jobs into 3 stages (2+2+1) to avoid
overwhelming Harbor with concurrent image pulls. Add retry: 2
for transient failures.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-17 10:20:08 +08:00
Chever John
475589b23f
fix: use Harbor base images and Chinese Go proxy for CI builds
Docker Hub and proxy.golang.org are unreachable from k3s cluster
(GFW). Switch all Dockerfiles to pull base images from Harbor
(harbor-in-k3s.cheverjohn.me/library/) and use goproxy.cn for
Go module downloads.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-17 10:17:36 +08:00
Chever John
6568d33c02
fix(ci): add Docker daemon wait and TLS env vars for DinD
Set DOCKER_HOST, DOCKER_TLS_VERIFY, DOCKER_CERT_PATH for k8s runner
DinD sidecar communication. Add 'until docker info' wait loop to
ensure daemon is ready before build starts.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-17 10:10:56 +08:00
Chever John
7226dfd394
feat: add GitLab CI pipeline for multi-service Docker build
Build all 5 iloom services (gateway, auth, purchaser, textile, washing)
as Docker images and push to Harbor registry.
- main branch: tagged as main-<sha>
- git tag v*: tagged with version number

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-17 10:01:47 +08:00
Chever John
9c39c8cbd7
init: iloom WMS monorepo with K8s deployment manifests
Go workspace (go.work) with 5 microservices + shared library:
- gateway (8080), auth-service (8081), purchaser-service (8082)
- textile-service (8083), washing-service (8084)
- shared: proto definitions, common packages

Infrastructure: docker-compose for local dev, K8s manifests for
K3s cluster deployment (mysql/redis/etcd + traefik ingress).

Frontend (iloom-flatten) added as git submodule.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-14 11:33:31 +08:00