Skip to content

Commit bb66b8f

Browse files
Require Shelly Dependabot secrets
Document the required Dependabot secret mappings and their pre-review trust boundary. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent d88e264 commit bb66b8f

2 files changed

Lines changed: 6 additions & 7 deletions

File tree

docs/content/guides/github-app-authentication.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,10 @@ jobs:
3333
The root reusable workflow forwards these two values to the Plan, Build-Module, and Publish-Module reusable jobs.
3434
Do not use `secrets: inherit` as a substitute for this mapping.
3535

36-
Dependabot-triggered workflows cannot read regular Actions secrets. Do not duplicate Shelly's private key into
37-
Dependabot secrets by default: a compromised dependency update could alter workflow code that receives the key before
38-
human review. If an organization requires the Process-PSModule workflow to run on Dependabot pull requests, its
39-
security owners must explicitly accept that trust boundary and provision separate Dependabot secrets. Otherwise,
40-
skip token-consuming jobs for Dependabot pull requests and run the full workflow after review or merge.
36+
Dependabot-triggered workflows cannot read regular Actions secrets. To run Process-PSModule on Dependabot pull
37+
requests, create `SHELLY_CLIENT_ID` and `SHELLY_PRIVATE_KEY` as Dependabot secrets in addition to Actions secrets.
38+
This is a deliberate trust boundary: review the App's installation scope and every dependency update carefully,
39+
because the workflow can mint a Shelly token before human review.
4140

4241
## GitHub App installation permissions
4342

docs/content/reference/workflow-inputs.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ credentials that are exposed. `secrets: inherit` is intentionally not required.
2929
| Name | Location | Description | Required |
3030
| ---- | -------- | ----------- | -------- |
3131
| `APIKey` | GitHub secrets | The API key for the PowerShell Gallery, used to publish the module. | Yes |
32-
| `GitHubAppClientId` | GitHub secrets | The GitHub App client ID used to mint scoped installation tokens for GitHub API operations. Map Shelly's `SHELLY_CLIENT_ID` in the caller. | Yes |
33-
| `GitHubAppPrivateKey` | GitHub secrets | The GitHub App private key used to mint scoped installation tokens for GitHub API operations. Map Shelly's `SHELLY_PRIVATE_KEY` in the caller. | Yes |
32+
| `GitHubAppClientId` | GitHub secrets | The GitHub App client ID used to mint scoped installation tokens for GitHub API operations. Map Shelly's `SHELLY_CLIENT_ID` in the caller and Dependabot secret store. | Yes |
33+
| `GitHubAppPrivateKey` | GitHub secrets | The GitHub App private key used to mint scoped installation tokens for GitHub API operations. Map Shelly's `SHELLY_PRIVATE_KEY` in the caller and Dependabot secret store. | Yes |
3434
| `TestData` | GitHub secrets | A single-line JSON object with `secrets` and `variables` maps, exposed as environment variables to the module test jobs. Values under `secrets` are masked; values under `variables` are not. | No |
3535

3636
See [passing test data](../guides/calling-the-workflow.md#passing-test-data) for how to build the `TestData` value.

0 commit comments

Comments
 (0)