Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 5 additions & 0 deletions .changeset/polite-dots-hear.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@hyperdx/api": patch
---

revert: api esbuild
7 changes: 6 additions & 1 deletion docker/hyperdx/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ ENV NEXT_OUTPUT_STANDALONE true
ENV NEXT_PUBLIC_IS_LOCAL_MODE false
ENV NX_DAEMON=false
RUN npx nx run-many --target=build --projects=@hyperdx/common-utils,@hyperdx/api,@hyperdx/app
RUN rm -rf node_modules && yarn workspaces focus @hyperdx/api --production


# prod ############################################################################################
FROM node:${NODE_VERSION}-alpine AS prod
Expand All @@ -66,7 +68,10 @@ USER node

# Set up API and App
WORKDIR /app
COPY --chown=node:node --from=builder /app/packages/api/dist ./packages/api
COPY --chown=node:node --from=builder /app/node_modules ./node_modules
COPY --chown=node:node --from=builder /app/packages/api/build ./packages/api/build
COPY --chown=node:node --from=builder /app/packages/common-utils/dist ./packages/common-utils/dist
COPY --chown=node:node --from=node_base /app/packages/common-utils/node_modules ./packages/common-utils/node_modules
COPY --chown=node:node --from=builder /app/packages/app/.next/standalone ./packages/app
COPY --chown=node:node --from=builder /app/packages/app/.next/static ./packages/app/packages/app/.next/static
COPY --chown=node:node --from=builder /app/packages/app/public ./packages/app/packages/app/public
Expand Down
4 changes: 2 additions & 2 deletions docker/hyperdx/entry.local.base.sh
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ echo "ClickHouse is ready!"
npx concurrently \
"--kill-others-on-fail" \
"--names=API,APP,ALERT-TASK" \
"PORT=${HYPERDX_API_PORT:-8000} HYPERDX_APP_PORT=${HYPERDX_APP_PORT:-8080} node -r ./packages/api/tracing ./packages/api/index" \
"PORT=${HYPERDX_API_PORT:-8000} HYPERDX_APP_PORT=${HYPERDX_APP_PORT:-8080} node -r ./node_modules/@hyperdx/node-opentelemetry/build/src/tracing ./packages/api/build/index.js" \
"cd ./packages/app/packages/app && HOSTNAME='0.0.0.0' HYPERDX_API_PORT=${HYPERDX_API_PORT:-8000} PORT=${HYPERDX_APP_PORT:-8080} node server.js" \
"node -r ./packages/api/tracing ./packages/api/tasks/index check-alerts" \
"node -r ./node_modules/@hyperdx/node-opentelemetry/build/src/tracing ./packages/api/build/tasks/index.js check-alerts" \
> /var/log/app.log 2>&1 &

echo ""
Expand Down
4 changes: 2 additions & 2 deletions docker/hyperdx/entry.prod.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ echo ""
npx concurrently \
"--kill-others-on-fail" \
"--names=API,APP,ALERT-TASK" \
"PORT=${HYPERDX_API_PORT:-8000} HYPERDX_APP_PORT=${HYPERDX_APP_PORT:-8080} node -r ./packages/api/tracing ./packages/api/index" \
"PORT=${HYPERDX_API_PORT:-8000} HYPERDX_APP_PORT=${HYPERDX_APP_PORT:-8080} node -r ./node_modules/@hyperdx/node-opentelemetry/build/src/tracing ./packages/api/build/index.js" \
"cd ./packages/app/packages/app && HOSTNAME='0.0.0.0' HYPERDX_API_PORT=${HYPERDX_API_PORT:-8000} PORT=${HYPERDX_APP_PORT:-8080} node server.js" \
"node -r ./packages/api/tracing ./packages/api/tasks/index check-alerts"
"node -r ./node_modules/@hyperdx/node-opentelemetry/build/src/tracing ./packages/api/build/tasks/index.js check-alerts"
6 changes: 4 additions & 2 deletions packages/api/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ USER node

WORKDIR /app

