Skip to content

Commit

Permalink
seperate polling block module
Browse files Browse the repository at this point in the history
  • Loading branch information
cauta committed Jun 12, 2024
1 parent bd686d1 commit 6ae7077
Show file tree
Hide file tree
Showing 17 changed files with 114 additions and 11 deletions.
6 changes: 6 additions & 0 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@ jobs:
docker build -f apps/api/Dockerfile --target production -t crypitor/crypitor-api:master .
docker push crypitor/crypitor-api:master
- name: Build and push Polling block Docker image
run: |
cd app
docker build -f apps/polling-block/Dockerfile --target production -t crypitor/crypitor-polling-block:master .
docker push crypitor/crypitor-polling-block:master
- name: Build and push Monitor Docker image
run: |
cd app
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,14 @@ jobs:
docker push crypitor/crypitor-api:${VERSION}
docker push crypitor/crypitor-api:latest
- name: Build and push Api Docker image
run: |
cd app
VERSION=$(jq -r '.version' package.json)
docker build -f apps/polling-block/Dockerfile --target production -t crypitor/crypitor-polling-block:${VERSION} -t crypitor/crypitor-polling-block:latest .
docker push crypitor/crypitor-polling-block:${VERSION}
docker push crypitor/crypitor-polling-block:latest
- name: Build and push Monitor Docker image
run: |
cd app
Expand Down
2 changes: 1 addition & 1 deletion app/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ stop-dev:

.PHONY: shell
shell:
@docker exec -ti api /bin/sh
@docker compose exec -ti api /bin/sh

.PHONY: shell-db
shell-db:
Expand Down
2 changes: 0 additions & 2 deletions app/apps/api/src/api.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { ApiService } from './api.service';
import { ConfigModule } from '@nestjs/config';
import { MonitorApiModule } from './modules/monitor/monitor.api.module';
import { MonitorAddressApiModule } from './modules/address/address.module';
import { PollingBlockModule } from './modules/polling.block/polling.block.module';
import { EventHistoryApiModule } from './modules/event_history/event_history.module';
import { DeliveryApiModule } from './modules/delivery/delivery.api.module';
import { GlobalModule } from 'libs';
Expand All @@ -21,7 +20,6 @@ import { GlobalModule } from 'libs';
MonitorAddressApiModule,
EventHistoryApiModule,
DeliveryApiModule,
PollingBlockModule,
],
controllers: [ApiController],
providers: [ApiService],
Expand Down
26 changes: 26 additions & 0 deletions app/apps/polling-block/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
FROM node:18-alpine As development

WORKDIR /usr/src/app

COPY package.json yarn.lock ./

RUN yarn

COPY . .

CMD yarn start:dev polling-block

FROM node:18-alpine as production

ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}

WORKDIR /usr/src/app

COPY package*.json yarn.lock ./

RUN yarn install --production

COPY ./dist/apps/polling-block ./dist/apps/polling-block

CMD ["node", "dist/apps/polling-block/main.js"]
11 changes: 11 additions & 0 deletions app/apps/polling-block/src/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { NestFactory } from '@nestjs/core';
import { PollingBlockModule } from './polling-block.module';
import { MicroserviceOptions } from '@nestjs/microservices';

async function bootstrap() {
const app = await NestFactory.createMicroservice<MicroserviceOptions>(
PollingBlockModule,
);
await app.listen();
}
bootstrap();
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,20 @@ import { Module } from '@nestjs/common';
import { ClientsModule, Transport } from '@nestjs/microservices';
import { ScheduleModule } from '@nestjs/schedule';
import { BlockSyncModelModule } from 'libs';
import { AvaxPollingBlockService } from './avax.polling.block.service';
import { BscPollingBlockService } from './bsc.polling.block.service';
import { EthereumPollingBlockService } from './ethereum.polling.block.service';
import { MantlePollingBlockService } from './mantle.polling.block.service';
import { PolygonPollingBlockService } from './polygon.polling.block.service';
import { EthereumPollingBlockService } from './evm/ethereum.polling.block.service';
import { PolygonPollingBlockService } from './evm/polygon.polling.block.service';
import { AvaxPollingBlockService } from './evm/avax.polling.block.service';
import { MantlePollingBlockService } from './evm/mantle.polling.block.service';
import { BscPollingBlockService } from './evm/bsc.polling.block.service';
import { ConfigModule } from '@nestjs/config';

@Module({
imports: [
ConfigModule.forRoot({
isGlobal: true,
envFilePath: [`${process.env.NODE_ENV}.env`, '.env'],
expandVariables: true,
}),
ClientsModule.registerAsync([
{
name: 'WORKER_CLIENT_SERVICE',
Expand Down
9 changes: 9 additions & 0 deletions app/apps/polling-block/tsconfig.app.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"declaration": false,
"outDir": "../../dist/apps/polling-block"
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist", "test", "**/*spec.ts"]
}
13 changes: 13 additions & 0 deletions app/docker-compose-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,19 @@ services:
condition: service_healthy
kafka:
condition: service_healthy
polling-block:
container_name: polling-block
build:
context: .
target: ${TARGET:-development}
dockerfile: ./apps/polling-block/Dockerfile
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
env_file:
- .env.docker
networks:
crypitor-network:
monitor:
container_name: monitor
build:
Expand Down
15 changes: 15 additions & 0 deletions app/docker/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,21 @@ services:
condition: service_healthy
extra_hosts:
- 'host.docker.internal:host-gateway'
polling-block:
image: crypitor/crypitor-polling-block:${VERSION:-latest}
env_file:
- .env
networks:
crypitor-network:
aliases:
- polling-block
depends_on:
mongo:
condition: service_healthy
kafka:
condition: service_healthy
extra_hosts:
- 'host.docker.internal:host-gateway'
monitor:
image: crypitor/crypitor-monitor:${VERSION:-latest}
env_file:
Expand Down
11 changes: 10 additions & 1 deletion app/nest-cli.json
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,15 @@
"compilerOptions": {
"tsConfigPath": "libs/shared_modules/tsconfig.lib.json"
}
},
"polling-block": {
"type": "application",
"root": "apps/polling-block",
"entryFile": "main",
"sourceRoot": "apps/polling-block/src",
"compilerOptions": {
"tsConfigPath": "apps/polling-block/tsconfig.app.json"
}
}
}
}
}
6 changes: 4 additions & 2 deletions app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,17 @@
"license": "MIT",
"scripts": {
"prebuild": "rimraf dist",
"build": "yarn build:app && yarn build:worker && yarn build:monitor",
"build": "yarn build:app && yarn build:polling && yarn build:worker && yarn build:monitor",
"build:app": "npx nest build api",
"build:polling": "npx nest build polling-block",
"build:worker": "npx nest build worker-service",
"build:monitor": "npx nest build monitor-service",
"format": "prettier --write \"apps/**/*.ts\" \"libs/**/*.ts\"",
"start": "npx nest start",
"start:dev": "npx nest start --watch",
"start:debug": "npx nest start --debug 0.0.0.0:9229 --watch",
"start:prod": "node dist/apps/api/main",
"start:prod:polling": "node dist/apps/polling-block/main",
"start:prod:monitor": "node dist/apps/monitor-service/main",
"start:prod:worker": "node dist/apps/worker-service/main",
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
Expand Down Expand Up @@ -136,4 +138,4 @@
"url": "https://github.com/crypitor/blockchain-webhook/issues"
},
"homepage": "https://github.com/crypitor/blockchain-webhook#readme"
}
}

0 comments on commit 6ae7077

Please sign in to comment.