Update github integrations docs based on diff scope

This commit is contained in:
Salman
2024-02-19 11:39:08 +05:30
parent 1695412278
commit 6a7a6ce942
5 changed files with 51 additions and 16 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 691 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 709 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 398 KiB

After

Width:  |  Height:  |  Size: 178 KiB

+51 -16
View File
@@ -5,14 +5,26 @@ description: "How to sync secrets from Infisical to GitHub Actions"
<Tabs> <Tabs>
<Tab title="Usage"> <Tab title="Usage">
<Warning> Infisical provides a different way to sync secrets to GitHub that can be used in Github Actions workflows.
Infisical can sync secrets to GitHub repo secrets only. If your repo uses environment secrets, then stay tuned with this [issue](https://github.com/Infisical/infisical/issues/54). You can sync secrets to the following GitHub scopes:
</Warning>
Prerequisites: - Repository
- Github Organization
- Repository Environment
- Set up and add envars to [Infisical Cloud](https://app.infisical.com)
- Ensure you have admin privileges to the repo you want to sync secrets to. <Info>
To know more about usage and limitation of secrets in GitHub Actions, please visit the [Official Github documentation](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions).
</Info>
#### Prerequisites:
- Set up and add envars to [Infisical Cloud](https://app.infisical.com)
- Ensure you have admin privileges to the repository you want to sync secrets to.
- For Organizations only,
- During the oAuth ensure you gave access to the respective Organization.
- For Environment only
- Require access to the repository and create the environment under repository settings if it doesn't exist.
<Steps> <Steps>
<Step title="Authorize Infisical for GitHub"> <Step title="Authorize Infisical for GitHub">
@@ -29,12 +41,35 @@ description: "How to sync secrets from Infisical to GitHub Actions"
Although this step breaks E2EE, it's necessary for Infisical to sync the environment variables to the cloud platform. Although this step breaks E2EE, it's necessary for Infisical to sync the environment variables to the cloud platform.
</Info> </Info>
</Step> </Step>
<Step title="Start integration"> <Step title="Configure Infisical GitHub integration">
Select which Infisical environment secrets you want to sync to which GitHub repo and press start integration to start syncing secrets to the repo. - Select Source Project Environment that needs to be synced ( Development, Staging or Production )
- Enter Secret path ( Default to root folder `/`)
- Select a scope ( Repository, Organization, Repository Environment ) based on the scope of the repository you want to sync secrets to.
<Tabs>
<Tab title="Repository">
- Select one or more repositories to sync secrets to.
![integrations github](../../images/integrations/github/integrations-github-scope-repo.png)
</Tab>
<Tab title="Organization">
- Select the organization to sync secrets to.
![integrations github](../../images/integrations/github/integrations-github-scope-org.png)
</Tab>
<Tab title="Repository Environment">
- Select the repository
- Select the target environment you want to sync secrets to. if you can't find the environment, create one under repository settings > Environments > New environment and try again.
![integrations github](../../images/integrations/github/integrations-github-scope-env.png)
</Tab>
</Tabs>
- Once configured, press on the "Create Integration" button.
![integrations github](../../images/integrations/github/integrations-github.png) ![integrations github](../../images/integrations/github/integrations-github.png)
</Step> </Step>
</Steps> </Steps>
</Tab> </Tab>
<Tab title="Self-Hosted Setup"> <Tab title="Self-Hosted Setup">
Using the GitHub integration on a self-hosted instance of Infisical requires configuring an OAuth application in GitHub Using the GitHub integration on a self-hosted instance of Infisical requires configuring an OAuth application in GitHub
@@ -45,13 +80,13 @@ description: "How to sync secrets from Infisical to GitHub Actions"
![integrations github config](../../images/integrations/github/integrations-github-config-settings.png) ![integrations github config](../../images/integrations/github/integrations-github-config-settings.png)
![integrations github config](../../images/integrations/github/integrations-github-config-dev-settings.png) ![integrations github config](../../images/integrations/github/integrations-github-config-dev-settings.png)
![integrations github config](../../images/integrations/github/integrations-github-config-new-app.png) ![integrations github config](../../images/integrations/github/integrations-github-config-new-app.png)
Create the OAuth application. As part of the form, set the **Homepage URL** to your self-hosted domain `https://your-domain.com` Create the OAuth application. As part of the form, set the **Homepage URL** to your self-hosted domain `https://your-domain.com`
and the **Authorization callback URL** to `https://your-domain.com/integrations/github/oauth2/callback`. and the **Authorization callback URL** to `https://your-domain.com/integrations/github/oauth2/callback`.
![integrations github config](../../images/integrations/github/integrations-github-config-new-app-form.png) ![integrations github config](../../images/integrations/github/integrations-github-config-new-app-form.png)
<Note> <Note>
If you have a GitHub organization, you can create an OAuth application under it If you have a GitHub organization, you can create an OAuth application under it
in your organization Settings > Developer settings > OAuth Apps > New Org OAuth App. in your organization Settings > Developer settings > OAuth Apps > New Org OAuth App.
@@ -59,17 +94,17 @@ description: "How to sync secrets from Infisical to GitHub Actions"
</Step> </Step>
<Step title="Add your OAuth application credentials to Infisical"> <Step title="Add your OAuth application credentials to Infisical">
Obtain the **Client ID** and generate a new **Client Secret** for your GitHub OAuth application. Obtain the **Client ID** and generate a new **Client Secret** for your GitHub OAuth application.
![integrations github config](../../images/integrations/github/integrations-github-config-credentials.png) ![integrations github config](../../images/integrations/github/integrations-github-config-credentials.png)
Back in your Infisical instance, add two new environment variables for the credentials of your GitHub OAuth application: Back in your Infisical instance, add two new environment variables for the credentials of your GitHub OAuth application:
- `CLIENT_ID_GITHUB`: The **Client ID** of your GitHub OAuth application. - `CLIENT_ID_GITHUB`: The **Client ID** of your GitHub OAuth application.
- `CLIENT_SECRET_GITHUB`: The **Client Secret** of your GitHub OAuth application. - `CLIENT_SECRET_GITHUB`: The **Client Secret** of your GitHub OAuth application.
Once added, restart your Infisical instance and use the GitHub integration. Once added, restart your Infisical instance and use the GitHub integration.
</Step> </Step>
</Steps> </Steps>
</Tab> </Tab>
</Tabs> </Tabs>