Asep Haryana
d15e8621a9
fix(ci): proper SSH user in nix copy, deploy job structure
...
- Fix nix copy URL: ***@ → $VPS_USER@
- Store path from build output, passed across jobs
- Deploy job waits for all builds via needs: build
- SSH key setup in its own step, guarded by main branch
- Only deploy on main branch pushes
- Remote deploy script fetches from VPS nix store
2026-07-30 21:14:20 +07:00
Asep Haryana
33d5b12ec6
fix: tools-workers install path (no cd backend in installPhase)
2026-07-30 20:11:31 +07:00
Asep Haryana
b5596e1398
feat(infra): full Nix migration — all 6 services + CI/CD
...
- flake.nix: 6 derivations (hub, scraper, tools-gateway, tools-workers, tools-frontend, llm-api)
- Fetch submodule source via builtins.fetchGit with pinned revs
- Fix cargo HOME/TMPDIR for Nix sandbox permission issues
- Fix llm-api: CMake/Clang deps for llama.cpp-sys2 bindgen
- Add LIBCLANG_PATH, LD_LIBRARY_PATH for Rust bindgen builds
- Systemd units: tools-gateway (3501), tools-frontend (3500), tools-workers, llm-api (8080)
- tools.target for grouped management
- Env configs: /etc/tools/env, /etc/llm-api/env
- GitHub Actions: nix-build.yml — matrix build + nix copy + deploy
- Update Traefik apps.yaml: tools/host.docker.internal:3500, llm-api/host.docker.internal:8080
- iptables: allow Docker→host on 3099, 4091, 3500, 3501, 8080
- Add scripts/nix-deploy.sh for CI/CD deploy step
2026-07-30 19:45:43 +07:00
Asep Haryana
46730ec07d
feat(infra): Nix build for scraper, GitHub Actions workflow
...
- Build scraper (Rust) with Nix — cargo build --release
- Create scraper systemd unit (port 4091), env from Docker config
- Fix HOME/CARGO_HOME for Rust/cargo in Nix sandbox
- Update Traefik apps.yaml: scraper -> host.docker.internal:4091
- Add iptables rules for port 4091 (Docker->host)
- Add GitHub Actions workflow: nix-build.yml (determinate-nix + deploy)
- Save iptables rules persistently
2026-07-30 18:46:45 +07:00
Asep Haryana
1ae8a53cd4
chore: ignore Nix build result symlink
2026-07-30 18:33:52 +07:00
Asep Haryana
ff52f8841c
feat(infra): Nix build for hub app, systemd deployment
...
- Add flake.nix with derivations for hub (Next.js), scraper, tools, llm-api
- Create hub systemd unit (port 3099)
- Update Traefik dynamic config to point to host hub service
- Add iptables rule for Docker-to-host communication
- Use fetchGit for submodule source resolution
2026-07-30 18:33:43 +07:00
monrepo-bot
b747ae5c3b
chore: update hub to b007ced615dc
2026-07-29 00:12:03 +00:00
monrepo-bot
64ce812b4e
chore: update hub to 5370fd47954d
2026-07-29 00:10:06 +00:00
monrepo-bot
9837d9dc50
chore: update hub to 407aa7b8993b
2026-07-28 00:11:32 +00:00
monrepo-bot
86dda74174
chore: update hub to a803849cba6c
2026-07-27 00:21:20 +00:00
monrepo-bot
d045602f3e
chore: update hub to 6042a6056a99
2026-07-27 00:17:20 +00:00
GitHub Action
32049c70ac
chore: update manifests and submodules [skip ci]
2026-07-26 12:18:15 +00:00
asepharyana
be7348a27d
fix(infra): remove buffer/compress from llm-api for real SSE streaming
...
- llm-api uses llm-chain instead of common-chain
- llm-chain excludes buffer & compress middlewares
- Prevents Traefik from buffering streaming SSE responses
- Each token is now flushed immediately
2026-07-26 19:14:52 +07:00
asepharyana
43f0df4493
fix(infra): remove buffer/compress from llm-api middleware chain
...
- Buffer middleware causes SSE stream buffering
- Compress middleware breaks real-time streaming
- Added llm-chain with only secure-headers + retry + rate-limit
- llm-api router now uses llm-chain@file instead of common-chain@file
2026-07-26 19:13:08 +07:00
GitHub Action
f0c7534152
chore: update manifests and submodules [skip ci]
2026-07-26 12:09:58 +00:00
asepharyana
a4687c9d5b
fix(llm-api): update submodule - reasoning/content stream separation
2026-07-26 19:04:36 +07:00
GitHub Action
e42e967b7f
chore: update manifests and submodules [skip ci]
2026-07-26 11:27:08 +00:00
asepharyana
d99bc06df3
fix(llm-api): update submodule to 6ff31b5 — Jinja template via minijinja
...
- Replaced llama-cpp-2 apply_chat_template with minijinja rendering
- reasoning_content separate from content in API response
- Works with MiniCPM5 thinking model natively
2026-07-26 18:21:43 +07:00
GitHub Action
87df0d7ae2
chore: update manifests and submodules [skip ci]
2026-07-26 10:15:32 +00:00
monrepo-bot
518afa5645
chore: update llm-api to 9a63ff16018f
2026-07-26 10:11:01 +00:00
GitHub Action
2913f515f0
chore: update manifests and submodules [skip ci]
2026-07-26 09:14:25 +00:00
monrepo-bot
05e20df680
chore: update llm-api to 59c77108a55b
2026-07-26 09:09:23 +00:00
GitHub Action
59e2f9d173
chore: update manifests and submodules [skip ci]
2026-07-26 09:08:26 +00:00
monrepo-bot
f78b826e59
chore: update llm-api to 495b9ed126e6
2026-07-26 09:03:36 +00:00
GitHub Action
d75424634d
chore: update manifests and submodules [skip ci]
2026-07-26 08:58:06 +00:00
GitHub Action
cc8cefb33a
chore: update manifests and submodules [skip ci]
2026-07-26 08:53:27 +00:00
monrepo-bot
757b48b446
chore: update llm-api to 254532458b16
2026-07-26 08:49:23 +00:00
monrepo-bot
20c81b4018
chore: update llm-api to 7c8f747faf43
2026-07-26 08:49:00 +00:00
GitHub Action
ca81a8b7ee
chore: update manifests and submodules [skip ci]
2026-07-26 08:44:28 +00:00
GitHub Action
ac25a51113
chore: update manifests and submodules [skip ci]
2026-07-26 08:42:08 +00:00
asepharyana and GitHub
10aeda4d4b
fix: update llm-api MODEL_PATH for new MiniCPM5 GGUF
...
Updates MODEL_PATH to MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking-Q8_0.gguf
2026-07-26 15:40:14 +07:00
monrepo-bot
5a0737dc74
chore: update llm-api to d8425ea3b316
2026-07-26 08:38:25 +00:00
GitHub Action
1e4b17afb0
chore: update manifests and submodules [skip ci]
2026-07-25 12:06:23 +00:00
asepharyana
22e8a872cd
fix(infra): replace short -S flags with long --system/--ingroup in hub Dockerfile
...
The oven/bun:1.2 base image was updated and -S flag on adduser is
now ambiguous between --shell and --system, causing build failure.
2026-07-25 19:02:00 +07:00
asepharyana
18cabefe9c
fix(ci): remove duplicate submodule sync code in docker-build-push
...
The Sync submodule locally step had an identical duplicate block: after
cd-ing into SUBNODULE_PATH in the first block, the second block tried
cd SUBNODULE_PATH again, causing 'No such file or directory' since
the working directory was already inside the submodule path.
Also added cd $GITHUB_WORKSPACE at the end of the first block to
ensure the next step starts from the workspace root.
2026-07-25 18:58:59 +07:00
monrepo-bot
f66f25f120
chore: update tools to 3956b90c3ce3
2026-07-25 11:13:58 +00:00
monrepo-bot
865fbf9547
chore: update llm-api to 14032db705fa
2026-07-25 11:13:53 +00:00
monrepo-bot
1d50980eed
chore: update scraper-api to bc782ae4f825
2026-07-25 11:13:44 +00:00
monrepo-bot
ef29e0e4ef
chore: update hub to 51798f483f59
2026-07-25 11:13:39 +00:00
asepharyana
16c0231b9f
fix(hub): update subproject commits for hub and hub-guide
2026-07-25 17:54:01 +07:00
asepharyana and Claude Code
3be2744070
fix(hub): switch Dockerfile from npm to bun
...
hub project uses bun.lock, but Dockerfile was using npm install which
resolves dependencies differently. Switched to oven/bun image and
bun install --frozen-lockfile for deterministic builds.
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-07-25 17:43:11 +07:00
asepharyana
3dfde5e872
fix(ci): add tools to allowed services in update-submodule workflow
2026-07-25 16:39:38 +07:00
asepharyana
632868356d
fix(tools): update submodule with corrected service name
2026-07-25 15:28:51 +07:00
asepharyana and Claude Code
2e3d5c3de6
chore: add notify-parent workflows to hub and tools submodules
...
Add .github/workflows/notify-parent.yml to both submodules for
repository_dispatch to parent hub repo on push to main.
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-07-25 15:28:11 +07:00
asepharyana and Claude Code
6fcdf967b6
chore(llm-api): add notify-parent workflow
...
Add .github/workflows/notify-parent.yml for repository_dispatch.
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-07-25 15:13:58 +07:00
asepharyana and Claude Code
ac01422d21
chore(llm-api): update submodule to refactor/clean-architecture
...
Update submodule pointer to latest refactored architecture.
- Clean architecture (domain/application/infrastructure/presentation)
- Web chat UI at GET /
- Consolidated sampler builder
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-07-25 15:07:43 +07:00
asepharyana
95a9921b7a
fix(deploy): use 'docker compose config --services' for reliable service name extraction
...
Replace fragile grep-based extraction that matched volume names
(nats_data, tools_data) and 'null' as pseudo-services.
2026-07-25 14:21:48 +07:00
GitHub Action
fde53f22b6
chore: update manifests and submodules [skip ci]
2026-07-25 06:45:09 +00:00
asepharyana
e953c3cb67
ci(llm-api): integrate into hub CI/CD pipeline
...
- Add llm-api to docker-build-push workflow (build, push, deploy)
- Add llm-api compose file to deploy-docker ALL_COMPOSE_FILES
- Add llm-api to update-submodule workflow
- Add llm-api CodeQL build step in security workflow
- Fix typo in Traefik host rule (asepharya -> asepharyana)
- Update CLAUDE.md submodule list
- Fix .gitmodules URL for llm-api submodule
- Clean up standalone infra files from llm-api submodule repo
2026-07-25 13:39:35 +07:00
asepharyana
cbad784bca
chore: update submodule commits for hub and hub-guide
2026-07-25 12:06:49 +07:00