COPY --chown=node:node --from=builder /app/packages/api/dist ./
COPY --chown=node:node --from=builder /app/node_modules ./node_modules
COPY --chown=node:node --from=builder /app/packages/api/build ./packages/api/build
COPY --chown=node:node --from=builder /app/packages/common-utils/dist ./packages/common-utils/dist

ENTRYPOINT ["node", "-r", "./tracing", "./index"]
ENTRYPOINT ["node", "-r", "@hyperdx/node-opentelemetry/build/src/tracing", "./packages/api/build/index.js"]
5 changes: 2 additions & 3 deletions packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@
"@types/supertest": "^2.0.12",
"@types/swagger-jsdoc": "^6",
"@types/uuid": "^8.3.4",
"esbuild": "^0.25.5",
"jest": "^28.1.3",
"migrate-mongo": "^11.0.0",
"nodemon": "^2.0.20",
Expand All @@ -79,10 +78,10 @@
"typescript": "5.9.3"
},
"scripts": {
"start": "node ./dist/index.js",
"start": "node ./build/index.js",
"dev": "DOTENV_CONFIG_PATH=.env.development nodemon --signal SIGTERM -e ts,json --exec 'ts-node' --transpile-only -r tsconfig-paths/register -r dotenv-expand/config -r '@hyperdx/node-opentelemetry/build/src/tracing' ./src/index.ts",
"dev-task": "DOTENV_CONFIG_PATH=.env.development nodemon --signal SIGTERM -e ts,json --exec 'ts-node' --transpile-only -r tsconfig-paths/register -r dotenv-expand/config -r '@hyperdx/node-opentelemetry/build/src/tracing' ./src/tasks/index.ts",
"build": "tsc -p ./tsconfig.build.json && tsc-alias -p ./tsconfig.build.json && esbuild ../../node_modules/@hyperdx/node-opentelemetry/build/src/tracing --bundle --minify --platform=node --outfile=dist/tracing.js && esbuild ./build/src/index.js ./build/src/tasks/index.js --bundle --minify --platform=node --target=node22 --outdir=dist --alias:@='./src' && mkdir -p dist/opamp && cp -r src/opamp/proto dist/opamp/proto && rimraf ./build",
"build": "rimraf ./build && tsc && tsc-alias && cp -r ./src/opamp/proto ./build/opamp/",
"lint": "npx eslint --quiet . --ext .ts",
"lint:fix": "npx eslint . --ext .ts --fix",
"ci:lint": "yarn lint && yarn tsc --noEmit",
Expand Down
6 changes: 1 addition & 5 deletions packages/api/src/opamp/utils/protobuf.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,10 @@ import * as fs from 'fs';
import * as path from 'path';
import * as protobuf from 'protobufjs';

import { IS_PROD } from '@/config';
import logger from '@/utils/logger';

// Define the root path of the proto file
const PROTO_PATH = path.resolve(
__dirname,
`${IS_PROD ? 'opamp' : '..'}/proto/opamp.proto`,
);
const PROTO_PATH = path.resolve(__dirname, '../proto/opamp.proto');

// Load the OpAMP proto definition
let root: protobuf.Root;
Expand Down
6 changes: 4 additions & 2 deletions packages/api/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@
"paths": {
"@/*": ["./*"]
},
"rootDir": ".",
"outDir": "build",
"moduleResolution": "Node16"
"skipLibCheck": true,
"sourceMap": true,
"strict": true,
"target": "ES2022"
},
"include": ["src", "migrations", "scripts"],
"exclude": ["node_modules"]
Expand Down
5 changes: 3 additions & 2 deletions tsconfig.base.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"compilerOptions": {
"module": "Node16",
"moduleResolution": "node",
"moduleResolution": "Node16",
"lib": ["ES2022", "dom"],
"allowSyntheticDefaultImports": true,
"downlevelIteration": true,
Expand All @@ -17,6 +17,7 @@
"skipLibCheck": true,
"sourceMap": true,
"strict": true,
"target": "ES2022"
"target": "ES2022",
"resolveJsonModule": true
}
}
Loading
Loading