Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: document how to request a token with github-nodejs-bot #894

Merged
merged 2 commits into from
Jul 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,10 @@ Groups are created in 1Password with a 1:1 mapping of Node.js organization teams

- **Social Team:** For the [Social Team](#social-team) to contain official account credientials.

## @nodejs-github-bot

Follow the steps in [request-an-access-token](./request-an-access-token.md) to request an access token under the name of [`@nodejs-github-bot`][].

## Node.js Project Calendar

A calendar of the project's meetings can be found at:
Expand All @@ -79,3 +83,5 @@ This list should be reviewed and pruned annually (at minimum). The calendar has
- [@MylesBorins](https://github.com/MylesBorins) - **Myles Borins**
- [@ruyadorno](https://github.com/ruyadorno) - **Ruy Adorno**
- [@trott](https://github.com/trott) - **Rich Trott**

[`@nodejs-github-bot`]: https://github.com/nodejs-github-bot
42 changes: 42 additions & 0 deletions request-an-access-token.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Request a nodejs-github-bot token

Automation in the `nodejs` GitHub Organization may require access tokens to
access permission scoped endpoints. In the case of such requirement, the access
token can be requested to be created under the name of [`@nodejs-github-bot`][].

Creating classic tokens for [`@nodejs-github-bot`][] is not permitted, only
fine-grained tokens are allowed.

To create a fine-grained access token for [`@nodejs-github-bot`][], follow the
steps as:

1. Submit a PR to add the requested repo in the registry below, and describe
expected permission scopes.
1. A TSC member or a build WG member (who has access to the [`@nodejs-github-bot`][]
account) needs to take following action:
1. Create the fine-grained token at https://github.com/settings/personal-access-tokens/new
in the account [`@nodejs-github-bot`][], with "Resource owner" to be
`nodejs`, "Only select repositories" to be the requested repository,
and requested permission scopes only.
1. Save the token as a repository secret at `https://github.com/<org>/<repo>/settings/secrets/actions`,
do not reveal the token to the anyone in plaintext.
1. Land the PR.

Fine-grained tokens created with access to https://github.com/nodejs resources will
be audited at https://github.com/organizations/nodejs/settings/personal-access-tokens/active.

## Registry

The "repo" is a string of the GitHub `<owner>/<repo>`. Generally, the token should
only be created for repo in the https://github.com/nodejs organization.

The "secret name" is a string that the secret can be referenced in the GitHub Action
scripts. Like a secret name of `RELEASE_PLEASE_TOKEN` can be accessed from the script
as `${{ secrets.RELEASE_PLEASE_TOKEN }}`.

Repo | Secret name
--- | ---
nodejs/import-in-the-middle | RELEASE_PLEASE_GITHUB_TOKEN


[`@nodejs-github-bot`]: https://github.com/nodejs-github-bot