Bulwark is an organizational asset and vulnerability management tool, with Jira integration, designed for generating application security reports.
Jira Integration
Note: Please keep in mind, this project is in early development.
Launch With Docker
- Install Docker
- Create a
.env
file and supply the following properties:
MYSQL_DATABASE=”bulwark”
MYSQL_PASSWORD=”bulwark”
MYSQL_ROOT_PASSWORD=”bulwark”
MYSQL_USER=”root”
MYSQL_DB_CHECK=”mysql”
DB_PASSWORD=”bulwark”
DB_URL=”172.16.16.3″
DB_ROOT=”root”
DB_USERNAME=”bulwark”
DB_PORT=3306
DB_NAME=”bulwark”
DB_TYPE=”mysql”
NODE_ENV=”production”
DEV_URL=”http://localhost:4200″
PROD_URL=”http://localhost:5000″
JWT_KEY=”changeme”
JWT_REFRESH_KEY=”changeme”
CRYPTO_SECRET=”changeme”
CRYPTO_SALT=”changeme”
Build and start Bulwark containers:
docker-compose up -d
Start/Stop Bulwark containers:
docker-compose start
docker-compose stop
Remove Bulwark containers:
docker-compose down
Bulwark will be available at localhost:5000
Local Installation
$ git clone (url)
$ cd bulwark
$ npm install
Run in development mode:
$ npm run start:dev
Run in production mode:
$ npm start
Environment Variables
Create a .env
file on the root directory. This will be parsed with dotenv by the application.
DB_PASSWORD
DB_PASSWORD="somePassword"
Set this variable to database password
DB_USERNAME
DB_USERNAME="foobar"
Set this variable to database user name
DB_URL
DB_URL=something-foo-bar.dbnet
Set this variable to database URL
DB_PORT
DB_PORT=3306
Set this variable to database port
DB_NAME
DB_NAME="foobar"
Set this variable to database connection name
DB_TYPE
DB_TYPE="mysql"
The application was developed using a MySQL database. See the typeorm documentation for more database options.
NODE_ENV
NODE_ENV=production
Set this variable to determine node environment
DEV_URL="http://localhost:4200"
Only update if a different port is required
PROD_URL="http://localhost:5000"
Only update if a different port is required
JWT_KEY
JWT_KEY="changeMe"
Set this variable to the JWT secret
JWT_REFRESH_KEY
JWT_REFRESH_KEY="changeMe"
Set this variable to the refresh JWT secret
CRYPTO_SECRET
CRYPTO_SECRET="randomValue"
Set this variable to the Scrypt password.
CRYPTO_SALT
CRYPTO_SECRET="randomValue"
Set this variable to the Scrypt salt.
- Empty
.env
file template
DB_PASSWORD=””
DB_URL=””
DB_USERNAME=””
DB_PORT=3306
DB_NAME=””
DB_TYPE=””
NODE_ENV=””
DEV_URL=”http://localhost:4200″
PROD_URL=”http://localhost:5000″
JWT_KEY=””
JWT_REFRESH_KEY=””
CRYPTO_SECRET=””
CRYPTO_SALT=””
Create Initial Database Migration
- Create the initial database migration
$ npm run migration:init
- Run the initial database migration
$ npm run migration:run
Default Credentials
A user account is created on initial startup with the following credentials:
- email:
admin@example.com
- password:
changeMe
Upon first login, update the default user password under the profile section.