Skip to content

Commit 24bc536

Browse files
authored
Merge pull request DefectDojo#3107 from DefectDojo/release/1.9.0
Release PR - release/1.9.0
2 parents c4bcf6d + df30bac commit 24bc536

File tree

146 files changed

+30561
-1716
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+30561
-1716
lines changed

.github/workflows/plantuml.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
UML_FILES: ".puml"
1414
steps:
1515
- name: Checkout Source
16-
uses: actions/checkout@v1
16+
uses: actions/checkout@v2
1717
- name: Get changed UML files
1818
id: getfile
1919
run: |
@@ -30,7 +30,7 @@ jobs:
3030
with:
3131
args: -v -tpng ${{ steps.getfile.outputs.files }}
3232
- name: Push Local Changes
33-
uses: stefanzweifel/git-auto-commit-action@v4.1.2
33+
uses: stefanzweifel/git-auto-commit-action@v4.7.2
3434
with:
3535
commit_user_name: "PlantUML_bot"
3636
commit_user_email: "[email protected]"

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,8 @@ Pipfile*
116116

117117

118118
#ignore locally added certs
119-
certs/
119+
docker/certs/*
120+
!docker/certs/readme.txt
120121

121122
# Helm dependencies
122123
helm/defectdojo/charts

Dockerfile.django

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ COPY \
6767
docker/entrypoint-unit-tests.sh \
6868
docker/entrypoint-unit-tests-devDocker.sh \
6969
docker/wait-for-it.sh \
70-
certs/* \
70+
docker/certs/* \
7171
/
7272
COPY wsgi.py manage.py tests/unit-tests.sh ./
7373
COPY dojo/ ./dojo/
@@ -76,6 +76,7 @@ RUN \
7676
cp dojo/settings/settings.dist.py dojo/settings/settings.py
7777
COPY tests/ ./tests/
7878
RUN \
79+
rm -f /readme.txt && \
7980
mkdir -p dojo/migrations && \
8081
chmod g=u dojo/migrations && \
8182
true

Dockerfile.nginx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ RUN \
6464
python3 manage.py collectstatic --noinput && \
6565
true
6666

67-
FROM nginx:1.19.2-alpine@sha256:4635b632d2aaf8c37c8a1cf76a1f96d11b899f74caa2c6946ea56d0a5af02c0c
67+
FROM nginx:1.19.3-alpine@sha256:a3c6118edc80de4a5aaf2711b7742c25d4d2da54325bae465205cb386afa79ee
6868
ARG uid=1001
6969
ARG appuser=defectdojo
7070
COPY --from=collectstatic /app/static/ /usr/share/nginx/html/static/

README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,6 @@ product and application information, schedule scans, triage vulnerabilities and
1313
push findings into defect trackers.
1414
Consolidate your findings into one source of truth with DefectDojo.
1515

16-
## Demo
17-
18-
Try out DefectDojo in our
19-
[testing environment](https://defectdojo.herokuapp.com/) with the following
20-
credentials.
21-
22-
* admin / defectdojo@demo#appsec
23-
* product_manager / defectdojo@demo#product
24-
2516
## Quick Start
2617

2718
```sh
@@ -31,6 +22,8 @@ cd django-DefectDojo
3122
docker-compose build
3223
# running
3324
docker-compose up
25+
# obtain admin credentials
26+
docker-compose logs initializer | grep "Admin password:"
3427
```
3528

3629
Navigate to <http://localhost:8080>.
@@ -56,8 +49,15 @@ We've also created some example
5649
[workflows](https://defectdojo.readthedocs.io/en/latest/workflows.html) that
5750
should give you an idea of how to use DefectDojo for your own team.
5851

52+
## REST APIs
53+
54+
> ** Deprecation notice ** apiv1 is deprecated and EOS is on 12-31-2020. EOL is planned for 06-30-2021.
55+
> Please move on to apiv2 and raise issues for any unsupported operations.
56+
57+
Defectdojo can be accessed through a Swagger REST API. Please see [the API documentation](https://defectdojo.readthedocs.io/en/latest/api-v2-docs.html) or the in-app Swagger documentation.
58+
5959
## Client APIs and wrappers
60-
This section presents different ways to programmatically interact with defectdojo APIs.
60+
This section presents different ways to programmatically interact with DefectDojo APIs.
6161

6262
See [Wrappers](WRAPPERS.md)
6363

@@ -109,7 +109,7 @@ Project Moderators can help you with pull requests or feedback on dev ideas.
109109
* Jannik Jürgens
110110
* [Fred Blaise](https://www.linkedin.com/in/fredblaise/)
111111
* Saurabh kumar
112-
* Cody Maffucci
112+
* Cody Maffucci
113113
* Pascal Trovatelli / [Sopra Steria](https://www.soprasteria.com/)
114114

115115
## Hall of Fame

components/package.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
{
2+
"name": "DefectDojo",
3+
"version": "1.9.0-dev",
24
"dependencies": {
35
"JUMFlot": "jumjum123/JUMFlot#*",
46
"bootstrap": "^3.4.0",
@@ -11,13 +13,13 @@
1113
"components-jqueryui": "^1.0.0",
1214
"datatables.net": "^1.10.22",
1315
"datatables.net-bs": "^1.10.22",
14-
"datatables.net-buttons-bs": "^1.6.4",
15-
"datatables.net-buttons-dt": "^1.6.4",
16+
"datatables.net-buttons-bs": "^1.6.5",
17+
"datatables.net-buttons-dt": "^1.6.5",
1618
"datatables.net-colreorder": "^1.5.2",
1719
"datatables.net-dt": "^1.10.22",
1820
"drmonty-datatables-plugins": "^1.0.0",
1921
"drmonty-datatables-responsive": "^1.0.0",
20-
"easymde": "^2.11.0",
22+
"easymde": "^2.12.1",
2123
"flot": "flot/flot#~0.8.3",
2224
"flot-axis": "markrcote/flot-axislabels#*",
2325
"font-awesome": "^4.0.0",
@@ -31,7 +33,7 @@
3133
"jszip": "^3.5.0",
3234
"justgage": "^1.4.0",
3335
"metismenu": "~3.0.6",
34-
"moment": "^2.29.0",
36+
"moment": "^2.29.1",
3537
"morris.js": "morrisjs/morris.js",
3638
"pdfmake": "^0.1.68",
3739
"startbootstrap-sb-admin-2": "1.0.7"

components/yarn.lock

Lines changed: 36 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,10 @@ [email protected]:
163163
dependencies:
164164
typo-js "*"
165165

166-
codemirror@^5.55.0:
167-
version "5.55.0"
168-
resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.55.0.tgz#23731f641288f202a6858fdc878f3149e0e04363"
169-
integrity sha512-TumikSANlwiGkdF/Blnu/rqovZ0Y3Jh8yy9TqrPbSM0xxSucq3RgnpVDQ+mD9q6JERJEIT2FMuF/fBGfkhIR/g==
166+
codemirror@^5.58.1:
167+
version "5.58.1"
168+
resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.58.1.tgz#ec6bf38ad2a17f74c61bd00cc6dc5a69bd167854"
169+
integrity sha512-UGb/ueu20U4xqWk8hZB3xIfV2/SFqnSLYONiM3wTMDqko0bsYrsAkGGhqUzbRkYm89aBKPyHtuNEbVWF9FTFzw==
170170

171171
components-jqueryui@^1.0.0:
172172
version "1.12.1"
@@ -226,21 +226,21 @@ datatables.net-bs@^1.10.15, datatables.net-bs@^1.10.22:
226226
datatables.net "1.10.22"
227227
jquery ">=1.7"
228228

229-
datatables.net-buttons-bs@^1.6.4:
230-
version "1.6.4"
231-
resolved "https://registry.yarnpkg.com/datatables.net-buttons-bs/-/datatables.net-buttons-bs-1.6.4.tgz#1c71d45ec552c702c2780cf8494cf883851978a1"
232-
integrity sha512-tAdKu20U9M6AMwaGcMomQvzkQjXlK10ajDu+JesE8mwu2g7VPMKL2sm2rn5Vj3SjofbixgnEIFvwsEcYjGOi/Q==
229+
datatables.net-buttons-bs@^1.6.5:
230+
version "1.6.5"
231+
resolved "https://registry.yarnpkg.com/datatables.net-buttons-bs/-/datatables.net-buttons-bs-1.6.5.tgz#4689d348effa4d18aed75f60dbfa9ae2e89d0ed8"
232+
integrity sha512-T6YQNU4CnqLBAGqwepwXpqh405fdgNWzSP/sph8CulH3FCdG95oyxgS/6sTCZjS2B+GTwDhxOE9SM4LMCIs1lw==
233233
dependencies:
234234
datatables.net-bs "^1.10.15"
235-
datatables.net-buttons "1.6.4"
235+
datatables.net-buttons "1.6.5"
236236
jquery ">=1.7"
237237

238-
datatables.net-buttons-dt@^1.6.4:
239-
version "1.6.4"
240-
resolved "https://registry.yarnpkg.com/datatables.net-buttons-dt/-/datatables.net-buttons-dt-1.6.4.tgz#6d970e3f0f3c51cc78a17acd8239bd6278394692"
241-
integrity sha512-vpZgElAeaOpzIrb4XE0YoWgO2lLr67hVp+/hDw0/QhOhtP9nZidkclnlSIL8yxDjv3CLaKrVXuC8FtGbNF9kbw==
238+
datatables.net-buttons-dt@^1.6.5:
239+
version "1.6.5"
240+
resolved "https://registry.yarnpkg.com/datatables.net-buttons-dt/-/datatables.net-buttons-dt-1.6.5.tgz#55a1ebff030250fe9769d8898f6f916de999fd7f"
241+
integrity sha512-BeuAvOp2pHyTC7WgectJ29APyno9b+90Jg7W4YeWK/G3bOmp+ZYx4/cr4XsnluAPfLQOsnLwoPx+LEc7B7BzAQ==
242242
dependencies:
243-
datatables.net-buttons "1.6.4"
243+
datatables.net-buttons "1.6.5"
244244
datatables.net-dt "^1.10.15"
245245
jquery ">=1.7"
246246

@@ -252,6 +252,14 @@ [email protected]:
252252
datatables.net "^1.10.15"
253253
jquery ">=1.7"
254254

255+
256+
version "1.6.5"
257+
resolved "https://registry.yarnpkg.com/datatables.net-buttons/-/datatables.net-buttons-1.6.5.tgz#e7142b928ec9f5a6f9381bb965605c12e1610954"
258+
integrity sha512-JmV1ncTbpiDXxU/e8ucFIbNLrmlGUrWrURBLI19Rd/rT+WSbH8TmLjoFVyTFuvC4PdzyLY2swEi+O1SC1ehGKQ==
259+
dependencies:
260+
datatables.net "^1.10.15"
261+
jquery ">=1.7"
262+
255263
datatables.net-colreorder@^1.5.2:
256264
version "1.5.2"
257265
resolved "https://registry.yarnpkg.com/datatables.net-colreorder/-/datatables.net-colreorder-1.5.2.tgz#c425cee1f88b3246be0363c67a152be743ca6bce"
@@ -330,14 +338,14 @@ duplexer2@~0.1.4:
330338
dependencies:
331339
readable-stream "^2.0.2"
332340

333-
easymde@^2.11.0:
334-
version "2.11.0"
335-
resolved "https://registry.yarnpkg.com/easymde/-/easymde-2.11.0.tgz#544d27c6f265c8be15b4256957731c6de3a6a5b9"
336-
integrity sha512-d7HtwPXqqARY6KMCMe0EWUfNvoMh/VzHystKZE35mkL7x4z6ZsVBIPyRviGxYyix2qkC3zFGh1A0uo9hLpNuBg==
341+
easymde@^2.12.1:
342+
version "2.12.1"
343+
resolved "https://registry.yarnpkg.com/easymde/-/easymde-2.12.1.tgz#61180370cd9c19b8e7c0123b5768a152688a7aab"
344+
integrity sha512-4cYP+tK/vU9/KuiUskKnF9EM+DTvBe77EKduEu+HDa+nfRVVphZM76gfz2BjrWv8vbTJLOFcwlJ/NJ6+SzMApQ==
337345
dependencies:
338-
codemirror "^5.55.0"
346+
codemirror "^5.58.1"
339347
codemirror-spell-checker "1.1.2"
340-
marked "^1.1.1"
348+
marked "^1.2.0"
341349

342350
es-abstract@^1.17.0-next.1, es-abstract@^1.17.5:
343351
version "1.17.6"
@@ -727,10 +735,10 @@ [email protected]:
727735
dependencies:
728736
sourcemap-codec "^1.4.1"
729737

730-
marked@^1.1.1:
731-
version "1.1.1"
732-
resolved "https://registry.yarnpkg.com/marked/-/marked-1.1.1.tgz#e5d61b69842210d5df57b05856e0c91572703e6a"
733-
integrity sha512-mJzT8D2yPxoPh7h0UXkB+dBj4FykPJ2OIfxAWeIHrvoHDkFxukV/29QxoFQoPM6RLEwhIFdJpmKBlqVM3s2ZIw==
738+
marked@^1.2.0:
739+
version "1.2.0"
740+
resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.0.tgz#7221ce2395fa6cf6d722e6f2871a32d3513c85ca"
741+
integrity sha512-tiRxakgbNPBr301ihe/785NntvYyhxlqcL3YaC8CaxJQh7kiaEtrN9B/eK2I2943Yjkh5gw25chYFDQhOMCwMA==
734742

735743
736744
version "1.0.4"
@@ -749,10 +757,10 @@ minimist@^1.1.3:
749757
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
750758
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
751759

752-
moment@^2.29.0:
753-
version "2.29.0"
754-
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.0.tgz#fcbef955844d91deb55438613ddcec56e86a3425"
755-
integrity sha512-z6IJ5HXYiuxvFTI6eiQ9dm77uE0gyy1yXNApVHqTcnIKfY9tIwEjlzsZ6u1LQXvVgKeTnv9Xm7NDvJ7lso3MtA==
760+
moment@^2.29.1:
761+
version "2.29.1"
762+
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
763+
integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
756764

757765
morris.js@morrisjs/morris.js:
758766
version "0.5.1"

docker-compose.override.https.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ services:
66
USE_TLS: 'true'
77
GENERATE_TLS_CERTIFICATE: 'true'
88
ports:
9-
- target: ${DD_PORT:-8443}
10-
published: ${DD_PORT:-8443}
9+
- target: 8443
10+
published: ${DD_TLS_PORT:-8443}
1111
protocol: tcp
1212
mode: host
1313
uwsgi:

docker-compose.override.unit_tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ services:
77
dockerfile: Dockerfile.busybox
88
image: defectdojo/defectdojo-busybox:${NGINX_VERSION:-latest}
99
uwsgi:
10-
entrypoint: ['/wait-for-it.sh', 'mysql:3306', '-t', '30', '--', '/entrypoint-unit-tests-devDocker.sh']
10+
entrypoint: ['/wait-for-it.sh', 'mysql:3306', '-t', '30', '--', '/app/docker/entrypoint-unit-tests-devDocker.sh']
1111
volumes:
1212
- '.:/app:z'
1313
environment:
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
version: '3.7'
3+
services:
4+
nginx:
5+
build:
6+
context: ./
7+
dockerfile: Dockerfile.busybox
8+
image: defectdojo/defectdojo-busybox:${NGINX_VERSION:-latest}
9+
uwsgi:
10+
entrypoint: ['/wait-for-it.sh', 'mysql:3306', '-t', '30', '--', '/app/docker/entrypoint-unit-tests.sh']
11+
volumes:
12+
- '.:/app:z'
13+
environment:
14+
DD_DEBUG: 'True'
15+
DD_TEST_DATABASE_NAME: ${DD_TEST_DATABASE_NAME:-test_defectdojo}
16+
DD_DATABASE_NAME: ${DD_TEST_DATABASE_NAME:-test_defectdojo}
17+
celerybeat:
18+
environment:
19+
DD_DATABASE_URL: ${DD_TEST_DATABASE_URL:-mysql://defectdojo:defectdojo@mysql:3306/test_defectdojo}
20+
celeryworker:
21+
environment:
22+
DD_DATABASE_URL: ${DD_TEST_DATABASE_URL:-mysql://defectdojo:defectdojo@mysql:3306/test_defectdojo}
23+
initializer:
24+
environment:
25+
DD_INITIALIZE: 'false'
26+
mysql:
27+
ports:
28+
- target: 3306
29+
published: 3306
30+
protocol: tcp
31+
mode: host
32+
environment:
33+
MYSQL_DATABASE: ${DD_TEST_DATABASE_NAME:-test_defectdojo}
34+
volumes:
35+
- defectdojo_data_unittest:/var/lib/mysql
36+
volumes:
37+
defectdojo_data_unittest: {}

docker-compose.yml

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ services:
1111
environment:
1212
NGINX_METRICS_ENABLED: ${NGINX_METRICS_ENABLED:-false}
1313
ports:
14-
- target: ${DD_PORT:-8080}
14+
- target: 8080
1515
published: ${DD_PORT:-8080}
1616
protocol: tcp
1717
mode: host
18-
- target: ${DD_PORT:-8443}
19-
published: ${DD_PORT:-8443}
18+
- target: 8443
19+
published: ${DD_TLS_PORT:-8443}
2020
protocol: tcp
2121
mode: host
2222
uwsgi:
@@ -38,8 +38,6 @@ services:
3838
DD_CREDENTIAL_AES_256_KEY: ${DD_CREDENTIAL_AES_256_KEY:-&91a*agLqesc*0DJ+2*bAbsUZfR*4nLw}
3939
celerybeat:
4040
image: defectdojo/defectdojo-django:latest
41-
# needed to run as root, in order to drop privileges on celery. what's worst?
42-
user: root
4341
depends_on:
4442
- mysql
4543
- rabbitmq
@@ -77,7 +75,7 @@ services:
7775
DD_SECRET_KEY: ${DD_SECRET_KEY:-hhZCp@D28z!n@NED*yB!ROMt+WzsY*iq}
7876
DD_CREDENTIAL_AES_256_KEY: ${DD_CREDENTIAL_AES_256_KEY:-&91a*agLqesc*0DJ+2*bAbsUZfR*4nLw}
7977
mysql:
80-
image: mysql:5.7.29@sha256:8044616c01e46c6bc826d205103a2b650a1679be2f34beab9bbf6c6f642df673
78+
image: mysql:5.7.32@sha256:da0936fa5772538548f6fe4e7cb215ad89248cc57e89f1ccc27cb8927ada75de
8179
environment:
8280
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
8381
DD_DATABASE_URL: ${DD_DATABASE_URL:-mysql://defectdojo:defectdojo@mysql:3306/defectdojo}
@@ -88,6 +86,6 @@ services:
8886
volumes:
8987
- defectdojo_data:/var/lib/mysql
9088
rabbitmq:
91-
image: rabbitmq:3.7.26@sha256:be00c655a6d4a1012358a3a51d57e2b33d926b181a65863a568adc103edfdb91
89+
image: rabbitmq:3.8.9@sha256:30a52abe6009eea97c89dcd72b9dcf9c2a26563beb4b4d948d595c0415fc8680
9290
volumes:
9391
defectdojo_data: {}

docker/cert.pem

Lines changed: 0 additions & 29 deletions
This file was deleted.

docker/certs/readme.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Certificates added to this directory will automatically be added to django docker image.

docker/entrypoint-celery-beat.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,4 @@ echo
1414
exec celery beat \
1515
--app=dojo \
1616
--pidfile=/var/run/defectdojo/celery-beat.pid \
17-
--schedule=/var/run/defectdojo/celerybeat-schedule \
18-
--uid=${appuser}
17+
--schedule=/var/run/defectdojo/celerybeat-schedule

docker/entrypoint-integration-tests.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ else
9898
fail $test
9999
fi
100100

101-
test=echo "User integration tests"
101+
test="User integration tests"
102102
echo "Running: $test"
103103
if python3 tests/User_unit_test.py ; then
104104
success $test

0 commit comments

Comments
 (0)