Skip to content

feat: Add Dockerfile for Feast UI - #2572

Closed
jenoOvchi wants to merge 2 commits into
feast-dev:masterfrom
jenoOvchi:master
Closed

jenoOvchi wants to merge 2 commits into
feast-dev:masterfrom
jenoOvchi:master

Conversation

@jenoOvchi

Copy link
Copy Markdown

What this PR does / why we need it:
To run Feast UI locally in Docker.

@feast-ci-bot

Copy link
Copy Markdown
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: jenoOvchi
To complete the pull request process, please assign mattdelac after the PR has been reviewed.
You can assign the PR to them by writing /assign @mattdelac in a comment when ready.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jenoOvchi

Copy link
Copy Markdown
Author

/assign @MattDelac

@codecov-commenter

codecov-commenter commented Apr 19, 2022 •

Copy link
Copy Markdown

Codecov Report

Merging #2572 (2f79430) into master (6589f15) will decrease coverage by 9.49%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2572      +/-   ##
==========================================
- Coverage   80.67%   71.18%   -9.50%     
==========================================
  Files         165      140      -25     
  Lines       13759    12170    -1589     
==========================================
- Hits        11100     8663    -2437     
- Misses       2659     3507     +848     
Flag Coverage Δ
integrationtests 71.18% <ø> (-0.39%) ⬇️
unittests ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
sdk/python/tests/unit/diff/test_infra_diff.py 11.11% <0.00%> (-88.89%) ⬇️
sdk/python/tests/unit/diff/test_registry_diff.py 14.70% <0.00%> (-85.30%) ⬇️
sdk/python/tests/unit/test_usage.py 14.78% <0.00%> (-85.22%) ⬇️
...egration/registration/test_cli_apply_duplicates.py 16.94% <0.00%> (-83.06%) ⬇️
sdk/python/tests/unit/test_data_sources.py 17.39% <0.00%> (-82.61%) ⬇️
...n/tests/integration/registration/test_cli_chdir.py 18.51% <0.00%> (-81.49%) ⬇️
.../python/tests/integration/scaffolding/test_init.py 18.91% <0.00%> (-81.09%) ⬇️
sdk/python/tests/unit/test_proto_json.py 20.37% <0.00%> (-79.63%) ⬇️
...t/infra/online_store/test_dynamodb_online_store.py 22.08% <0.00%> (-77.92%) ⬇️
...ts/integration/scaffolding/test_repo_operations.py 24.07% <0.00%> (-75.93%) ⬇️
... and 111 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6589f15...2f79430. Read the comment docs.

@adchia

adchia commented Apr 19, 2022

Copy link
Copy Markdown
Collaborator

Mind signing your commits?

@jenoOvchi

Copy link
Copy Markdown
Author

Mind signing your commits?

Yes. Do I need to recreate pull request for this?

@adchia

adchia commented Apr 19, 2022

Copy link
Copy Markdown
Collaborator

nope you can resign in this PR and force push

@benjamintanweihao

Copy link
Copy Markdown
Contributor

@jenoOvchi Could the base image be tagged too with the version number?

@jenoOvchi

Copy link
Copy Markdown
Author

nope you can resign in this PR and force push

Done

@jenoOvchi

Copy link
Copy Markdown
Author

@jenoOvchi Could the base image be tagged too with the version number?

Done

@adchia

adchia commented Apr 20, 2022

Copy link
Copy Markdown
Collaborator

What's the intention behind this btw? Since for local development, yarn start is still definitely the fastest path.

If you want to be deploying this as a service, you'll have to also be regularly syncing with the registry (as is).

Additionally, presumably if you want to use it you also would want to run e.g. minify, etc. e.g. something like

FROM node:17.9.0-slim

WORKDIR /app
# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH

# Install UI dependencies
COPY ui/package.json .
RUN npm install

# Copy over app
COPY ui/tsconfig.json .
COPY ui/public ./public
COPY ui/src ./src

# Build for production.
RUN npm run build --production

# Serve the UI from a port
RUN npm install -g serve
EXPOSE 3000
CMD ["serve", "-s", "build"]

@adchia adchia linked an issue Apr 21, 2022 that may be closed by this pull request
8 of 14 tasks
@benjamintanweihao

Copy link
Copy Markdown
Contributor

@adchia I think this would be useful when deploying the Feast UI as a service. I assume that you can configure Feast UI to point to a remote repository.

@jenoOvchi

Copy link
Copy Markdown
Author

@adchia I think this would be useful when deploying the Feast UI as a service. I assume that you can configure Feast UI to point to a remote repository.

Yes, I think so too. Now we ingegrates Feast in our platform, as Feature Registry use an S3 Bucket and as workaround make a sync procedure from S3 to Feast UI files directory. But in the future it will be greate to have an option to configure on the UI side connection to the remote repository and use it as a service.

@adchia

adchia commented May 4, 2022

Copy link
Copy Markdown
Collaborator

hey sorry just checking in here. looks like commits aren't signed anymore? Otherwise, happy to merge

@achals

achals commented May 11, 2022

Copy link
Copy Markdown
Member

Hi @jenoOvchi, would you mind signing your commits?

@jenoOvchi

Copy link
Copy Markdown
Author

Hi @jenoOvchi, would you mind signing your commits?

Done.

@jenoOvchi

Copy link
Copy Markdown
Author

What's the intention behind this btw? Since for local development, yarn start is still definitely the fastest path.

If you want to be deploying this as a service, you'll have to also be regularly syncing with the registry (as is).

Additionally, presumably if you want to use it you also would want to run e.g. minify, etc. e.g. something like

FROM node:17.9.0-slim

WORKDIR /app
# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH

# Install UI dependencies
COPY ui/package.json .
RUN npm install

# Copy over app
COPY ui/tsconfig.json .
COPY ui/public ./public
COPY ui/src ./src

# Build for production.
RUN npm run build --production

# Serve the UI from a port
RUN npm install -g serve
EXPOSE 3000
CMD ["serve", "-s", "build"]

If it is actual i can change Dockerfile in this PR to something like that.

@adchia

adchia commented May 12, 2022

Copy link
Copy Markdown
Collaborator

Looks like you need to sign commits too.

If you want to deploy as a service, might be better to have this Dockerfile instead call into the feast ui command instead then that I just added?

https://docs.feast.dev/v/master/reference/alpha-web-ui#feast-cli

Having this, in combination with a feature_store.yaml that points at a remote registry which is being updated should have a UI that continuously updates against that remote registry

@adchia adchia closed this Jul 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feast Web UI

7 participants