Skip to content

Commit 2c704b7

Browse files
committed
Fix docker and monorepo structure (#59)
* flatten dir structure, streamline deps, fix docker builds * fix migration cmd * set the correct context in drone?
1 parent 5e4da90 commit 2c704b7

File tree

130 files changed

+534
-11756
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

130 files changed

+534
-11756
lines changed

.drone.yml

+8-8
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ steps:
1010
- name: publish-sha
1111
image: plugins/ecr
1212
settings:
13-
context: packages/event-pipeline
14-
dockerfile: packages/event-pipeline/Dockerfile
13+
context: .
14+
dockerfile: events-pipeline/Dockerfile
1515
repo:
1616
from_secret: ecr_repo_event-pipeline
1717
registry:
@@ -38,8 +38,8 @@ steps:
3838
- name: publish
3939
image: plugins/ecr
4040
settings:
41-
context: packages/event-pipeline
42-
dockerfile: packages/event-pipeline/Dockerfile
41+
context: .
42+
dockerfile: events-pipeline/Dockerfile
4343
repo:
4444
from_secret: ecr_repo_event-pipeline
4545
registry:
@@ -69,8 +69,8 @@ steps:
6969
- name: publish-sha
7070
image: plugins/ecr
7171
settings:
72-
context: packages/api
73-
dockerfile: packages/api/Dockerfile
72+
context: .
73+
dockerfile: staking-api/Dockerfile
7474
repo:
7575
from_secret: ecr_repo_staking-api
7676
registry:
@@ -97,8 +97,8 @@ steps:
9797
- name: publish
9898
image: plugins/ecr
9999
settings:
100-
context: packages/api
101-
dockerfile: packages/api/Dockerfile
100+
context: .
101+
dockerfile: staking-api/Dockerfile
102102
repo:
103103
from_secret: ecr_repo_staking-api
104104
registry:

docker-compose.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ services:
1717
depends_on:
1818
- postgres
1919
build:
20-
context: ./packages/event-pipeline
20+
context: .
21+
dockerfile: events-pipeline/Dockerfile
2122
restart: always
2223
environment:
2324
ETHEREUM_RPC_URL: '${ETHEREUM_RPC_URL}'
@@ -29,7 +30,8 @@ services:
2930
depends_on:
3031
- events-pipeline
3132
build:
32-
context: ./packages/api
33+
context: .
34+
dockerfile: staking-api/Dockerfile
3335
restart: always
3436
environment:
3537
POSTGRES_URI: 'postgres://api:api@postgres/events'
File renamed without changes.

events-pipeline/Dockerfile

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Stage 1
2+
FROM node:12-alpine as build
3+
WORKDIR /usr/src/app
4+
5+
# Install app dependencies
6+
COPY events-pipeline events-pipeline
7+
COPY package.json yarn.lock tsconfig.json lerna.json ./
8+
RUN apk update && \
9+
apk upgrade && \
10+
apk add --no-cache --virtual build-dependencies bash git openssh python make g++ && \
11+
yarn --frozen-lockfile --no-cache
12+
13+
RUN yarn build
14+
15+
# Stage 2
16+
FROM node:12-alpine
17+
WORKDIR /usr/src/app
18+
19+
# Skip dev dependencies
20+
ENV NODE_ENV=production
21+
22+
# Install runtime dependencies
23+
COPY events-pipeline/package.json yarn.lock ./
24+
RUN apk add git
25+
RUN yarn install --frozen-lockfile --no-cache
26+
27+
# Copy built files
28+
COPY --from=build /usr/src/app/events-pipeline/lib /usr/src/app/lib
29+
30+
EXPOSE 3000
31+
CMD [ "yarn", "migrate_and_start" ]

packages/event-pipeline/package.json events-pipeline/package.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"name": "0x-event-pipeline",
3+
"private": true,
34
"version": "0.0.1",
45
"description": "A node.js app for pulling 0x event info to inform things like staking.",
56
"license": "Apache-2.0",
@@ -25,10 +26,13 @@
2526
},
2627
"devDependencies": {
2728
"@0x/tslint-config": "^3.0.0",
29+
"@0x/types": "^3.3.1",
30+
"@0x/typescript-typings": "^5.1.6",
2831
"@types/dotenv": "^8.2.0",
2932
"@types/mocha": "^8.2.1",
3033
"@types/node": "^8.0.29",
3134
"@types/node-cron": "^2.0.2",
35+
"@types/pino": "^6.3.6",
3236
"mocha": "^4.1.0",
3337
"ts-node": "3.3.0",
3438
"tslint": "5.11.0"
@@ -39,7 +43,6 @@
3943
"@0x/dev-utils": "^3.0.0",
4044
"@0x/order-utils": "^10.0.0",
4145
"@0x/subproviders": "^5.1.0-beta.1",
42-
"@0x/types": "^3.1.0",
4346
"dotenv": "^8.2.0",
4447
"graphql": "^15.3.0",
4548
"graphql-request": "^3.1.0",
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

packages/event-pipeline/src/scripts/pull_and_save_deployment.ts events-pipeline/src/scripts/pull_and_save_deployment.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import 'reflect-metadata';
12
import { web3Factory } from '@0x/dev-utils';
23
import { logger } from '../utils/logger';
34
import { Connection } from 'typeorm';

packages/event-pipeline/src/scripts/pull_and_save_events_by_topic.ts events-pipeline/src/scripts/pull_and_save_events_by_topic.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import 'reflect-metadata';
12
import { web3Factory } from '@0x/dev-utils';
23
import { logger } from '../utils/logger';
34
import { Connection } from 'typeorm';

packages/event-pipeline/src/scripts/pull_and_save_pool_metadata.ts events-pipeline/src/scripts/pull_and_save_pool_metadata.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import 'reflect-metadata';
12
import { logger } from '../utils/logger';
23
import { Connection } from 'typeorm';
34

packages/event-pipeline/src/scripts/utils/event_abi_utils.ts events-pipeline/src/scripts/utils/event_abi_utils.ts

+3-9
Original file line numberDiff line numberDiff line change
@@ -112,19 +112,13 @@ export class PullAndSaveEventsByTopic {
112112

113113
let deleteQuery: string;
114114
if (deleteOptions.isDirectTrade && deleteOptions.directProtocol != undefined) {
115-
deleteQuery = `DELETE FROM events.${tableName} WHERE block_number >= ${startBlock} AND block_number <= ${endBlock} AND direct_protocol = '${
116-
deleteOptions.directProtocol
117-
}'`;
115+
deleteQuery = `DELETE FROM events.${tableName} WHERE block_number >= ${startBlock} AND block_number <= ${endBlock} AND direct_protocol = '${deleteOptions.directProtocol}'`;
118116
} else {
119117
if (tableName === 'native_fills' && deleteOptions.protocolVersion != undefined) {
120118
if (deleteOptions.protocolVersion === 'v4' && deleteOptions.nativeOrderType != undefined) {
121-
deleteQuery = `DELETE FROM events.${tableName} WHERE block_number >= ${startBlock} AND block_number <= ${endBlock} AND protocol_version = '${
122-
deleteOptions.protocolVersion
123-
}' AND native_order_type = '${deleteOptions.nativeOrderType}' `;
119+
deleteQuery = `DELETE FROM events.${tableName} WHERE block_number >= ${startBlock} AND block_number <= ${endBlock} AND protocol_version = '${deleteOptions.protocolVersion}' AND native_order_type = '${deleteOptions.nativeOrderType}' `;
124120
} else {
125-
deleteQuery = `DELETE FROM events.${tableName} WHERE block_number >= ${startBlock} AND block_number <= ${endBlock} AND protocol_version = '${
126-
deleteOptions.protocolVersion
127-
}'`;
121+
deleteQuery = `DELETE FROM events.${tableName} WHERE block_number >= ${startBlock} AND block_number <= ${endBlock} AND protocol_version = '${deleteOptions.protocolVersion}'`;
128122
}
129123
} else {
130124
deleteQuery = `DELETE FROM events.${tableName} WHERE block_number >= ${startBlock} AND block_number <= ${endBlock}`;
File renamed without changes.
File renamed without changes.

events-pipeline/tsconfig.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"extends": "../tsconfig",
3+
"compilerOptions": { "outDir": "lib", "rootDir": ".", "resolveJsonModule": true, "emitDecoratorMetadata": true },
4+
"include": ["./src/**/*", "./test/**/*", "./migrations/**/*"]
5+
}

lerna.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"lerna": "3.0.0-beta.23",
3-
"packages": ["packages/*"],
3+
"packages": ["*"],
44
"version": "independent",
55
"command": {
66
"publish": {

package.json

+6-9
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
{
2-
"name": "@0x/staking",
2+
"name": "0x-events-and-staking",
33
"private": true,
44
"version": "0.0.1",
55
"description": "Combined repo for event pipeline and staking API",
66
"license": "Apache-2.0",
7-
"workspaces": {
8-
"packages": [
9-
"packages/*"
10-
]
7+
"engines": {
8+
"node": ">=12"
119
},
10+
"workspaces": [
11+
"*"
12+
],
1213
"scripts": {
1314
"build": "lerna link && wsrun build $PKG -r --stages --fast-exit --exclude-missing",
1415
"build:ts": "tsc -b",
@@ -30,14 +31,10 @@
3031
},
3132
"devDependencies": {
3233
"@0x-lerna-fork/lerna": "3.16.10",
33-
"@0x/tslint-config": "^3.0.0",
3434
"lerna": "^3.0.0-beta.25",
3535
"npm-run-all": "^4.1.2",
3636
"prettier": "~1.16.3",
3737
"source-map-support": "^0.5.6",
38-
"ts-node": "3.3.0",
39-
"tslint": "5.11.0",
40-
"typescript": "3.1.1",
4138
"wsrun": "^2.2.0"
4239
}
4340
}

packages/api/Dockerfile

-23
This file was deleted.

packages/api/tsconfig.json

-27
This file was deleted.

0 commit comments

Comments
 (0)