From e15efce410230f21d5e5eba052413996d832559d Mon Sep 17 00:00:00 2001 From: Pierre Smeyers <pierre.smeyers@gmail.com> Date: Sun, 14 Jan 2024 17:54:43 +0100 Subject: [PATCH] feat: migrate to CI/CD component MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ⚠ requires GitLab 16.6 or later --- .gitlab-ci.yml | 2 +- README.md | 33 +++++++++++++++++++++++++----- bumpversion.sh | 4 ++-- kicker.json | 2 ++ logo.png | Bin 14808 -> 35432 bytes templates/gitlab-ci-gitleaks.yml | 34 +++++++++++++++++++++++++------ 6 files changed, 61 insertions(+), 14 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 472bd6f..fc74ee2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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' diff --git a/README.md b/README.md index 89d5aa8..b27e736 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,36 @@ When run on other branches, Gitleaks will run a quick analysis on the current br ## 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/gitleaks/gitlab-ci-gitleaks@2.3.0 + # 2: set/override component inputs + inputs: + args: "--no-banner" # ⚠ 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/gitleaks' ref: '2.3.0' file: '/templates/gitlab-ci-gitleaks.yml' + +variables: + # 2: set/override template variables + GITLEAKS_ARGS: "--no-banner" # ⚠ this is only an example ``` ## `gitleaks` jobs configuration @@ -23,11 +46,11 @@ include: Those jobs trigger a Gitleaks analysis (either on the complete repository, either on the current branch). They use the following configuration. -| Name | Description | Default value | +| Input / Variable | Description | Default value | | --------------------- | -------------------------------------- | ----------------- | -| `GITLEAKS_IMAGE` | The Docker image used to run Gitleaks | `registry.hub.docker.com/zricethezav/gitleaks:latest` | -| `GITLEAKS_RULES` | Gitleaks [configuration rules](https://github.com/zricethezav/gitleaks#configuration) to use (you may also provide your own `.gitleaks.toml` configuration file in your project). | _none_ (uses default rules) | -| `GITLEAKS_ARGS` | [Options](https://github.com/zricethezav/gitleaks/wiki/Options) for a full Gitleaks analysis (on master or develop branches) | `--verbose` | +| `image` / `GITLEAKS_IMAGE` | The Docker image used to run Gitleaks | `registry.hub.docker.com/zricethezav/gitleaks:latest` | +| `rules` / `GITLEAKS_RULES` | Gitleaks [configuration rules](https://github.com/zricethezav/gitleaks#configuration) to use (you may also provide your own `.gitleaks.toml` configuration file in your project). | _none_ (uses default rules) | +| `args` / `GITLEAKS_ARGS` | [Options](https://github.com/zricethezav/gitleaks/wiki/Options) for a full Gitleaks analysis (on master or develop branches) | `--verbose` | ### Configuring Gitleaks rules diff --git a/bumpversion.sh b/bumpversion.sh index f06829a..ed44d7b 100755 --- a/bumpversion.sh +++ b/bumpversion.sh @@ -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 diff --git a/kicker.json b/kicker.json index 3aa95d8..6856fba 100644 --- a/kicker.json +++ b/kicker.json @@ -3,6 +3,8 @@ "description": "Detect and prevent hardcoded secrets in your Git repository with [Gitleaks](https://github.com/zricethezav/gitleaks/wiki)", "template_path": "templates/gitlab-ci-gitleaks.yml", "kind": "analyse", + "prefix": "gitleaks", + "is_component": true, "variables": [ { "name": "GITLEAKS_IMAGE", diff --git a/logo.png b/logo.png index 7f4a16cd2a821e36f2bcdc128ee947bf2fb5dd30..8f63671e075fe46a512fea40e2eab02824cc3edc 100644 GIT binary patch literal 35432 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�k;EZGfWQUZFgRNIWTGB)~%*%)~!oQOk^}RHkOc- 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 literal 14808 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 diff --git a/templates/gitlab-ci-gitleaks.yml b/templates/gitlab-ci-gitleaks.yml index 3937082..f3c6d99 100644 --- a/templates/gitlab-ci-gitleaks.yml +++ b/templates/gitlab-ci-gitleaks.yml @@ -14,6 +14,25 @@ # Floor, Boston, MA 02110-1301, USA. # ========================================================================================= # default workflow rules: Merge Request pipelines +spec: + inputs: + image: + description: The Docker image used to run Gitleaks + default: registry.hub.docker.com/zricethezav/gitleaks:latest + rules: + description: Gitleaks [configuration rules](https://github.com/zricethezav/gitleaks/wiki/Configuration) to use (you may also provide your own `.gitleaks.toml` configuration file in your project). + default: '' + args: + description: '[Options](https://github.com/zricethezav/gitleaks/wiki/Options) for a full Gitleaks analysis (on master or develop branches)' + default: --verbose + quick-args: + description: '[Options](https://github.com/zricethezav/gitleaks/wiki/Options) for a quick Gitleaks analysis (on feature branches)' + default: --verbose + quick-depth: + description: Number of commits to scan (on feature branches) + type: number + default: 10 +--- workflow: rules: # prevent branch pipeline when an MR is open (prefer MR pipeline) @@ -56,16 +75,19 @@ workflow: variables: # variabilized tracking image - TBC_TRACKING_IMAGE: "registry.gitlab.com/to-be-continuous/tools/tracking:master" + TBC_TRACKING_IMAGE: registry.gitlab.com/to-be-continuous/tools/tracking:master # Default Docker image (can be overridden) - GITLEAKS_IMAGE: "registry.hub.docker.com/zricethezav/gitleaks:latest" - GITLEAKS_ARGS: "--verbose" - + GITLEAKS_IMAGE: $[[ inputs.image ]] + GITLEAKS_ARGS: $[[ inputs.args ]] + GITLEAKS_RULES: $[[ inputs.rules ]] + GITLEAKS_QUICK_ARGS: $[[ inputs.quick-args ]] + GITLEAKS_QUICK_DEPTH: $[[ inputs.quick-depth ]] + # default production ref name (pattern) - PROD_REF: '/^(master|main)$/' + PROD_REF: /^(master|main)$/ # default integration ref name (pattern) - INTEG_REF: '/^develop$/' + INTEG_REF: /^develop$/ stages: - build -- GitLab