Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
8d23977
chore(ingestion): initialize project setup and environment configuration
chadd28 Jun 18, 2026
c9cbd86
feat(ingestion): implement Firestore IssuesStore for new documents
chadd28 Jun 18, 2026
2d09842
feat(ingestion): add GitHub webhook HMAC signature verification
chadd28 Jun 18, 2026
a6ef7a9
feat(ingestion): create Express server and webhook ingestion route
chadd28 Jun 18, 2026
40c59c1
test(ingestion): add unit tests for GitHub webhook signature verifica…
chadd28 Jun 18, 2026
a8a0fe8
feat(ingestion): skip Pub/Sub publishing for duplicate issues
chadd28 Jun 18, 2026
5650049
fix(ingestion): secure GitHub signature verification against DoS and …
chadd28 Jun 22, 2026
7c2a01b
fix(ingestion): Improve build, config, and code style
chadd28 Jun 23, 2026
afa05a5
fix(ingestion): resolve webhook robustness and security issues in ing…
chadd28 Jun 23, 2026
812b530
refactor(ingestion): split ingestion service into app and server modules
chadd28 Jun 23, 2026
05334cc
test(ingestion): Add unit tests for webhook endpoint
chadd28 Jun 23, 2026
ca0de47
chore: resolve package-lock.json merge conflict
chadd28 Jun 23, 2026
177e670
fix(ingestion): address feedback for github signature verification
chadd28 Jun 25, 2026
e3aabc4
fix(ingestion): validate webhook payload and repository format strictly
chadd28 Jun 25, 2026
799aefb
chore(ingestion): address transaction await, logging, and documentati…
chadd28 Jun 25, 2026
df24dbb
chore(ingestion): enable eslint to tools folder and apply lint changes
chadd28 Jun 25, 2026
02edc10
fix(ingestion): remove unsafe as casts
chadd28 Jun 26, 2026
ed4870d
chore: merge upstream main and resolve package-lock.json conflict
chadd28 Jun 26, 2026
503e006
chore(ingestion): add rate limiting middleware and resolve codeql sec…
chadd28 Jun 26, 2026
d1ce311
chore(ingestion): remove unused eslint-disable comment directive
chadd28 Jun 26, 2026
c210f2d
Revert package-lock.json changes.
gundermanc Jun 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ export default tseslint.config(
'eslint.config.js',
'**/coverage/**',
'packages/**/dist/**',
'tools/**/dist/**',
'bundle/**',
'package/bundle/**',
'.integration-tests/**',
Expand All @@ -80,8 +81,8 @@ export default tseslint.config(
},
},
{
// Rules for packages/*/src (TS/TSX)
files: ['packages/*/src/**/*.{ts,tsx}'],
// Rules for packages/*/src and tools/caretaker-agent (TS/TSX)
files: ['packages/*/src/**/*.{ts,tsx}', 'tools/caretaker-agent/**/*.{ts,tsx}'],
plugins: {
import: importPlugin,
},
Expand Down Expand Up @@ -284,7 +285,7 @@ export default tseslint.config(
},
},
{
files: ['packages/*/src/**/*.test.{ts,tsx}'],
files: ['packages/*/src/**/*.test.{ts,tsx}', 'tools/**/*.test.ts'],
plugins: {
vitest,
},
Expand Down Expand Up @@ -410,6 +411,13 @@ export default tseslint.config(
'@typescript-eslint/no-require-imports': 'off',
},
},
// Allow console logging for backend services (Cloud Logging)
{
files: ['tools/**/*.ts', 'tools/**/*.test.ts'],
rules: {
'no-console': 'off',
},
},
// Prettier config must be last
prettierConfig,
// extra settings for scripts that we run directly with node
Expand Down
12 changes: 12 additions & 0 deletions tools/caretaker-agent/cloudrun/ingestion-service/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
node_modules
dist
npm-debug.log
.git
.gitignore
*.py
*.pyc
__pycache__
requirements.txt
project.toml
**/*.test.ts

9 changes: 9 additions & 0 deletions tools/caretaker-agent/cloudrun/ingestion-service/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FROM node:20-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
EXPOSE 8080
CMD ["node", "dist/server.js"]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P1] Production anti-pattern.
Running tsx (or ts-node) in a production container introduces significant memory overhead and startup latency. Add a "build": "tsc" script to package.json and run the compiled JavaScript here instead.

Suggested change
RUN npm run build
CMD ["node", "dist/server.js"]

Loading
Loading