-
Notifications
You must be signed in to change notification settings - Fork 5.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
adding node.js for building web server #6521
Comments
Regarding our current CI infrastructure, here's what versions supported: Note: The link above provides other details too that are not applicable for the moment. |
Just a thought, but might we want to consider bundling a prebuilt version of the Web UI in the sources, kind of like what a lot of JavaScript libraries do? That would provide two big advantages for end-users:
|
@Ferroin big thanks for bringing it up! The build time can definitely last more than 5 minutes on mid-range system, and node_modules directory can grow in size up to 200-300 MB (which needs to be downloaded). Perhaps we should rethink this. I am thinking about the possibility of having Dashboard as a separate repository, and publishing dashboard.js via CDN and also as a NPM Package. @paulkatsoulakis @cakrit what do you think? |
I think having the dashboard as a separate package in the official Netdata repositories would be good, especially as it's likely to get somewhat bigger with the React rewrite. Not sure that having it available via CDN makes much sense though (most Netdata dashboard usage is likely to be internal to a company, and I suspect that, for security reasons, most people running it internally will want it to be served 100% locally). |
@Ferroin thanks again for the input! We have a different idea - we can push the compiled .js code directly to the same repo. Travis will also compile the code and validate if the checksums are matching, to make sure the compiled version matches the source. Very similar checks are now implemented in our Travis scripts (it validates if the content of /src/dashboard.js matches the compiled dashboard.js). Unfortunately that means that for now we'll have Dashboard in the same repository, but we can discuss other possibilities later. |
@jacekkolasa So, I think I might not have been as clear as I could have been. I'm not really all that worried about whether the dashboard is in the same GitHub repo as the rest of Netdata or not. What I, from both an end-user and sysadmin perspective, and worried about is ensuring that:
|
@Ferroin From my perspective you were clear from the beginning. :) What we plan to do is to have the exact same behaviour as it is now. Node.js will have to be installed only by FE devs (globally, on their machines), and it will be used also by Travis pipeline. End-user will not have to be aware of those changes (only exception is if they have been overriding internal .js logic stored in |
closing, because this issue is not valid anymore |
Feature idea summary
We need node.js to build the new, WIP dashboard app written with React and Webpack - #6515
Expected behavior
During Agent build process, before the web server configuration process takes place, the installer script should
npm install
in/web/gui/dashboard/
directory/web/gui/dashboard/build-dashboard.js
The content of
build-dashboard.js
will be written in separate PR - [WiP] React dashboard #6516Minimal Node version is
8.16.0
, but latest LTS is preferredThe text was updated successfully, but these errors were encountered: