question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Make it possible to run backend components locally

See original GitHub issue

Is your feature request related to a problem? Please describe.

The necessity to setup and run a number of backend components makes it difficult to quickly setup and test Eclipse Steady. Moreover, smaller development organizations or single developers may not want or cannot afford to operate always-on server components.

Describe the solution you’d like

It should be possible to run all components of Steady locally, e.g., on a developer machine or build system, without the need to operate a server. Ideally, the local setup does not require any explicit action or input from the user but happens transparently.

At least the following two topics must be covered:

  • The footprint of the existing Docker Compose environment must be reduced to limit the consumption of client resources. The frontend-apps and frontend-bugs can be removed altogether. The services rest-backend and rest-lib-utils only require one container each. Other improvements in regards to allocated memory may be possible.
  • The setup of the local environment must be done in an automated or semi-automated fashion, and there are several possibilities:
    • Create a new goal setup (subclass of org.eclipse.steady.goals.AbstractGoal), which has to be called explicitly before running analysis goals
    • When running analysis goals, check whether vulas.shared.backend.serviceUrl is set to localhost and, if yes, check and setup as needed
    • Use an existing Maven plugin to check and setup the (reduced) Docker Compose environment. This approach would exclude CLI, Gradle and Python users to run Steady locally.

In any case, it is clear that the sync with Project KB will impact the initial installation time, similar to the NVD download in case of OWASP Dependency Check. Subsequent goal executions, however, should not be impacted.

Describe alternatives you’ve considered

None

Additional context

None

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
henrikplatecommented, Mar 17, 2021

Rather than developing a new Maven plugin from scratch, I would subclass AbstractGoal, and create thin wrappers (goals) for the existing Maven and Gradle plugins.

If I understand correctly, such subclass would download and build all images it finds in docker-compose-local.yml (a slim version of the existing docker-compose.yml) before running docker-compose up, correct?

0reactions
henrikplatecommented, Jan 24, 2022

With release 3.2.1, the local setup and execution has been facilitated with help of two bash scripts (#502). Different usage profiles (core, ui, vdb, all) allow running different sets of containers to reduce resource consumption.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to Create a React App with a Node Backend
How to Create a React App with a Node Backend: The Complete Guide · Step 1: Create your Node (Express) backend · Step...
Read more >
Create a Simple React.js Component with Backed Node.js API
In this guide, we'll take a look at how to build a simple backend server using Javascript Node.js as the application layer and...
Read more >
Easiest Way to Connect a React Frontend with Node.js - Medium
First, create a folder in your working directory for the app. Then, inside that directory, make the folder for my backend in Node.js....
Read more >
How To Connect React To A Backend (Express.js) - YouTube
Key moments. View all · Create an Npm Project · Create an Npm Project · Create an Npm Project · Install and Save...
Read more >
Run React application without server - Stack Overflow
I have discovered that I can use webpack which internally first convert my React based or other js files into normal javascript and...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found