Skip to content

docs(controller): add download verification and signature links - #7948

Merged
sanderson merged 3 commits into
docs/telegraf-controller-1.2.0from
docs/controller-download-verification
Oct 27, 2026
Merged

sanderson merged 3 commits into
docs/telegraf-controller-1.2.0from
docs/controller-download-verification

Conversation

@sanderson

Copy link
Copy Markdown
Collaborator

What changed

Three commits on top of docs/telegraf-controller-1.2.0.

docs(controller): document how to verify downloads

  • content/telegraf/controller/install/_index.md: the download step gains a "Verify the download" expand block, labelled Recommended, that explains the three files a release ships (the executable, its detached .asc signature, and the signed telegraf_controller-<version>.digests checksum file) and walks through importing the InfluxData package signing key, verifying both signatures with gpg, and checking the SHA-256 with sha256sum or shasum on Linux and macOS and Get-FileHash on Windows. The digests filename comes from the latest-patch shortcode. The block is wrapped in expand-wrapper so it stays inside the numbered step.
  • content/telegraf/controller/install/upgrade.md: the download step says to verify before replacing the executable and links to the block, which opens on arrival.

feat(tc-downloads): add signature and digests links and read the version from products.yml

  • layouts/shortcodes/telegraf/tc-downloads.html reads the release version from telegraf_controller.latest_patch in data/products.yml and keeps the OS and architecture matrix in a commented block in the template. For each build it emits the binary URL and its .asc URL, plus the release's digests file and its signature. data/tc_downloads.yml is removed.
  • assets/js/tc-downloads.js renders, behind the existing gate, an intro paragraph about the signature and checksum files, the version line once, a "Signature (.asc)" button beside each download button, and a Checksums row with the digests file and its signature. The hand-copied SHA-256 text and the copy-to-clipboard code are gone. After rendering it re-scrolls to any URL hash, since the rendered block shifts the page, and in-page anchor links inside the block scroll to and open their target through the site's scrollToAnchor.
  • assets/styles/layouts/article/_tc-downloads.scss drops the flex row layout and SHA styles, pads the rows, and styles the signature link as a 1px outlined button in the download-button blue. The themes gain $article-btn-outline and $article-btn-outline-hover (darker on hover in the light theme, lighter in the dark theme).
  • cypress/e2e/content/tc-downloads.cy.js asserts the signature links and the digests row instead of the copy buttons.

style(tc-downloads): apply Prettier quoting to the Cypress spec: a one-line change the pre-commit hook made after staging.

Why

Telegraf Controller releases ship a detached PGP signature for every binary and a signed SHA-256 digests file, but the install page offered downloads with no way to verify them. Linking the signature files beside each download and documenting the verification steps closes that gap. Reading the version from products.yml and dropping the checksum data file leaves one value to bump per release instead of a version plus five hand-pasted hashes.

Impact

Two Controller pages change, with no URL or alias changes; the verification block's anchor is #verify-the-download-recommended. The download block on the install and upgrade pages renders the new links behind the same gate as before. The download base URL is unchanged in this PR; the switch to the new release host follows once the 1.2.0 files are confirmed there.

Verification

  • Vale at warning level on both pages: 0 errors, 0 warnings. yarn lint-codeblocks: no failures.
  • node --check and ESLint on the script and spec: clean. Lefthook pre-commit hooks passed on each commit.
  • Rendered with hugo server: decoded the shortcode's data attribute and confirmed every binary, signature, and digests URL; confirmed the compiled light and dark stylesheets and the served bundle; confirmed the expand block renders inside the download step with the Install step following in the same list; confirmed the links open the block from the upgrade page and from within the install page.
  • The Cypress binary cannot start on the authoring machine, so tc-downloads.cy.js was not executed locally; CI runs it.

Checklist

  • Signed the InfluxData CLA
  • Rebased/mergeable
  • Local build passes (npx hugo --quiet)

What changed:
- install/_index.md: the download step gains a "Verify the download"
  expand block, labelled Recommended, that explains the signature and
  digests files and walks through importing the InfluxData package
  signing key, verifying both signatures with gpg, and checking the
  SHA-256 checksum with `sha256sum` (or `shasum` on macOS) and
  `Get-FileHash` on Windows, in Linux/macOS and Windows tabs. The digests
  filename uses the `latest-patch` shortcode. The block is wrapped in
  `expand-wrapper` so it stays inside the list item.
