Skip to content

Commit 98414aa

Browse files
authored
Merge pull request #333 from stackhpc/docs-secrets
docs: Add info about secrets and GitHub apps
2 parents 07eaa7a + 88c8965 commit 98414aa

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
lines changed

docs/usage/github-organisation-management.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ It is expected that all `plans` and `applies` are carried out within GitHub Acti
1212

1313
Access to Terraform Cloud is limited due to team size restrictions if you need access to Terraform Cloud and don't have access already then feel free to request access in the appropriate Slack channel.
1414

15+
GitHub authentication is handled using a GitHub app.
16+
1517
## Making Changes
1618

1719
In this section we shall look at how you may modify the Terraform configuration to suit your needs and requirements.
@@ -181,3 +183,11 @@ Run the script to rename the repository. Note that this will directly update the
181183
```
182184

183185
Create a PR for the changes.
186+
187+
## StackHPC Release Train TF bot
188+
189+
GitHub authentication is handled using the [StackHPC Release Train TF bot App](https://github.com/organizations/stackhpc/settings/apps/stackhpc-release-train-tf-bot).
190+
This app has a private key that is registered as a [GitHub secret](secrets.md).
191+
The app is [installed](https://github.com/organizations/stackhpc/settings/installations/27194723) on the `stackhpc` organisation, with access to all repositories.
192+
It has only the necessary permissions, but these are rather broad.
193+
GitHub apps are documented [here](https://docs.github.com/en/apps/overview).

docs/usage/secrets.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Secrets
2+
3+
Various [GitHub Actions secrets](https://github.com/stackhpc/stackhpc-release-train/settings/secrets/actions) are used within StackHPC Release Train for integrating with external services.
4+
All secrets are scoped to the StackHPC Release Train repository unless stated otherwise.
5+
6+
| Secret | Type | Owner | Description |
7+
| -------------------------------- | ------------------------- | ----------------------- | --------------------------------------------------------------------------------------------------- |
8+
| `ANSIBLE_VAULT_PASSWORD` | Ansible vault password | N/A | Ansible Vault password for StackHPC Release Train secrets.
9+
| `GALAXY_API_KEY` | Ansible Galaxy API token | stackhpc-ci GitHub user | Organisation secret used for importing Ansible content into Ansible Galaxy. |
10+
| `repository_configuration_token` | GitHub PAT token | stackhpc-ci GitHub user | Used in [source code CI](source-code-ci.md) to create GitHub pull requests. |
11+
| | | | Used in [GitHub organisation management](github-organisation-management.md) to add comments to PRs. |
12+
| `SLACK_WEBHOOK_URL` | Slack webhook URL | Infra team leads | Used to send Slack notifications on GitHub Actions workflow failures. |
13+
| `TF_API_TOKEN` | Terraform Cloud API token | Jack | Used in GitHub organisation management to authenticate with Terraform cloud. |
14+
| `TF_VAR_GITHUB_APP_PEM_FILE` | GitHub app PEM file | GitHub org admins | Used in GitHub organisation management to authorise Terraform to manage GitHub repositories. |

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ nav:
2626
Access control: usage/access.md
2727
Source code CI: usage/source-code-ci.md
2828
GitHub Organisation Management: usage/github-organisation-management.md
29+
Secrets: usage/secrets.md
2930
Notifications: usage/notifications.md
3031
- Operations:
3132
Ark: operations/ark.md

0 commit comments

Comments
 (0)