Skip to content

Commit

Permalink
Merge pull request #1060 from yogeshojha/revert-973-master
Browse files Browse the repository at this point in the history
Revert "Add non-interactive installation parameter"
  • Loading branch information
yogeshojha authored Nov 21, 2023
2 parents 57f8162 + 3610ca8 commit 4603308
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 71 deletions.
7 changes: 0 additions & 7 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,3 @@ POSTGRES_HOST=db
#
MAX_CONCURRENCY=80
MIN_CONCURRENCY=10

#
# Rengine web interface super user (for non-interactive install)
#
DJANGO_SUPERUSER_USERNAME=rengine
DJANGO_SUPERUSER_EMAIL=[email protected]
DJANGO_SUPERUSER_PASSWORD=Sm7IJG.IfHAFw9snSKv
5 changes: 0 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
include .env
.DEFAULT_GOAL:=help

# Credits: https://github.com/sherifabdlnaby/elastdocker/
Expand Down Expand Up @@ -26,11 +25,7 @@ build: ## Build all services.
${COMPOSE_PREFIX_CMD} docker-compose ${COMPOSE_ALL_FILES} build ${SERVICES}

username: ## Generate Username (Use only after make up).
ifeq ($(isNonInteractive), true)
${COMPOSE_PREFIX_CMD} docker-compose ${COMPOSE_ALL_FILES} exec web python3 manage.py createsuperuser --username ${DJANGO_SUPERUSER_USERNAME} --email ${DJANGO_SUPERUSER_EMAIL} --noinput
else
${COMPOSE_PREFIX_CMD} docker-compose ${COMPOSE_ALL_FILES} exec web python3 manage.py createsuperuser
endif

pull: ## Pull Docker images.
docker login docker.pkg.github.com
Expand Down
27 changes: 3 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -319,37 +319,22 @@ screenshot: {
git clone https://github.com/yogeshojha/rengine && cd rengine
```

1. Edit the `.env` file, **please make sure to change the password for postgresql `POSTGRES_PASSWORD`!**
1. Edit the dotenv file, **please make sure to change the password for postgresql `POSTGRES_PASSWORD`!**

```bash
nano .env
```

1. **Optional, only for non-interactive install**: In the `.env` file, **please make sure to change the super admin values!**

```bash
DJANGO_SUPERUSER_USERNAME=yourUsername
[email protected]
DJANGO_SUPERUSER_PASSWORD=yourStrongPassword
```
If you need to carry out a non-interactive installation, you can setup the login, email and password of the web interface admin directly from the .env file (instead of manually setting them from prompts during the installation process). This option can be interesting for automated installation (via ansible, vagrant, etc.).

`DJANGO_SUPERUSER_USERNAME`: web interface admin username (used to login to the web interface).

`DJANGO_SUPERUSER_EMAIL`: web interface admin email.

`DJANGO_SUPERUSER_PASSWORD`: web interface admin password (used to login to the web interface).

1. In the dotenv file, you may also modify the Scaling Configurations

```bash
MAX_CONCURRENCY=80
MIN_CONCURRENCY=10
```

`MAX_CONCURRENCY`: This parameter specifies the maximum number of reNgine's concurrent Celery worker processes that can be spawned. In this case, it's set to 80, meaning that the application can utilize up to 80 concurrent worker processes to execute tasks concurrently. This is useful for handling a high volume of scans or when you want to scale up processing power during periods of high demand. If you have more CPU cores, you will need to increase this for maximised performance.
MAX_CONCURRENCY: This parameter specifies the maximum number of reNgine's concurrent Celery worker processes that can be spawned. In this case, it's set to 80, meaning that the application can utilize up to 80 concurrent worker processes to execute tasks concurrently. This is useful for handling a high volume of scans or when you want to scale up processing power during periods of high demand. If you have more CPU cores, you will need to increase this for maximised performance.

`MIN_CONCURRENCY`: On the other hand, MIN_CONCURRENCY specifies the minimum number of concurrent worker processes that should be maintained, even during periods of lower demand. In this example, it's set to 10, which means that even when there are fewer tasks to process, at least 10 worker processes will be kept running. This helps ensure that the application can respond promptly to incoming tasks without the overhead of repeatedly starting and stopping worker processes.
MIN_CONCURRENCY: On the other hand, MIN_CONCURRENCY specifies the minimum number of concurrent worker processes that should be maintained, even during periods of lower demand. In this example, it's set to 10, which means that even when there are fewer tasks to process, at least 10 worker processes will be kept running. This helps ensure that the application can respond promptly to incoming tasks without the overhead of repeatedly starting and stopping worker processes.
These settings allow for dynamic scaling of Celery workers, ensuring that the application efficiently manages its workload by adjusting the number of concurrent workers based on the workload's size and complexity

Expand All @@ -359,12 +344,6 @@ screenshot: {
sudo ./install.sh
```

Or for a non-interactive installation, use `-n` argument (make sure you've modified the `.env` file before launching the installation).
```bash
sudo ./install.sh -n
```
If `install.sh` does not have install permission, please change it, `chmod +x install.sh`

**reNgine can now be accessed from <https://127.0.0.1> or if you're on the VPS <https://your_vps_ip_address>**
Expand Down
1 change: 0 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ services:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_PORT=${POSTGRES_PORT}
- POSTGRES_HOST=${POSTGRES_HOST}
- DJANGO_SUPERUSER_PASSWORD=${DJANGO_SUPERUSER_PASSWORD}
# THIS IS A MUST FOR CHECKING UPDATE, EVERYTIME A COMMIT IS MERGED INTO
# MASTER, UPDATE THIS!!! MAJOR.MINOR.PATCH https://semver.org/
- RENGINE_CURRENT_VERSION='2.0.1'
Expand Down
44 changes: 10 additions & 34 deletions install.sh
Original file line number Diff line number Diff line change
@@ -1,45 +1,21 @@
#!/bin/bash

usageFunction()
{
echo " "
tput setaf 2;
echo "Usage: $0 (-n) (-h)"
echo -e "\t-n Non-interactive installation (Optional)"
echo -e "\t-h Show usage"
exit 1
}

tput setaf 2;
cat web/art/reNgine.txt

tput setaf 1; echo "Before running this script, please make sure Docker is running and you have made changes to .env file."
tput setaf 2; echo "Changing the postgres username & password from .env is highly recommended."

tput setaf 4;

isNonInteractive=false
while getopts nh opt; do
case $opt in
n) isNonInteractive=true ;;
h) usageFunction ;;
?) usageFunction ;;
esac
done

if [ $isNonInteractive = false ]; then
read -p "Are you sure, you made changes to .env file (y/n)? " answer
case ${answer:0:1} in
y|Y|yes|YES|Yes )
echo "Continiuing Installation!"
;;
* )
nano .env
;;
esac
else
echo "Non-interactive installation parameter set. Installation begins."
fi
read -p "Are you sure, you made changes to .env file (y/n)? " answer
case ${answer:0:1} in
y|Y|yes|YES|Yes )
echo "Continiuing Installation!"
;;
* )
nano .env
;;
esac

echo " "
tput setaf 3;
Expand Down Expand Up @@ -139,7 +115,7 @@ if [ "${failed}" -eq 0 ]; then
echo "#########################################################################"
echo "Creating an account"
echo "#########################################################################"
make username isNonInteractive=$isNonInteractive
make username

tput setaf 2 && printf "\n%s\n" "Thank you for installing reNgine, happy recon!!"
else
Expand Down

0 comments on commit 4603308

Please sign in to comment.