Checks
Motivation
Currently the centraldashboard is being served via npm start as part of the Dockerfile:
|
# Step 2: Packages assets for serving |
|
FROM node:16.20.2-alpine AS serve |
|
|
|
RUN apk add --no-cache tini |
|
|
|
USER node |
|
|
|
ENV NODE_ENV=production |
|
WORKDIR /usr/src/app |
|
COPY --from=build --chown=node:node /centraldashboard . |
|
|
|
EXPOSE 8082 |
|
ENTRYPOINT ["/sbin/tini", "--" , "npm", "start"] |
Optimally this dependency could be eliminated in the final part of the image in order to have less attack surface, especially given how old some parts of the components are.
Implementation
The Dockerfile for kubeflow/notebooks (v2) could be a good inspiration for the implementation:
https://github.com/kubeflow/notebooks/blob/notebooks-v2/workspaces/frontend/Dockerfile
Are you willing & able to help?
Checks
kubeflow/dashboardrepository.Motivation
Currently the centraldashboard is being served via
npm startas part of theDockerfile:dashboard/components/centraldashboard/Dockerfile
Lines 19 to 31 in 41dc738
Optimally this dependency could be eliminated in the final part of the image in order to have less attack surface, especially given how old some parts of the components are.
Implementation
The Dockerfile for
kubeflow/notebooks(v2) could be a good inspiration for the implementation:https://github.com/kubeflow/notebooks/blob/notebooks-v2/workspaces/frontend/Dockerfile
Are you willing & able to help?