Skip to content

Conversation

@pgavlin
Copy link
Member

@pgavlin pgavlin commented Apr 29, 2025

These changes migrate this repo's GitHub Actions Workflows to use ESC secrets instead of GitHub Secrets.

The changes are largely mechanical:

  • Common configuration for all ESC actions within a workflow is added to the workflow's environment variables
  • Permissions are expanded as necessary for workflows that do not grant id-token: write permissions
    • read-all permissions are replaced with the union of all explicit read permissions and id-token: write
    • Default permissions are replaced with write-all, which is the equivalent of all explicit write permissions and
      id-token: write
    • Explicit permissions are modified to grant id-token: write
  • A step that fetches ESC secrets and populates environment variables is added to each step that reads secrets
  • Direct references to secrets within the job are replaced with references to the step's outputs

All ESC actions are configured to fetch secrets from a shared ESC environment that contains secrets migrated from GitHub Actions. The ESC action performs its own OIDC exchange to obtain a Pulumi Access Token.

@pgavlin pgavlin force-pushed the pgavlin/esc-secrets branch from f29dc1d to 17a3c69 Compare April 30, 2025 18:38
@pgavlin pgavlin added the impact/no-changelog-required This issue doesn't require a CHANGELOG update label Apr 30, 2025
@pgavlin pgavlin requested a review from komalali April 30, 2025 18:38
@pgavlin pgavlin force-pushed the pgavlin/esc-secrets branch from 17a3c69 to 06481ec Compare April 30, 2025 18:52
@pgavlin pgavlin force-pushed the pgavlin/esc-secrets branch from 06481ec to 14bccb0 Compare April 30, 2025 19:42
@pgavlin pgavlin force-pushed the pgavlin/esc-secrets branch from 14bccb0 to 25f5315 Compare July 24, 2025 17:34
@pgavlin pgavlin requested a review from a team as a code owner July 24, 2025 17:34
… secrets instead of GitHub Secrets.

The changes are largely mechanical:

- Common configuration for all ESC actions within a workflow is added to the workflow's environment variables
- Permissions are expanded as necessary for workflows that do not grant `id-token: write` permissions
	- `read-all` permissions are replaced with the union of all explicit read permissions and `id-token: write`
	- Default permissions are replaced with `write-all`, which is the equivalent of all explicit write permissions and
	  `id-token: write`
	- Explicit permissions are modified to grant `id-token: write`
- A step that fetches ESC secrets and populates environment variables is added to each step that reads secrets
- Direct references to secrets within the job are replaced with references to the step's outputs

All ESC actions are configured to fetch secrets from a shared ESC environment that contains secrets migrated from GitHub Actions. The ESC action performs its own OIDC exchange to obtain a Pulumi Access Token.
@pgavlin pgavlin force-pushed the pgavlin/esc-secrets branch from 25f5315 to 98b757d Compare July 24, 2025 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

impact/no-changelog-required This issue doesn't require a CHANGELOG update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants