Coder Social home page Coder Social logo

Comments (2)

BugenZhao avatar BugenZhao commented on June 24, 2024

It appears that Dockerfile.hdfs is quite outdated. 😄 We've already switched to build the dashboard artifact in place since #12421.

FROM base AS dashboard-builder
RUN apt-get update && apt-get install -y curl gnupg protobuf-compiler && mkdir -p /etc/apt/keyrings \
&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update && apt-get install -y nodejs
COPY ./dashboard/ /risingwave/dashboard
COPY ./proto /risingwave/proto
RUN cd /risingwave/dashboard && npm i && npm run build-static && rm -rf node_modules

Specifically for this case, I would strongly suggest maintaining Dockerfile.hdfs as an extra step in Dockerfile to avoid such inconsistencies.


However, the issue still exist if there's no --dashboard-ui-path specified. We'll proxy to githubusercontent.com then at runtime and it's not versioned. This affect the users who directly download the binary directly or through Homebrew.

let url_str = format!(
"https://raw.githubusercontent.com/risingwavelabs/risingwave/dashboard-artifact{}",
path
);

from risingwave.

BugenZhao avatar BugenZhao commented on June 24, 2024

Plan:

  • Introduce a new crate dashboard to build the dashboard assets in the build script (build.rs) conditionally based on the configuration, providing a unified entry for serving dashboard assets.

    • Always build and embed in the binary for releases, requiring nodejs toolchain.
    • Do not build but proxy to GitHub for debug/CI builds, unless asked to build.
  • The meta crate will depends on dashboard and be no more aware of the source of the dashboard assets. ui-path is deprecated as there's no need of external assets.

from risingwave.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.