Repository navigation
BUILD-12911: Resolve Prod Edge reader tokens through production Vault - #357
Conversation
72d8884 to
5e56c0b
Compare
|
I pushed a commit that keeps |
Production Vault issues only production Edge tokens. The dev Edge keeps its seeded artifactory-edge-dev engine on dev Vault.
29398f6 to
f335f47
Compare
|
Code Review 👍 Approved with suggestions 2 closed / 3 findings🔴 High risk · Changing Vault engines for Edge reader-token issuance could grant or deny private artifact access if endpoint routing selects the wrong credentials. Routes the eight reader credential steps to the matching Vault for SaaS, dev Edge, and production Edge, while keeping dev Edge tokens on dev Vault and preserving SaaS deployment paths. Two resolved this session: the
💡 Cross-Repo: Orchestrator doesn't recognise the new production Edge host📄 README.md:73 📄 config-maven/action.yml Fix here and in Breaks in: This PR tells consumers to set Here: Until an orchestrator release recognises There: In SonarSource/orchestrator, add In SonarSource/orchestrator - ✅ 2 closed✅ Quality: repox-url input descriptions still point only to the dev Edge
✅ Quality: PR claims and README no longer match the dev-Vault split
🤖 Prompt for agentsVerification Repos 1 inspectedFunctional validation No results Rules No rules evaluated Broader impact Repos 1 inspectedCross-repo 1 repository inspected 1 open impact
Auto-approval Not enabledFor more verification details, comment OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |



BUILD-12911: Issue production Edge reader credentials through production Vault while preserving existing dev Edge authentication.
Previously every non-jfrog.io resolve URL requested tokens from dev Vault's
artifactory-edge-dev, including production Edge URLs. The eight reader credential steps now select the matching Vault server and engine:development/artifactoryonhttps://vault.sonar.build.development/artifactory-edge-devonhttps://vault.dev.sonar.build.development/artifactory-edge-prodonhttps://vault.sonar.build.Rollout prerequisites
Repositories using SonarSource Orchestrator integration tests must first use an Orchestrator release that recognizes
repox-internal.sonar.buildas an authenticated SonarSource Artifactory host. Its current default-branchArtifactoryFactoryrecognizes only SaaS and dev Edge, so switching such repositories now can select the unauthenticated Maven client and break private downloads or version alias resolution. The isolated sonarlint-core download experiment does not validate this Orchestrator behavior.Keep this change unreleased until the production Edge engine on production Vault has been seeded with a production-Edge-issued admin token, rotated, activated and validated. Bootstrap only
artifactory-edge-prod; do not seed the unwanted dev engine on production Vault or rotate the existing dev Vault credential.https://github.com/SonarSource/re-terraform-aws-vault/pull/9762 removes the unused dev Edge mount from production Vault while retaining dev issuance on dev Vault. After bootstrap, merge that correction and verify its new post-merge production apply succeeds. Do not rerun the old activation commit, which still attempts to configure both Edge engines on production Vault.
Before release, compare a representative private-artifact dev CI run on its existing action version with a pilot using this PR's exact commit and the same dev Edge URL/reader role. Separately validate production Edge resolution, including cache hits and misses. Existing dev consumers retain their current URLs and action pins during the production pilot.
Test plan
git diff --check.repox-url: https://repox.jfrog.ioreturns reads to SaaS.Preparation and activation infrastructure changes are already merged:
https://github.com/SonarSource/re-terraform-aws-vault/pull/9759
https://github.com/SonarSource/re-terraform-aws-vault/pull/9760
Required correction before release:
https://github.com/SonarSource/re-terraform-aws-vault/pull/9762
Actual action validation
The isolated draft experiment SonarSource/sonarlint-core#2374 ran
config-mavenfrom this PR atf335f47fa10fc0ed2252014f81ca133c2e0a5b8eagainst both internal Edge URLs:https://github.com/SonarSource/sonarlint-core/actions/runs/37980454381
Both jobs successfully obtained their private-reader credentials through the expected Vault server/engine (dev → dev Vault/artifactory-edge-dev; prod → production Vault/artifactory-edge-prod), exported the matching ARTIFACTORY_URL, downloaded the full private Developer ZIP (HTTP 200, 1,499,439,841 bytes), and repeated a ranged read (HTTP 206, 1,024 bytes). This exercises the actual config-maven action rather than the Vault wrapper alone. It does not prove Edge cache hit/miss classification, unauthorized-role denial, every package action, or Orchestrator support.