diff --git a/Tiltfile b/Tiltfile index 14975f1e..d86a2d6c 100644 --- a/Tiltfile +++ b/Tiltfile @@ -244,27 +244,26 @@ k8s_resource( ) # explorer web app -if not ci: # add readiness probe before re-enabling - docker_build( - ref = "explorer", - context = "./explorer", - dockerfile = "./explorer/Dockerfile", - ignore = ["./explorer/node_modules"], - live_update = [ - sync("./explorer/src", "/home/node/app/src"), - sync("./explorer/public", "/home/node/app/public"), - ], - ) +docker_build( + ref = "explorer", + context = "./explorer", + dockerfile = "./explorer/Dockerfile", + ignore = ["./explorer/node_modules"], + live_update = [ + sync("./explorer/src", "/home/node/app/src"), + sync("./explorer/public", "/home/node/app/public"), + ], +) - k8s_yaml_with_ns("devnet/explorer.yaml") +k8s_yaml_with_ns("devnet/explorer.yaml") - k8s_resource( - "explorer", - resource_deps = ["proto-gen-web"], - port_forwards = [ - port_forward(8001, name = "Explorer Web UI [:8001]"), - ], - ) +k8s_resource( + "explorer", + resource_deps = ["proto-gen-web"], + port_forwards = [ + port_forward(8001, name = "Explorer Web UI [:8001]"), + ], +) # terra devnet diff --git a/devnet/explorer.yaml b/devnet/explorer.yaml index 7fad696e..6f5f60d3 100644 --- a/devnet/explorer.yaml +++ b/devnet/explorer.yaml @@ -36,9 +36,13 @@ spec: command: - /usr/local/bin/npm - run - - build-and-serve + - serve tty: true ports: - containerPort: 8001 name: gatsbyserver protocol: TCP + readinessProbe: + httpGet: + port: gatsbyserver + path: / diff --git a/explorer/Dockerfile b/explorer/Dockerfile index 14b380bf..212a79ac 100644 --- a/explorer/Dockerfile +++ b/explorer/Dockerfile @@ -6,10 +6,16 @@ FROM node:16-alpine@sha256:004dbac84fed48e20f9888a23e32fa7cf83c2995e174a78d41d9a RUN mkdir -p /app WORKDIR /app +ADD package.json . +ADD package-lock.json . +RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \ + npm ci + ADD . . # create .env files from .env.sample, if they do not already exist. RUN [[ ! -f .env.development ]] && cp .env.sample .env.development RUN [[ ! -f .env.production ]] && cp .env.sample .env.production -RUN npm ci +RUN --mount=type=cache,uid=1000,gid=1000,target=/home/node/.npm \ + npm run build diff --git a/explorer/package.json b/explorer/package.json index 2d85e366..33937951 100644 --- a/explorer/package.json +++ b/explorer/package.json @@ -26,11 +26,11 @@ "setupTestFrameworkScriptFile": "/setup-test-env.js" }, "scripts": { - "build": "npm run clean && NODE_ENV=production NODE_OPTIONS='-r esm' gatsby build", + "build": "NODE_ENV=production NODE_OPTIONS='-r esm' gatsby build", "clean": "rm -rf public && rm -rf .cache", "dev": "npm run clean && NODE_OPTIONS='-r esm' node --max-http-header-size=16385 node_modules/.bin/gatsby develop --port=8001", "debug": "npm run clean && NODE_OPTIONS='-r esm' node --nolazy --inspect-brk node_modules/.bin/gatsby develop", - "serve": "NODE_OPTIONS='-r esm' node --max-http-header-size=16385 node_modules/.bin/gatsby serve --port=8001", + "serve": "NODE_OPTIONS='-r esm' node --max-http-header-size=16385 node_modules/.bin/gatsby serve --port=8001 --host=0.0.0.0", "build-and-serve": "npm run build && npm run serve", "lint": "npm run lint:js && npm run lint:ts", "lint:js": "./node_modules/.bin/eslint --color --ext .js,.jsx .", @@ -45,9 +45,7 @@ "storybook": "NODE_OPTIONS='-r esm' gatsby build && NODE_OPTIONS='-r esm' start-storybook", "storybook:build": "NODE_OPTIONS='-r esm' gatsby build && build-storybook -c .storybook -o .out", "translate:deepl": "node_modules/.bin/json-autotranslate -i src/locales -d -m none --directory-structure ngx-translate --service=deepl -c", - "translate:google": "node_modules/.bin/json-autotranslate -i src/locales -d -m none --directory-structure ngx-translate --service=google-translate -c", - "generate-protos": "../generate-web-protos.sh", - "generate-wasm": "./generate-wasm.sh" + "translate:google": "node_modules/.bin/json-autotranslate -i src/locales -d -m none --directory-structure ngx-translate --service=google-translate -c" }, "dependencies": { "@ant-design/icons": "^4.6.2", diff --git a/explorer/src/pages/network.tsx b/explorer/src/pages/network.tsx index 80c6731c..954378f3 100644 --- a/explorer/src/pages/network.tsx +++ b/explorer/src/pages/network.tsx @@ -9,10 +9,10 @@ import { SEO } from '~/components/SEO'; import { GuardiansTable } from '~/components/GuardiansTable' import { Heartbeat } from '~/proto/gossip/v1/gossip' -import { GrpcWebImpl, PublicrpcClientImpl } from '~/proto/publicrpc/v1/publicrpc' +import { GrpcWebImpl, PublicRPCServiceClientImpl } from '~/proto/publicrpc/v1/publicrpc' const rpc = new GrpcWebImpl(String(process.env.GATSBY_APP_RPC_URL), {}); -const publicRpc = new PublicrpcClientImpl(rpc) +const publicRpc = new PublicRPCServiceClientImpl(rpc) const Network = ({ intl }: WrappedComponentProps) => { const [heartbeats, setHeartbeats] = useState<{ [nodeName: string]: Heartbeat }>({})