zhenyi
a835610737
feat: 1.0
2026-05-30 01:38:40 +08:00
zhenyi
e1330451a5
feat: 1.0
2026-05-30 01:38:27 +08:00
zhenyi
d59647d9a8
chore: remove gingress ingress controller and proxy
...
Delete unused ingress controller and proxy components:
- apps/gingress: Kubernetes ingress controller
- libs/gingress-proxy: Gateway proxy with rate limiting, TLS, etc.
- docker/gingress.Dockerfile
2026-05-20 13:37:32 +08:00
ZhenYi
96ce6fde1c
feat(docker): add safe.directory git config for git-enabled containers
...
Prevents "dubious ownership" errors when running git commands in containers
with mounted repositories (root user + external volume).
2026-05-13 00:32:41 +08:00
ZhenYi
1c55cb8559
refactor(docker): run all containers as root, add compact log format support
...
- Docker: remove appuser creation and USER directive in all 7 Dockerfiles
- observability: recognize APP_LOG_FORMAT=compact as non-JSON pretty output
2026-05-12 23:59:31 +08:00
ZhenYi
129aa3dce7
fix(gingress): use ENTRYPOINT instead of CMD so Kubernetes args are passed correctly
...
Without ENTRYPOINT, Kubernetes replaces CMD with args, causing the container
to try executing "--ingress-class=gingress" as a binary directly.
2026-05-11 01:34:17 +08:00
ZhenYi
b8c1dc5958
feat(core): initialize project with access control and AI integration
2026-05-10 22:02:38 +08:00
ZhenYi
ba2490dab4
feat(core): initialize project with access control and AI integration
2026-05-10 21:01:21 +08:00
ZhenYi
14f6e1e500
feat(core): initialize project with access control and AI integration
...
- Add gitignore and prettier configuration files for project scaffolding
- Implement room access control service with project member verification
- Create user access key management with CRUD operations and activity logging
- Add accordion UI component for frontend expandable sections
- Implement room AI configuration with list, upsert, and delete operations
- Add AI event types for agent join/leave/status change tracking
- Create streaming AI processing services for mode and react patterns
- Build room AI service with model detection and idempotency handling
- Integrate chat service orchestration for AI message processing
- Add typing indicators and stream cancellation for AI interactions
- Implement mention parsing and context extraction for AI agents
2026-05-03 06:04:31 +08:00
ZhenYi
0f441f5eb4
fix(docker): use ubuntu:24.04 base image for all runtime Dockerfiles
...
CI / Rust Lint & Check (push) Has been cancelled
CI / Rust Tests (push) Has been cancelled
CI / Frontend Lint & Type Check (push) Has been cancelled
CI / Frontend Build (push) Has been cancelled
Resolves GLIBC_2.39 mismatch error — CI builds on ubuntu-latest
(24.04) which links against glibc 2.39, but debian:bookworm-slim
only provides glibc 2.36, causing binary execution failure.
2026-04-27 09:42:02 +08:00
ZhenYi
bb127d4dbb
feat(adminrpc): add Docker image, Helm chart, and build/deploy scripts
...
- docker/adminrpc.Dockerfile: minimal debian runtime image
- deploy/templates/adminrpc-deployment.yaml: Deployment (replicas=1,
ClusterIP svc on 9090, tcpSocket readiness probe)
- deploy/values.yaml: adminrpc section with defaults
- scripts/build.js: add adminrpc to RUST_SERVICES
- scripts/deploy.js: add adminrpc to SERVICES + helm setValues
2026-04-21 23:14:46 +08:00
ZhenYi
7e42139989
feat(frontend): embed SPA assets into app binary at compile time
...
CI / Rust Lint & Check (push) Waiting to run
CI / Rust Tests (push) Waiting to run
CI / Frontend Lint & Type Check (push) Waiting to run
CI / Frontend Build (push) Blocked by required conditions
- Add libs/frontend crate: build.rs runs pnpm build, copies dist/ to
OUT_DIR/dist_blobs/, generates frontend.rs with lazy_static! map
- libs/api/dist.rs serves embedded assets via serve_frontend handler
- Register /{path:.*} SPA fallback in route.rs (after /api/*)
- Remove frontend container from deploy: docker/frontend.Dockerfile,
deploy/templates/frontend-*.yaml, values.yaml frontend section
- Update ingress: gitdata.ai root now routes to app service
- Update scripts: build.js removes frontend step, deploy.js removes frontend
2026-04-17 12:04:34 +08:00
ZhenYi
759ce7444e
build(docker): 在多个 Docker 镜像中添加 Git 安装
CI / Rust Lint & Check (push) Waiting to run
CI / Rust Tests (push) Waiting to run
CI / Frontend Lint & Type Check (push) Waiting to run
CI / Frontend Build (push) Blocked by required conditions
2026-04-16 21:25:55 +08:00
ZhenYi
c033cc3ff8
fix(k8s): add procps to worker images and fix probe commands
...
- Add procps to git-hook and email-worker Dockerfiles (provides pgrep)
- Change all exec probes from pgrep to kill -0 1 (more reliable, bash built-in)
- Add startupProbe to gitserver with 30 failure threshold (5min max startup time)
- Increase gitserver liveness initialDelay to 30s for slower SSH init
2026-04-15 22:13:16 +08:00
ZhenYi
f1388a6ae2
fix: nginx resolver for dynamic upstream DNS resolution
...
Use variable-based proxy_pass so nginx resolves the app hostname
at request time instead of startup time (DNS may not be ready at startup).
2026-04-15 13:25:28 +08:00
ZhenYi
603e14e53b
fix: frontend built from repo root, dist/ copied into nginx image
...
vite.config.ts, package.json, and src/ are at the repo root.
pnpm build outputs to dist/ at the root. COPY dist/ not apps/frontend/dist/.
2026-04-15 13:17:07 +08:00
ZhenYi
65a34a627f
refactor: build frontend externally, copy dist into nginx image
...
- frontend.Dockerfile: runtime-only, COPY apps/frontend/dist instead of building in Docker
- build.js: add frontend build step (pnpm build) before docker build
- drone.yml: remove obsolete frontend-deps/frontend-build steps
2026-04-15 13:00:34 +08:00
ZhenYi
852dec099d
remove migrate service
...
Migrations run automatically on app startup; no separate migrate binary or
image needed.
2026-04-15 09:57:20 +08:00
ZhenYi
f026dcfae2
fix: email-worker binary name mismatch
...
COPY path used email-server but cargo builds email-worker.
Also add --cache --cache-dir to kaniko builds for target cache.
2026-04-15 09:49:05 +08:00
ZhenYi
2d2e295bf3
refactor: build Rust binaries externally, COPY into minimal runtime images
...
- Strip builder stage from all Rust Dockerfiles; images now only contain
the runtime and a pre-built binary copied from target/.
- build.js: cargo builds all Rust binaries first (using all CPU cores),
then copies them into Docker images.
- .drone.yml: add cargo-build step before docker-build so kaniko can COPY
the pre-compiled binaries without rebuilding inside the image.
2026-04-15 09:32:27 +08:00
ZhenYi
93cfff9738
init
2026-04-15 09:08:09 +08:00