Skip to content

Commit

Permalink
Revert dockerfile (#3531)
Browse files Browse the repository at this point in the history
The changes to the `Dockerfile` in v0.91.0 caused memory use issues on
kafka jobs. We are reverting back to the previous `Dockerfile` that is
built on top of `node:alpine`.
  • Loading branch information
busma13 authored Jan 22, 2024
1 parent e646f9d commit 1d43bc7
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 264 deletions.
69 changes: 6 additions & 63 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,42 +1,7 @@
# NODE_VERSION is set by default in the config.ts, the following value will only
# be used if you build images by default with docker build
ARG NODE_VERSION=18.18.2
FROM node:${NODE_VERSION}-bookworm as base

ENV NPM_CONFIG_LOGLEVEL error
# Do not use SASL authentication with kafka
ENV WITH_SASL 0

RUN node --version
RUN yarn --version
RUN npm --version

RUN mkdir -p /app/source

# Install bunyan
RUN yarn global add \
--ignore-optional \
--no-progress \
--no-emoji \
--no-cache \
bunyan

# Install any built-in connectors in /app/
# use npm because there isn't a package.json
WORKDIR /app

RUN npm init --yes &> /dev/null \
&& npm install \
--build \
--no-package-lock \
--no-optional \
'terafoundation_kafka_connector@~0.11.1' \
&& npm cache clean --force

WORKDIR /app/source

# verify node-rdkafka is installed right
RUN node --print --eval "require('node-rdkafka')"
FROM terascope/node-base:${NODE_VERSION}

ENV NODE_ENV production

Expand All @@ -59,41 +24,19 @@ RUN yarn --prod=false --frozen-lockfile \
--ignore-scripts \
&& yarn cache clean

COPY service.js /app/source/

COPY service.js /app/source/

FROM node:${NODE_VERSION}-bookworm-slim
# verify node-rdkafka is installed right
RUN node -e "require('node-rdkafka')"

# Affects garbage collection. This default gets overwritten by the memory setting in kubernetes
ENV NODE_OPTIONS "--max-old-space-size=2048"
ENV NODE_ENV production
# verify teraslice is installed right
RUN node -e "require('teraslice')"

EXPOSE 5678

# set up the volumes
VOLUME /app/config /app/logs /app/assets
ENV TERAFOUNDATION_CONFIG /app/config/teraslice.yaml

# Use tini to handle sigterm and zombie processes
ENTRYPOINT ["/usr/bin/tini", "--"]

CMD ["node", "service.js"]

RUN apt-get update && \
apt-get install -y libcurl4 tini && \
apt-get autoremove -y && \
apt-get clean -y && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# this can most likely be removed. Looks to be related to node10->12 transition.
COPY scripts/docker-pkg-fix.js /usr/local/bin/docker-pkg-fix
COPY scripts/wait-for-it.sh /usr/local/bin/wait-for-it
COPY --from=base /app /app

WORKDIR /app/source

# verify node-rdkafka is installed right
RUN node -e "require('node-rdkafka')"

# verify teraslice is installed right
RUN node -e "require('teraslice')"
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "teraslice-workspace",
"displayName": "Teraslice",
"version": "0.91.0",
"version": "0.92.0",
"private": true,
"homepage": "https://github.com/terascope/teraslice",
"bugs": {
Expand Down
2 changes: 1 addition & 1 deletion packages/teraslice/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "teraslice",
"displayName": "Teraslice",
"version": "0.91.0",
"version": "0.92.0",
"description": "Distributed computing platform for processing JSON data",
"homepage": "https://github.com/terascope/teraslice#readme",
"bugs": {
Expand Down
26 changes: 0 additions & 26 deletions scripts/docker-pkg-fix.js

This file was deleted.

173 changes: 0 additions & 173 deletions scripts/wait-for-it.sh

This file was deleted.

0 comments on commit 1d43bc7

Please sign in to comment.