Prerequisites:

  1. Navigate to Project > Integrations and select the Secret Syncs tab. Click on the Add Sync button.

  2. Select the GitHub Store option.

  3. Configure the Source from where secrets should be retrieved, then click Next.

    • Environment: The project environment to retrieve secrets from.
    • Secret Path: The folder path to retrieve secrets from.

If you need to sync secrets from multiple folder locations, check out secret imports.

  1. Configure the Destination to where secrets should be deployed, then click Next.

    • GitHub Connection: The GitHub Connection to authenticate with.
    • Scope: The GitHub secret scope to sync secrets to.
      • Organization: Sync secrets to a specific organization.
      • Repository: Sync secrets to a specific repository.
      • Repository Environment: Sync secrets to a specific repository’s environment.

    The remaining fields are determined by the selected Scope:

  2. Configure the Sync Options to specify how secrets should be synced, then click Next.

    • Initial Sync Behavior: Determines how Infisical should resolve the initial sync.
      • Overwrite Destination Secrets: Removes any secrets at the destination endpoint not present in Infisical.

      GitHub does not support importing secrets.

    • Auto-Sync Enabled: If enabled, secrets will automatically be synced from the source location when changes occur. Disable to enforce manual syncing only.
  3. Configure the Details of your GitHub Sync, then click Next.

    • Name: The name of your sync. Must be slug-friendly.
    • Description: An optional description for your sync.
  4. Review your GitHub Sync configuration, then click Create Sync.

  5. If enabled, your GitHub Sync will begin syncing your secrets to the destination endpoint.