Commit 09b35e04 authored by Cédric OLIVIER's avatar Cédric OLIVIER
Browse files

Merge branch 'feat/component' into 'master'

feat: migrate to CI/CD component

See merge request to-be-continuous/testssl!43
parents 4c5a5c7b f06933f6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ include:
    file: '/templates/validation.yml'
  - project: 'to-be-continuous/bash'
    ref: '3.3'
    file: 'templates/gitlab-ci-bash.yml'
    file: '/templates/gitlab-ci-bash.yml'
  - project: 'to-be-continuous/semantic-release'
    ref: '3.7'
    file: '/templates/gitlab-ci-semrel.yml'    
+29 −6
Original line number Diff line number Diff line
@@ -4,13 +4,36 @@ This project implements a GitLab CI/CD template to test your TLS/SSL servers com

## Usage

In order to include this template in your project, add the following to your `gitlab-ci.yml`:
This template can be used both as a [CI/CD component](https://docs.gitlab.com/ee/ci/components/#use-a-component-in-a-cicd-configuration) 
or using the legacy [`include:project`](https://docs.gitlab.com/ee/ci/yaml/index.html#includeproject) syntax.

### Use as a CI/CD component

Add the following to your `gitlab-ci.yml`:

```yaml
include:
  # 1: include the component
  - component: gitlab.com/to-be-continuous/testssl/gitlab-ci-testssl@3.3.0
    # 2: set/override component inputs
    inputs:
      args: "--severity HIGH" # ⚠ this is only an example
```

### Use as a CI/CD template (legacy)

Add the following to your `gitlab-ci.yml`:

```yaml
include:
  # 1: include the template
  - project: 'to-be-continuous/testssl'
    ref: '3.3.0'
    file: '/templates/gitlab-ci-testssl.yml'

variables:
  # 2: set/override template variables
  TESTSSL_ARGS: "--severity HIGH" # ⚠ this is only an example
```

:warning: this job do not fail unless there is a technical problem while scanning your endpoint. This means you have to read the tool report on gitlab or download the report to properly assert if the security level of your endpoint is correct.
@@ -21,12 +44,12 @@ This job performs a TLS/SSL compliancy analysis on a given server.

It uses the following variable:

| Name            | Description                              | Default value     |
| Input / Variable | Description                              | Default value     |
| --------------- | ---------------------------------------- | ----------------- |
| `TESTSSL_IMAGE` | The Docker image used to run [Test SSL](https://testssl.sh/) | `registry.hub.docker.com/drwetter/testssl.sh:latest` |
| `TESTSSL_ARGS`  | Test SSL [command-line options](https://testssl.sh/#usage)   | `--severity MEDIUM` |
| `TESTSSL_URL`   | Server url to test TLS/SSL against       | _none_ (auto evaluated: see below) |
| `REVIEW_ENABLED`| Set to `true` to enable Test SSL tests on review environments (dynamic environments instantiated on development branches) | _none_ (disabled) |
| `image` / `TESTSSL_IMAGE` | The Docker image used to run [Test SSL](https://testssl.sh/) | `registry.hub.docker.com/drwetter/testssl.sh:latest` |
| `args` / `TESTSSL_ARGS` | Test SSL [command-line options](https://testssl.sh/#usage)   | `--severity MEDIUM` |
| `url` / `TESTSSL_URL` | Server url to test TLS/SSL against       | _none_ (auto evaluated: see below) |
| `review-enabled` / `REVIEW_ENABLED` | Set to `true` to enable Test SSL tests on review environments (dynamic environments instantiated on development branches) | _none_ (disabled) |

In addition to a textual report in the console, this job produces the following reports, kept for one day:

+2 −2
Original line number Diff line number Diff line
@@ -27,13 +27,13 @@ if [[ "$curVer" ]]; then
  log_info "Bump version from \\e[33;1m${curVer}\\e[0m to \\e[33;1m${nextVer}\\e[0m (release type: $relType)..."

  # replace in README
  sed -e "s/ref: '$curVer'/ref: '$nextVer'/" README.md > README.md.next
  sed -e "s/ref: *'$curVer'/ref: '$nextVer'/" -e "s/ref: *\"$curVer\”/ref: \”$nextVer\”/" -e "s/component: *\(.*\)@$curVer/component: \1@$nextVer/" README.md > README.md.next
  mv -f README.md.next README.md

  # replace in template and variants
  for tmpl in templates/*.yml
  do
    sed -e "s/\"$curVer\"/\"$nextVer\"/" "$tmpl" > "$tmpl.next"
    sed -e "s/command: *\[\"--service\", \"\(.*\)\", \"$curVer\"\]/command: [\"--service\", \"\1\", \"$nextVer\"]/" "$tmpl" > "$tmpl.next"
    mv -f "$tmpl.next" "$tmpl"
  done
else
+2 −0
Original line number Diff line number Diff line
@@ -3,6 +3,8 @@
  "description": "Test your TLS/SSL servers compliance with [Test SSL](https://testssl.sh/)",
  "template_path": "templates/gitlab-ci-testssl.yml",
  "kind": "acceptance",
  "prefix": "testssl",
  "is_component": true,
  "variables": [
    {
      "name": "TESTSSL_IMAGE",
−7.03 KiB (13.2 KiB)
Loading image diff...
Loading