Skip to content

Commit 86e2961

Browse files
authored
Merge pull request #10678 from DefectDojo/release/2.37.0
Release: Merge release into master from: release/2.37.0
2 parents 73dddf6 + 3f20b29 commit 86e2961

File tree

761 files changed

+24039
-19139
lines changed

Some content is hidden

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

761 files changed

+24039
-19139
lines changed

.github/renovate.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@
77
"baseBranches": ["dev"],
88
"rebaseWhen": "conflicted",
99
"ignorePaths": ["requirements.txt", "requirements-lint.txt", "components/package.json", "components/package-lock.json", "dojo/components/yarn.lock", "dojo/components/package.json", "Dockerfile**"],
10-
"ignoreDeps": [
11-
"mysql",
12-
"rabbitmq"
13-
],
10+
"ignoreDeps": [],
1411
"packageRules": [{
1512
"packagePatterns": ["*"],
1613
"commitMessageExtra": "from {{currentVersion}} to {{#if isMajor}}v{{{newMajor}}}{{else}}{{#if isSingleVersion}}v{{{toVersion}}}{{else}}{{{newValue}}}{{/if}}{{/if}}",

.github/workflows/fetch-oas.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
docker images
3434
3535
- name: Start Dojo
36-
run: docker compose --profile postgres-redis --env-file ./docker/environments/postgres-redis.env up --no-deps -d postgres nginx uwsgi
36+
run: docker compose up --no-deps -d postgres nginx uwsgi
3737
env:
3838
DJANGO_VERSION: ${{ env.release_version }}-alpine
3939
NGINX_VERSION: ${{ env.release_version }}-alpine
@@ -44,11 +44,11 @@ jobs:
4444
4545
- name: Logs
4646
if: always()
47-
run: docker compose --profile postgres-redis --env-file ./docker/environments/postgres-redis.env logs --tail="2500"
47+
run: docker compose logs --tail="2500"
4848

4949
- name: Shutdown
5050
if: always()
51-
run: docker compose --profile postgres-redis --env-file ./docker/environments/postgres-redis.env down
51+
run: docker compose down
5252

5353
- name: Upload oas.${{ matrix.file-type }} as artifact
5454
uses: actions/upload-artifact@v3

.github/workflows/integration-tests.yml

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ jobs:
3636
"tests/tool_config.py",
3737
"openapi-validatator",
3838
]
39-
profile: ["postgres-rabbitmq", "postgres-redis"]
4039
os: [alpine, debian]
4140
fail-fast: false
4241

@@ -59,39 +58,30 @@ jobs:
5958
- name: Set integration-test mode
6059
run: ln -s docker-compose.override.integration_tests.yml docker-compose.override.yml
6160

62-
# phased startup with PostgreSQL and RabbitMQ so we can use the exit code from integrationtest container
63-
- name: Start Dojo PostgreSQL + RabbitMQ
64-
if: matrix.profile == 'postgres-rabbitmq'
65-
run: docker compose --profile ${{ matrix.profile }} --env-file ./docker/environments/${{ matrix.profile }}.env up --no-deps -d postgres nginx celerybeat celeryworker mailhog uwsgi rabbitmq
66-
env:
67-
DJANGO_VERSION: ${{ matrix.os }}
68-
NGINX_VERSION: ${{ matrix.os }}
69-
70-
- name: Start Dojo PostgreSQL + Redis
71-
if: matrix.profile == 'postgres-redis'
72-
run: docker compose --profile ${{ matrix.profile }} --env-file ./docker/environments/${{ matrix.profile }}.env up --no-deps -d postgres nginx celerybeat celeryworker mailhog uwsgi redis
61+
- name: Start Dojo
62+
run: docker compose up --no-deps -d postgres nginx celerybeat celeryworker mailhog uwsgi redis
7363
env:
7464
DJANGO_VERSION: ${{ matrix.os }}
7565
NGINX_VERSION: ${{ matrix.os }}
7666

7767
- name: Initialize
7868
timeout-minutes: 10
79-
run: docker compose --profile ${{ matrix.profile }} --env-file ./docker/environments/${{ matrix.profile }}.env up --no-deps --exit-code-from initializer initializer
69+
run: docker compose up --no-deps --exit-code-from initializer initializer
8070
env:
8171
DJANGO_VERSION: ${{ matrix.os }}
8272
NGINX_VERSION: ${{ matrix.os }}
8373

8474
- name: Integration tests
8575
timeout-minutes: 10
86-
run: docker compose --profile ${{ matrix.profile }} --env-file ./docker/environments/${{ matrix.profile }}.env up --no-deps --exit-code-from integration-tests integration-tests
76+
run: docker compose up --no-deps --exit-code-from integration-tests integration-tests
8777
env:
8878
DD_INTEGRATION_TEST_FILENAME: ${{ matrix.test-case }}
8979
INTEGRATION_TESTS_VERSION: debian
9080

9181
- name: Logs
9282
if: always()
93-
run: docker compose --profile ${{ matrix.profile }} --env-file ./docker/environments/${{ matrix.profile }}.env logs --tail="2500"
83+
run: docker compose logs --tail="2500"
9484

9585
- name: Shutdown
9686
if: always()
97-
run: docker compose --profile ${{ matrix.profile }} --env-file ./docker/environments/${{ matrix.profile }}.env down
87+
run: docker compose down

.github/workflows/k8s-tests.yml

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,14 @@ on:
55

66
env:
77
DD_HOSTNAME: defectdojo.default.minikube.local
8-
HELM_RABBIT_BROKER_SETTINGS: " \
9-
--set redis.enabled=false \
10-
--set rabbitmq.enabled=true \
11-
--set celery.broker=rabbitmq \
12-
--set createRabbitMqSecret=true \
13-
"
148
HELM_REDIS_BROKER_SETTINGS: " \
159
--set redis.enabled=true \
16-
--set rabbitmq.enabled=false \
1710
--set celery.broker=redis \
1811
--set createRedisSecret=true \
1912
"
20-
HELM_MYSQL_DATABASE_SETTINGS: " \
21-
--set database=mysql \
22-
--set postgresql.enabled=false \
23-
--set mysql.enabled=true \
24-
--set createMysqlSecret=true \
25-
"
2613
HELM_PG_DATABASE_SETTINGS: " \
2714
--set database=postgresql \
2815
--set postgresql.enabled=true \
29-
--set mysql.enabled=false \
3016
--set createPostgresqlSecret=true \
3117
"
3218
jobs:
@@ -44,23 +30,6 @@ jobs:
4430
brokers: redis
4531
k8s: 'v1.26.11'
4632
os: debian
47-
- databases: mysql
48-
brokers: rabbit
49-
k8s: 'v1.26.11'
50-
os: debian
51-
- databases: pgsql
52-
brokers: rabbit
53-
k8s: 'v1.29.2'
54-
os: debian
55-
- databases: mysql
56-
brokers: redis
57-
k8s: 'v1.29.2'
58-
os: debian
59-
- databases: pgsql
60-
brokers: rabbit
61-
k8s: 'v1.29.2'
62-
os: alpine
63-
6433
steps:
6534
- name: Checkout
6635
uses: actions/checkout@v4
@@ -99,9 +68,7 @@ jobs:
9968
id: set
10069
run: |-
10170
echo "pgsql=${{ env.HELM_PG_DATABASE_SETTINGS }}" >> $GITHUB_ENV
102-
echo "mysql=${{ env.HELM_MYSQL_DATABASE_SETTINGS }}" >> $GITHUB_ENV
10371
echo "redis=${{ env.HELM_REDIS_BROKER_SETTINGS }}" >> $GITHUB_ENV
104-
echo "rabbit=${{ env.HELM_RABBIT_BROKER_SETTINGS }}" >> $GITHUB_ENV
10572
10673
- name: Deploying Djano application with ${{ matrix.databases }} ${{ matrix.brokers }}
10774
timeout-minutes: 10

.github/workflows/release-1-create-pr.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ jobs:
5151

5252
- name: Update version numbers in key files
5353
run: |
54-
sed -ri "s/__version__ = '.*'/__version__ = '${{ github.event.inputs.release_number }}'/" dojo/__init__.py
55-
sed -ri "s/\"version\": \".*\"/\"version\": \"${{ github.event.inputs.release_number }}\"/" components/package.json
56-
sed -ri "s/appVersion: \".*\"/appVersion: \"${{ github.event.inputs.release_number }}\"/" helm/defectdojo/Chart.yaml
54+
sed -ri 's/__version__ = ".*"/__version__ = "${{ github.event.inputs.release_number }}"/' dojo/__init__.py
55+
sed -ri 's/"version": ".*"/"version": "${{ github.event.inputs.release_number }}"/' components/package.json
56+
sed -ri 's/appVersion: ".*"/appVersion: "${{ github.event.inputs.release_number }}"/' helm/defectdojo/Chart.yaml
5757
5858
if grep "\-dev" helm/defectdojo/Chart.yaml; then
5959
echo "x.y.z-dev found in Chart.yaml, probably releasing a new minor version"

.github/workflows/release-3-master-into-dev.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ jobs:
4444

4545
- name: Update version numbers in key files
4646
run: |
47-
sed -ri "s/__version__ = '.*'/__version__ = '${{ github.event.inputs.release_number_dev }}'/" dojo/__init__.py
48-
sed -ri "s/appVersion: \".*\"/appVersion: \"${{ github.event.inputs.release_number_dev }}\"/" helm/defectdojo/Chart.yaml
49-
sed -ri "s/\"version\": \".*\"/\"version\": \"${{ github.event.inputs.release_number_dev }}\"/" components/package.json
47+
sed -ri 's/__version__ = ".*"/__version__ = "${{ github.event.inputs.release_number_dev }}"/' dojo/__init__.py
48+
sed -ri 's/"version": ".*"/"version": "${{ github.event.inputs.release_number_dev }}"/' components/package.json
49+
sed -ri 's/appVersion: ".*"/appVersion: "${{ github.event.inputs.release_number_dev }}"/' helm/defectdojo/Chart.yaml
5050
CURRENT_CHART_VERSION=$(grep -oP 'version: (\K\S*)?' helm/defectdojo/Chart.yaml | head -1)
5151
sed -ri "0,/version/s/version: \S+/$(echo "version: $CURRENT_CHART_VERSION" | awk -F. -v OFS=. 'NF==1{print ++$NF}; NF>1{$NF=sprintf("%0*d", length($NF), ($NF+1)); print}')-dev/" helm/defectdojo/Chart.yaml
5252

.github/workflows/rest-framework-tests.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,19 @@ jobs:
3535

3636
# phased startup so we can use the exit code from unit test container
3737
- name: Start Postgres
38-
run: docker compose --env-file ./docker/environments/postgres-redis.env up -d postgres
38+
run: docker compose up -d postgres
3939

4040
# no celery or initializer needed for unit tests
4141
- name: Unit tests
4242
timeout-minutes: 10
43-
run: docker compose --profile postgres-redis --env-file ./docker/environments/postgres-redis.env up --no-deps --exit-code-from uwsgi uwsgi
43+
run: docker compose up --no-deps --exit-code-from uwsgi uwsgi
4444
env:
4545
DJANGO_VERSION: ${{ matrix.os }}
4646

4747
- name: Logs
4848
if: failure()
49-
run: docker compose --profile postgres-redis --env-file ./docker/environments/postgres-redis.env logs --tail="2500" uwsgi
49+
run: docker compose logs --tail="2500" uwsgi
5050

5151
- name: Shutdown
5252
if: always()
53-
run: docker compose --profile postgres-redis --env-file ./docker/environments/postgres-redis.env down
53+
run: docker compose down

Dockerfile.django-alpine

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,24 @@
55
# Dockerfile.nginx to use the caching mechanism of Docker.
66

77
# Ref: https://devguide.python.org/#branchstatus
8-
FROM python:3.11.9-alpine3.20@sha256:df44c0c0761ddbd6388f4549cab42d24d64d257c2a960ad5b276bb7dab9639c7 as base
9-
FROM base as build
8+
FROM python:3.11.9-alpine3.20@sha256:df44c0c0761ddbd6388f4549cab42d24d64d257c2a960ad5b276bb7dab9639c7 AS base
9+
FROM base AS build
1010
WORKDIR /app
1111
RUN \
1212
apk update && \
1313
apk add --no-cache \
1414
gcc \
1515
build-base \
1616
bind-tools \
17-
mysql-client \
18-
mariadb-dev \
19-
postgresql14-client \
17+
postgresql16-client \
2018
xmlsec \
2119
git \
2220
util-linux \
2321
curl-dev \
2422
openssl \
2523
libffi-dev \
24+
python3-dev \
25+
libpq-dev \
2626
&& \
2727
rm -rf /var/cache/apk/* && \
2828
true
@@ -31,25 +31,23 @@ COPY requirements.txt ./
3131
# https://github.com/unbit/uwsgi/issues/1318#issuecomment-542238096
3232
RUN CPUCOUNT=1 pip3 wheel --wheel-dir=/tmp/wheels -r ./requirements.txt
3333

34-
FROM base as django-alpine
34+
FROM base AS django-alpine
3535
WORKDIR /app
3636
ARG uid=1001
3737
ARG gid=1337
3838
ARG appuser=defectdojo
39-
ENV appuser ${appuser}
39+
ENV appuser=${appuser}
4040
RUN \
4141
apk update && \
4242
apk add --no-cache \
4343
openjpeg \
4444
jpeg \
4545
tiff \
4646
bind-tools \
47-
mysql-client \
48-
mariadb-dev \
4947
xmlsec \
5048
git \
5149
util-linux \
52-
postgresql14-client \
50+
postgresql16-client \
5351
curl-dev \
5452
openssl \
5553
# needed for integration-tests
@@ -136,5 +134,5 @@ ENV \
136134
DD_UWSGI_NUM_OF_THREADS="2"
137135
ENTRYPOINT ["/entrypoint-uwsgi.sh"]
138136

139-
FROM django-alpine as django-unittests
140-
COPY unittests/ ./unittests/
137+
FROM django-alpine AS django-unittests
138+
COPY unittests/ ./unittests/

Dockerfile.django-debian

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,15 @@
55
# Dockerfile.nginx to use the caching mechanism of Docker.
66

77
# Ref: https://devguide.python.org/#branchstatus
8-
FROM python:3.11.9-slim-bookworm@sha256:8c1036ec919826052306dfb5286e4753ffd9d5f6c24fbc352a5399c3b405b57e as base
9-
FROM base as build
8+
FROM python:3.11.9-slim-bookworm@sha256:8c1036ec919826052306dfb5286e4753ffd9d5f6c24fbc352a5399c3b405b57e AS base
9+
FROM base AS build
1010
WORKDIR /app
1111
RUN \
1212
apt-get -y update && \
1313
apt-get -y install --no-install-recommends \
1414
gcc \
1515
build-essential \
1616
dnsutils \
17-
default-mysql-client \
18-
libmariadb-dev-compat \
1917
libpq-dev \
2018
postgresql-client \
2119
xmlsec1 \
@@ -32,12 +30,12 @@ COPY requirements.txt ./
3230
# https://github.com/unbit/uwsgi/issues/1318#issuecomment-542238096
3331
RUN CPUCOUNT=1 pip3 wheel --wheel-dir=/tmp/wheels -r ./requirements.txt
3432

35-
FROM base as django
33+
FROM base AS django
3634
WORKDIR /app
3735
ARG uid=1001
3836
ARG gid=1337
3937
ARG appuser=defectdojo
40-
ENV appuser ${appuser}
38+
ENV appuser=${appuser}
4139
RUN \
4240
apt-get -y update && \
4341
# ugly fix to install postgresql-client without errors
@@ -48,8 +46,6 @@ RUN \
4846
libjpeg62 \
4947
libtiff6 \
5048
dnsutils \
51-
default-mysql-client \
52-
libmariadb3 \
5349
xmlsec1 \
5450
git \
5551
uuid-runtime \
@@ -141,5 +137,5 @@ ENV \
141137
DD_UWSGI_NUM_OF_THREADS="2"
142138
ENTRYPOINT ["/entrypoint-uwsgi.sh"]
143139

144-
FROM django as django-unittests
140+
FROM django AS django-unittests
145141
COPY unittests/ ./unittests/

Dockerfile.integration-tests-debian

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11

22
# code: language=Dockerfile
33

4-
FROM openapitools/openapi-generator-cli:v7.6.0@sha256:f86ca824293602b71b9b66683cc0011f8ff963858bd853621c554ff5cc7dd1d5 as openapitools
5-
FROM python:3.11.9-slim-bookworm@sha256:8c1036ec919826052306dfb5286e4753ffd9d5f6c24fbc352a5399c3b405b57e as build
4+
FROM openapitools/openapi-generator-cli:v7.7.0@sha256:99924315933d49e7b33a7d2074bb2b64fc8def8f74519939036e24eb48f00336 AS openapitools
5+
FROM python:3.11.9-slim-bookworm@sha256:8c1036ec919826052306dfb5286e4753ffd9d5f6c24fbc352a5399c3b405b57e AS build
66
WORKDIR /app
77
RUN \
88
apt-get -y update && \
@@ -76,4 +76,4 @@ ENV \
7676
DD_ADMIN_USER=admin \
7777
DD_ADMIN_PASSWORD='' \
7878
DD_BASE_URL="http://localhost:8080/"
79-
CMD ["/entrypoint-integration-tests.sh"]
79+
CMD ["/entrypoint-integration-tests.sh"]

0 commit comments

Comments
 (0)