- install/upgrade.md: the download step says to verify before replacing
  the executable and links to the block, which opens on arrival.

Why:
The install page offered downloads with no way to verify them, while
every release ships `.asc` signatures and a signed digests file.

Impact:
Two existing pages; no URL or alias changes. The block's anchor is
`#verify-the-download-recommended`, derived from its label.

Verification:
Vale (warning level): 0 errors, 0 warnings. `yarn lint-codeblocks`: no
failures. Rendered with `hugo server`; the block renders inside the
download step with the Install step following in the same list, and the
link from the upgrade page opens it.
…ion from products.yml

What changed:
- layouts/shortcodes/telegraf/tc-downloads.html reads the release version
  from `telegraf_controller.latest_patch` in data/products.yml and keeps
  the build matrix in a commented block in the template. For each build
  it emits the binary URL and its detached signature URL (`<file>.asc`),
  plus the release's `telegraf_controller-<version>.digests` file and its
  signature. data/tc_downloads.yml is removed.
- assets/js/tc-downloads.js renders, after the gate, an intro paragraph
  that explains the signature and checksum files, the version line once,
  a "Signature (.asc)" button beside each download button, and a
  Checksums row with the digests file and its signature. The SHA-256 text
  and copy-to-clipboard code are removed. After rendering, it re-scrolls
  to any URL hash (the rendered block shifts the page), and in-page anchor
  links inside the block scroll to and open their target through the
  site's `scrollToAnchor`.
- assets/styles/layouts/article/_tc-downloads.scss drops the flex row
  layout and the SHA styles, pads the rows, and styles the signature link
  as a 1px outlined button in the download-button blue that changes
  color on hover. The themes gain `$article-btn-outline` and
  `$article-btn-outline-hover` (darker on hover in light, lighter in
  dark).
- cypress/e2e/content/tc-downloads.cy.js asserts the signature links and
  the digests row instead of the copy buttons.

Why:
Telegraf Controller releases ship a detached PGP signature per binary and
a signed SHA-256 digests file, so readers can verify downloads without a
hand-copied checksum in a data file. Deriving the version from
products.yml leaves one place to bump per release.

Impact:
Pages that use the shortcode (Controller install and upgrade). The
rendered block stays behind the existing download gate. Releasing now
means bumping `latest_patch` only; the signature and digests links
resolve once the release files are uploaded.

Verification:
`node --check` and ESLint on the script and spec: clean. Rendered with
`hugo server`; decoded the shortcode's data attribute and confirmed every
URL, confirmed the compiled light and dark stylesheets, and confirmed the
served bundle. The Cypress binary cannot start in this environment, so the
spec was not executed locally.
@sanderson
sanderson requested a review from a team as a code owner October 27, 2026 13:30
@sanderson
sanderson requested review from jstirnaman and removed request for a team October 27, 2026 13:30
@github-actions

Copy link
Copy Markdown
Contributor

Vale Style Check Results

Metric Count
Errors 0
Warnings 0

✅ Check passed

@github-actions github-actions Bot added the product:telegraf Telegraf documentation label Oct 27, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔗 Link Check Results — Link Check Bot

❌ 2 broken link(s) found — fix them before merging.

Metric Value
Files Checked 2
Total Links 425
Errors 2
Warnings 2
Success Rate 98.11765%

Broken Links

Source File Broken URL Error Report
content/telegraf/controller/install/_index.md https://www.influxdata.com/blog/telegraf-enterprise-controller-1-2/ Rejected status code: 404 Not Found Report
content/telegraf/controller/install/upgrade/_index.md https://www.influxdata.com/blog/telegraf-enterprise-controller-1-2/ Rejected status code: 404 Not Found Report
⚠️ 2 warning(s) (do not fail CI)
Source File URL Issue
content/telegraf/controller/install/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/telegraf/controller/install/upgrade/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…

Full details: workflow run summary and artifact. Last updated: 2026-10-27 13:32:20 UTC

@sanderson
sanderson merged commit 18811b1 into docs/telegraf-controller-1.2.0 Oct 27, 2026
21 of 22 checks passed
@sanderson
sanderson deleted the docs/controller-download-verification branch October 27, 2026 14:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

product:telegraf Telegraf documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant