Use ephemeral GitHub token for updatecli - #1660
Open
mallendem wants to merge 2 commits into
Open
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the scheduled Updatecli automation to use Elastic’s Vault-issued, OIDC-bound ephemeral GitHub tokens instead of the deprecated tibdex/github-app-token, removing reliance on long-lived GitHub App secrets.
Changes:
- Replace
tibdex/github-app-tokenwithelastic/oblt-actions/github/create-token@v1in the Updatecli workflow. - Add
permissions: id-token: writeto enable OIDC-based token minting for the workflow. - Align Updatecli SCM metadata values (
scm.user/scm.email) togithub-actions[bot].
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| .github/workflows/updatecli.yml | Switches token issuance to Elastic’s OIDC/Vault ephemeral token action and adds id-token: write permission. |
| .ci/updatecli/values.d/scm.yml | Updates SCM identity fields used by Updatecli configuration. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces the deprecated
tibdex/github-app-tokenwith Elastic's ephemeral GitHub tokens (Vault-issued, OIDC-bound) viaelastic/oblt-actions/github/create-token.This drops the long-lived
OBS_AUTOMATION_APP_ID/OBS_AUTOMATION_APP_PEMApp secrets entirely rather than swapping one App-secret mechanism for another. Fixes #1592. Supersedes #1659.Requires the token policy in elastic/catalog-info#4460. That must merge first (~25 min for Backstage ingest + vault-realizer) or the 06:00 UTC cron fails with
role "token-policy-28b3d130da44" could not be found.Changes
permissions:gainsid-token: write(required for OIDC); job keepscontents: read/packages: read— the write scopes now ride on the ephemeral token rather than the job.actions/checkoutintentionally still uses the default token: updatecli clones into its own directory and pushes with its ownGITHUB_TOKEN, so the checked-out copy is read-only config.docker/login-actionkeepssecrets.GITHUB_TOKENfor the ghcr.io policy pull.scm.ymlcommitter aligned togithub-actions[bot]. See the caveat below.Caveat on the committer change
With
commitusingapi: true, updatecli commits via the GraphQL API and GitHub attributes the commit to the token identity — which will beelastic-vault-github-plugin-prod[bot], notgithub-actions[bot]. Review indicatesscm.user/scm.emailare only read on updatecli's native-git path, so these values are inert here (they already were: today's updatecli PRs are authored byelastic-observability-automation, neverobltmachine). Happy to drop this commit if we would rather not carry a value that does not reflect reality.Follow-ups
OBS_AUTOMATION_*grant inelastic/observability-github-secretsonce this lands — nothing in this repo references it anymore.elastic/observability-github-settingsallowlists the old bot, since the PR author identity changes.Validation
workflow_dispatchfrom this branch works before merge (bound_claimsuses@*), so we can smoke-test end to end once #4460 is realized.