Security-Tools-Alliance / rengine-ng

reNgine-ng is an automated reconnaissance framework for web applications with a focus on highly configurable streamlined recon process via Engines, recon data correlation and organization, continuous monitoring, backed by a database, and simple yet intuitive User Interface.
GNU General Public License v3.0
12 stars 6 forks source link

bug(install): Celery failed to start - Error: Invalid value for '-A' / '--app' #69

Closed yarysp closed 1 month ago

yarysp commented 1 month ago

Current Behavior

Since ~ 4 May when installing reNgine NG the install success but the Celery process starts fail

Make logs image

Expected Behavior

Celery should start and tasks should launch

Steps To Reproduce

  1. Launch install.sh
  2. Launch make logs while containers is starting during install
  3. Wait for the celery-entrypoint.sh to execute and when Celery starts at end the above error is returned

Environment

- reNgine: 2.0.5
- OS: Ubuntu 22.04.4 LTS
- Python: 3.10.12
- Docker Engine: 26.1.1
- Docker Compose: 2.27.0
- Browser: FF 125

Anything else?

After some investigation TheHarvester is the problem. Specifically this commit https://github.com/laramies/theHarvester/commit/da60152142e71648fd090d0cfe6485ac3a6d3bcf Before it works, after, not.

Python package concerned by the problem is fastapi in his 1.1.0 version

Workaround

Checking out the commit 19cf811d9a1468ea8bf9e80d147d61314fef813b make Celery starts and reNgine NG works

# clone theHarvester
if [ ! -d "/usr/src/github/theHarvester" ]
then
  echo "Cloning theHarvester"
  git clone https://github.com/laramies/theHarvester /usr/src/github/theHarvester
fi
cd /usr/src/github/theHarvester && git checkout 19cf811d9a1468ea8bf9e80d147d61314fef813b -f && cd /usr/src/app
python3 -m pip install -r /usr/src/github/theHarvester/requirements/base.txt

To prevent the Celery starts problem in the future, and make reNgine more stable, maybe we could lock all the dependencies versions to a reNgine working version Then when doing a new not minor release we could upgrade the package and test it before release is published

Acknowledgements