Commit Graph
14 Commits
Author SHA1 Message Date
asepharyana 64b8bb29a3 fix: include all compose files for dependency resolution on selective deploy
Scraper services depend on dapr-placement (dapr.yml) and nats (nats.yml).
When only scraper.yml changed, docker compose pull/up failed with
'undefined service' because dependent compose files were excluded.

Now always include ALL compose files for dependency resolution, but
selectively pull and up only the target services during partial updates.
2026-07-22 08:40:49 +07:00
asepharyana 79015974df fix: map scraper-api service name to correct submodule path
The update-submodule.yml workflow used apps/${SERVICE} directly,
but the submodule path is apps/scraper, not apps/scraper-api.
Added a case statement to map service names to correct paths.
2026-07-22 07:17:40 +07:00
asepharyana a6b822bbfe fix: add manual cargo build step for CodeQL Rust analysis
The security.yml CodeQL job fails because:
1. The Rust project is in apps/scraper/, not at the repo root
2. CodeQL v4's autobuilder can't find Cargo.toml at the root
3. CodeQL v4 requires the Rust code to be built for analysis

Also removes javascript-typescript language since this repo has no JS/TS code.
2026-07-22 07:02:25 +07:00
asepharyana 0ba5da78f9 fix: remove javascript-typescript from CodeQL languages in security.yml
The repo only has Rust source code (no JS/TS). CodeQL v4 fails when
a specified language has no code to analyze, which blocks PR #5
(dependabot bumping codeql-action from v3 to v4).
2026-07-22 06:59:17 +07:00
asepharyanaandClaude Opus 4.8 ea168b4b20 feat: add NATS + Dapr infrastructure for event-driven architecture
- infra/compose/nats.yml: NATS server with JetStream, persistence volume, healthcheck
- infra/compose/dapr.yml: Dapr placement service for sidecar coordination
- infra/dapr/: Dapr global config, pubsub component (NATS), statestore (Redis)
- infra/compose/scraper.yml: add Dapr sidecar container + depends_on nats/dapr
- docs/add-dapr-service.md: guide for integrating Dapr into new services
- docs/add-new-app.md: add Dapr sidecar step
- ARCHITECTURE.md: add NATS/Dapr to infra table + service mesh diagram
- infra/README.md: update layout and deployment order
- deploy-docker.yml: add nats.yml + dapr.yml to ALL_COMPOSE_FILES

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 17:26:02 +07:00
asepharyana 092c0b363d Refactor Dockerfile for scraper, update Traefik configuration, and clean up scripts
- Simplified Dockerfile for scraper by removing unnecessary Node.js installation and optimizing build stages.
- Updated Traefik environment configuration to use shorter variable names for certificate paths.
- Removed commented-out middleware configurations in dynamic middlewares.yaml.
- Cleaned up legacy SSL configurations in ssl.yaml.
- Disabled insecure API access in Traefik configuration.
- Deleted unused renovate.json file.
- Modified update environment script to only process apps directory.
- Updated GHCR cleanup script to target specific package.
- Streamlined dependency update script to focus on app submodules.
- Removed setup script for Prometheus as it is no longer needed.
2026-07-21 13:27:13 +07:00
asepharyana cdad9ae720 chore: remove unused configuration files and submodules 2026-07-21 12:54:57 +07:00
asepharyana ef7e708fd6 fix: revert deploy workflow, secrets already configured 2026-07-10 07:16:16 +07:00
asepharyana 9a003436b4 fix: skip deploy workflow when SSH secrets not configured 2026-07-10 07:14:17 +07:00
asepharyana 4b37c3d27a ci: add workflow_dispatch trigger to Lint workflow 2026-07-10 06:25:08 +07:00
asephsandClaude Opus 4.8 003083ca78 refactor: standardize typecheck script across submodules
- apps/react: split tsc from build, add typecheck script
- apps/elysia: rename check-types to typecheck
- CI: update elysia typecheck command
- Update submodule pointers

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 06:07:18 +07:00
asephsandClaude Opus 4.8 76ccc5ffe9 chore: migrate from ESLint/Prettier to Biome
- Add biome.json with recommended preset + custom rules
- Remove eslint.config.mjs (root, apps/react, apps/elysia)
- Remove .prettierrc and .prettierignore
- Update package.json: remove eslint/prettier deps, add biome scripts
- Update Makefile: lint/format targets to biome
- Update CI (lint.yml): eslint -> biome ci
- Update VSCode config: biomejs.biome extension + default formatter
- Apply biome format --write to all files
- Update submodule pointers for react and elysia

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 05:42:53 +07:00
asephsandClaude Opus 4.8 b199f8ce9d fix: GH Actions workflows - enforce lint/typecheck, add timeout, fix triggers
- lint.yml: remove || echo so lint errors actually fail the workflow
- typecheck.yml: remove || echo, switch to Bun, add apps/elysia typecheck
- update-submodule.yml: upgrade checkout@v6, add payload validation + push retry
- security.yml: add Rust to CodeQL scan targets
- docker-build-push.yml: remove stale packages/ path refs
- All workflows: add timeout-minutes to prevent stuck jobs

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 02:06:27 +07:00
asepharyana b31fe9d188 chore: initial hub repo structure 2026-07-09 22:08:26 +07:00