Anchor the service account pattern in the Buildah rootless tutorial

What does this MR do?

The rootless Buildah tutorial configures the runner with service_account_overwrite_allowed = "buildah-*", which reads like a glob. The Kubernetes executor of GitLab Runner compiles that setting as a Go regular expression and accepts the job's KUBERNETES_SERVICE_ACCOUNT_OVERWRITE value when the expression matches any part of it (overwriteRegexCheck). As a regular expression, buildah-* is buildah followed by any number of hyphens, so it accepts every service account name that contains buildah. The tutorial's own buildah-sa matches only because it contains buildah.

This MR changes the example to ^buildah-sa$, which accepts the buildah-sa service account the tutorial creates and no other, and adds a sentence on what the value is. Nothing else on the page changes.

Both values checked with Go 1.27.2

The calls the runner makes (regexp.Compile on the setting, then MatchString on the variable's value), for the tutorial's service account and a few other names:

value                  buildah-*      ^buildah-sa$
buildah-sa             true           true
buildah                true           false
buildah-sa-2           true           false
my-buildah-sa          true           false
gitlab-runner-app-sa   false          false
default                false          false
Lint
  • scripts/lint-doc.sh doc/ci/docker/buildah_rootless_tutorial.md in the lint-markdown:alpine-3.24-vale-3.21.0-markdownlint2-0.23.2-lychee-0.24.2-rumdl-0.2.69 image the docs jobs use: markdownlint-cli2 0 issues, Vale 0 errors, warnings or suggestions at the level the script uses.
  • Vale at its default level: the same three alerts as on master (reading level, SCC, a long sentence in the job section), none on the lines this MR adds.
  • lychee --offline --include-fragments on the page: 0 errors.
  • scripts/lint/commit_linter.rb with gitlab-dangerfiles 4.13.0: no problems.

gitlab-runner!7661 (merged) documents the same matching on the Kubernetes executor page of the GitLab Runner documentation.

Author's checklist

If you are a GitLab team member and only adding documentation, do not add any of the following labels:

  • ~"frontend"
  • ~"backend"
  • ~"type::bug"
  • ~"database"

These labels cause the MR to be added to code verification QA issues.

Reviewer's checklist

Documentation-related MRs should be reviewed by a Technical Writer for a non-blocking review, based on Documentation Guidelines and the Style Guide.

If you aren't sure which tech writer to ask, use roulette or ask in the #docs Slack channel.

  • If the content requires it, ensure the information is reviewed by a subject matter expert.
  • Technical writer review items:
    • Ensure docs metadata is present and up-to-date.
    • Ensure the appropriate labels are added to this MR.
    • Ensure a release milestone is set.
    • If relevant to this MR, ensure content topic type principles are in use, including:
      • The headings should be something you'd do a Google search for. Instead of Default behavior, say something like Default behavior when you close an issue.
      • The headings (other than the page title) should be active. Instead of Configuring GDK, say something like Configure GDK.
      • Any task steps should be written as a numbered list.
      • If the content still needs to be edited for topic types, you can create a follow-up issue with the docs-technical-debt label.
  • Review by assigned maintainer, who can always request/require the reviews above. Maintainer's review can occur before or after a technical writer review.
Edited by José M. Requena Plens

Merge request reports

Loading
Loading