Skip to content

feat(ci): integrate COSE package repository publishing - #26753

Open
pront wants to merge 29 commits into
masterfrom
pront-cose-package-publisher
Open

pront wants to merge 29 commits into
masterfrom
pront-cose-package-publisher

Conversation

@pront

@pront pront commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

Summary

Move Vector's apt/yum publication from Datadog release tooling to COSE S3 with a Vector-owned signing key. Merge #26848 first; this integration PR is stacked on its branch.

Changes

  • Add protected publishing and maintenance workflows with separate signing and AWS jobs, team approval, retry bundles, rollback, and lock recovery.
  • Install apt/RPM/GPG tools on Ubuntu runners before acquiring credentials, and download the versioned opt-in vdev archive. Publication jobs reuse the prebuilt binary without Docker or rebuilding it.
  • Add production configuration, the public key, and the setup/migration script. Preserve repository options and existing shared Datadog trust; handle ARMv7 URLs with or without a trailing slash.
  • Remove the Debian package's Datadog key-package recommendation and replace dd-pkg installation linting with native package checks.

Automated production publication remains disabled. The protected status canary, migration materials, announcement, and routing cutover remain outstanding. Signing trusts authorized GitHub release publishers; independent build-provenance verification is deferred.

References

Vector configuration

No Vector runtime configuration changes. Publisher settings and public signing fingerprints are pinned in distribution/repositories/production.json.

How did you test this PR?

  • Private native-runner integration passed all 12 jobs. Three fresh runners reused one release archive, fetched and signed real 0.59.0/0.60.0 packages, then exercised S3 publication, exact-byte retries, and interrupted rollback. Installation, upgrade, downgrade, recovery, and package lint passed on Ubuntu 20.04, Debian 13, and AlmaLinux 8/9, each on amd64 and arm64.
  • Installer tests previously covered fresh setup and early/late migration on Debian/Ubuntu and AlmaLinux, plus 28 ARMv7 URL cases and six maintenance output-directory cases. Historical migration evidence.
  • Workflow formatting/lint passed. The publisher source and dependencies match the tested prerequisite.
  • The new archive has not been published to the release CDN; the sandbox supplies it locally to the production installer script. Production OIDC status, routing/cutover, native ARMv7, and actual RC client installs remain unverified.

The stacked-base test-deny check still reports the existing zstd advisories. The fix in #26845 has merged into master; the prerequisite PR’s dependency check is green.

Is this a breaking change?

  • Yes. At cutover, existing apt/yum users must install the new signing key using the migration command.
  • No

Does this PR include user facing changes?

  • Yes. The migration announcement and guide will cover the Debian key-package change and repository trust migration before cutover. This PR intentionally uses no-changelog instead of a separate fragment.
  • No.

Contributor Guidelines

Signed commits; published review history is preserved.

@github-actions github-actions Bot added docs review on hold The documentation team reviews PRs only after a PR is approved by the COSE team. domain:ci Anything related to Vector's CI environment domain:releasing Anything related to releasing Vector domain:vdev Anything related to the vdev tooling and removed docs review on hold The documentation team reviews PRs only after a PR is approved by the COSE team. labels Oct 20, 2026
@pront pront added the no-changelog Changes in this PR do not need user-facing explanations in the release changelog label Oct 20, 2026
@pront
pront force-pushed the pront-cose-package-publisher branch from 700c6a3 to 9b15dbc Compare October 21, 2026 14:44
@pront
pront marked this pull request as ready for review October 21, 2026 14:48
@pront
pront requested a review from a team as a code owner October 21, 2026 14:48
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-28T19:59:53.340127Z 0c28075 New commits
🔒 Security Review ✅ Completed 2026-10-28T20:01:24.304332Z 0c28075 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@datadoghq-integration datadoghq-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bits Code Review: PASS

More details

The completed static review identified no actionable correctness defects. Automated publication remains gated off; readiness for production cutover was not established.

Was this helpful? React 👍 or 👎

Open Bits AI session

🤖 Bits Code Review · Commit 9b15dbc

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7bfc6bf8fc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread distribution/repositories/setup.sh Resolved
Comment thread distribution/repositories/setup.sh Resolved
@pront
pront marked this pull request as draft October 26, 2026 13:56
@pront
pront marked this pull request as ready for review October 26, 2026 14:01

@datadoghq-integration datadoghq-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bits Code Review: FAIL

Two of the most critical issues are: the ARMv7 repository URL replacement misses URLs without a trailing slash, causing HTTP 404 on repo refresh; and enabling default-https-client features in vdev/Cargo.toml introduces a second Rustls provider that conflicts with Vector's Ring provider, causing panics in workspace builds.

Open Bits AI session

🤖 Bits Code Review · Commit 02eb039

Comment thread distribution/repositories/setup.sh Resolved
Comment thread distribution/repositories/setup.sh Resolved
Comment thread vdev/Cargo.toml Resolved
@pront pront changed the title feat(ci): add COSE package repository publishing feat(ci): integrate COSE package repository publishing Oct 26, 2026
@pront
pront changed the base branch from master to pront-vdev-package-repositories October 26, 2026 17:31
@github-actions github-actions Bot removed the domain:vdev Anything related to the vdev tooling label Oct 26, 2026

@datadoghq-integration datadoghq-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bits Code Review: FAIL

Two distinct issues were identified: a GitHub Actions concurrency group configuration that can silently drop pending release publications, and a DNF transaction failure caused by unconditionally requesting the full curl package on systems with curl-minimal installed.

Open Bits AI session

🤖 Bits Code Review · Commit 04afe1b

Comment thread distribution/repositories/setup.sh Resolved

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a63c2a645b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Base automatically changed from pront-vdev-package-repositories to master October 26, 2026 22:53

@datadoghq-integration datadoghq-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bits Code Review: PASS

More details

The static review identified no reportable defect in publication retries, rollback, or repository trust migration. Production publishing and native package-client integration were not rerun.

Was this helpful? React 👍 or 👎

Open Bits AI session

🤖 Bits Code Review · Commit b11727b

pront added 2 commits October 26, 2026 21:13
Preserve curl-minimal during RPM prerequisite repair and verify the published opt-in vdev archive before execution.

AI assistance: GPT-6 (Codex).

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0c28075e82

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

for path in "${candidates[@]}"; do
[[ -f "$path" && "$path" != "$source_file" ]] || continue
if [[ "$path" == "$timber_file" && "${CSM_MIGRATE:-false}" == true ]]; then continue; fi
if awk '!/^[[:space:]]*[#;]/ && /vector-[0-9]+|^\[vector\]/ { found=1 } END { exit !found }' "$path"; then

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Detect indented duplicate RPM repository sections

When another .repo file defines an indented header such as [vector], this preflight does not detect it because the header pattern is anchored at column one, even though the migration parser later explicitly accepts leading whitespace around [vector]. The script therefore creates a second repository with the same ID instead of refusing the ambiguous configuration, leaving DNF/YUM to resolve conflicting repository settings; allow leading whitespace in this predicate.

Useful? React with 👍 / 👎.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs review on hold The documentation team reviews PRs only after a PR is approved by the COSE team. domain:ci Anything related to Vector's CI environment domain:releasing Anything related to releasing Vector no-changelog Changes in this PR do not need user-facing explanations in the release changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant