blob: 57c70939404521113f67f27be418d967a52cbf62 [file] [view]
# Notes on the ASF fork of Vulnogram
This fork adds a number of ASF-specific features,
such as:
* authorization based on the ASF OAuth
* sending various notification emails
* selecting which fields to encourage
* some ASF-specific autocompletes and validations
* allocate CVEs server-side through the ASF CVE
## Setting up a development environment
The recommended dev setup runs MongoDB in a container and the
Vulnogram app on the host.
### One-time setup
1. Install Node dependencies:
```shell
npm install
```
2. Copy `example-asf.env` to `.env`, then open `.env` and uncomment the
development overrides at the top of the file:
```shell
cp example-asf.env .env
```
3. Generate a self-signed TLS certificate (required because the
`oauth.apache.org` callback URL must use HTTPS):
```shell
openssl req -x509 -newkey rsa:2048 -nodes \
-keyout key.pem -out cert.pem -days 365 \
-subj "/CN=localhost" \
-addext "subjectAltName=DNS:localhost,IP:127.0.0.1"
```
The browser will warn about the untrusted certificate on first visit; click through to accept it.
### Every run
1. Start MongoDB in a container:
```shell
docker compose up -d vulnogram-mongo
```
2. Start the app on the host:
```shell
node app.js
```
The app listens on `http://0.0.0.0:3555` by default and uses `oauth.apache.org` for authentication.