summaryrefslogtreecommitdiff
path: root/lib/gitlab/ci/templates/Security/DAST-API.latest.gitlab-ci.yml
blob: a28914d082f028e42ba160d2e456fe2a0fdba453 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/Dast-API.latest.gitlab-ci.yml

# To use this template, add the following to your .gitlab-ci.yml file:
#
# include:
#   template: DAST-API.latest.gitlab-ci.yml
#
# You also need to add a `dast` stage to your `stages:` configuration. A sample configuration for DAST API:
#
# stages:
#   - build
#   - test
#   - deploy
#   - dast

# Read more about this feature here: https://docs.gitlab.com/ee/user/application_security/dast_api/index.html

# Configure DAST API scanning with CI/CD variables (https://docs.gitlab.com/ee/ci/variables/index.html).
# List of available variables: https://docs.gitlab.com/ee/user/application_security/dast_api/index.html#available-cicd-variables

variables:
  # Setting this variable affects all Security templates
  # (SAST, Dependency Scanning, ...)
  SECURE_ANALYZERS_PREFIX: "$CI_TEMPLATE_REGISTRY_HOST/security-products"
  #
  DAST_API_VERSION: "2"
  DAST_API_IMAGE_SUFFIX: ""
  DAST_API_IMAGE: api-security

dast_api:
  stage: dast
  image: $SECURE_ANALYZERS_PREFIX/$DAST_API_IMAGE:$DAST_API_VERSION$DAST_API_IMAGE_SUFFIX
  allow_failure: true
  rules:
    - if: $DAST_API_DISABLED
      when: never
    - if: $DAST_API_DISABLED_FOR_DEFAULT_BRANCH &&
          $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
      when: never

    # Add the job to merge request pipelines if there's an open merge request.
    - if: $CI_PIPELINE_SOURCE == "merge_request_event" &&
          $CI_GITLAB_FIPS_MODE == "true"
      variables:
        DAST_API_IMAGE_SUFFIX: "-fips"
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"

    # Don't add it to a *branch* pipeline if it's already in a merge request pipeline.
    - if: $CI_OPEN_MERGE_REQUESTS
      when: never

    # Add the job to branch pipelines.
    - if: $CI_COMMIT_BRANCH &&
          $CI_GITLAB_FIPS_MODE == "true"
      variables:
        DAST_API_IMAGE_SUFFIX: "-fips"
    - if: $CI_COMMIT_BRANCH
  script:
    - /peach/analyzer-dast-api
  artifacts:
    when: always
    paths:
      - gl-assets
      - gl-dast-api-report.json
      - gl-*.log
    reports:
      dast: gl-dast-api-report.json

# end