> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blinkops.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Configure Google Cloud Storage

> Configure Google Cloud Storage as the object storage backend for your Blink self-hosted runner.

Use the following steps to set up a Google Cloud Storage (GCS) bucket and service account credentials to integrate with your Blink Runner. This allows you to manage file storage securely within your own GCP environment, ensuring greater control and flexibility for workflow execution.

<Steps>
  <Step title="Login to the Google Cloud Platform">
    Log in to Google Cloud Platform, navigate to Google Cloud Storage and click Create Bucket.
  </Step>

  <Step title="Enter Bucket Details">
    Provide a name for your bucket and then click the "Continue" button

    <Frame>
      <img src="https://mintcdn.com/blinkops-2/hCOHuAN1Lx4x4ZwJ/img/Runners/GCPObjectStorage1.png?fit=max&auto=format&n=hCOHuAN1Lx4x4ZwJ&q=85&s=742f9480ec8aaac4b34ff6033c7d9c4a" width="3722" height="1862" data-path="img/Runners/GCPObjectStorage1.png" />
    </Frame>
  </Step>

  <Step title="Create a Key for a Service Account">
    Go to Settings, open the "Interoperability" tab, and click Create Key for Another Service Account at the bottom.

    <Frame>
      <img src="https://mintcdn.com/blinkops-2/hCOHuAN1Lx4x4ZwJ/img/Runners/GCPObjectStorage2.png?fit=max&auto=format&n=hCOHuAN1Lx4x4ZwJ&q=85&s=b0289598d9df6aeff5b0aa53eca2ec76" width="1738" height="843" data-path="img/Runners/GCPObjectStorage2.png" />
    </Frame>

    * If using an existing service account, click "Create Key".

    <Frame>
      <img src="https://mintcdn.com/blinkops-2/hCOHuAN1Lx4x4ZwJ/img/Runners/GCPObjectStorage3.png?fit=max&auto=format&n=hCOHuAN1Lx4x4ZwJ&q=85&s=81ccb385c6653a45df59414962dded21" width="1744" height="1286" data-path="img/Runners/GCPObjectStorage3.png" />
    </Frame>

    * If creating a **new** service account:
      * Enter a service account name, optionally provide a description, and review the auto-generated Service Account ID and email. Once done, click **Create and Continue** to proceed.

    <Frame>
      <img src="https://mintcdn.com/blinkops-2/hCOHuAN1Lx4x4ZwJ/img/Runners/GCPObjectStorage4.png?fit=max&auto=format&n=hCOHuAN1Lx4x4ZwJ&q=85&s=43a065afde55c5edd9f69b83a5cfd3b2" width="1322" height="1480" data-path="img/Runners/GCPObjectStorage4.png" />
    </Frame>
  </Step>

  <Step title="Save the Access Key and Secret key">
    An Access key and Secret key will be generated. Store the Access key and Secret key in a safe place. This is your only chance to view and save the secret access key.

    <Frame>
      <img src="https://mintcdn.com/blinkops-2/hCOHuAN1Lx4x4ZwJ/img/Runners/GCPObjectStorage5.png?fit=max&auto=format&n=hCOHuAN1Lx4x4ZwJ&q=85&s=d3a3c28950aba64de674ae8290b51c56" width="1744" height="768" data-path="img/Runners/GCPObjectStorage5.png" />
    </Frame>
  </Step>

  <Step title="Deploy the Blink Runner Using the GCP Object Storage Credentials">
    After creating an Access key and Secret key, use them to deploy the Blink Runner. Follow the instructions below for Kubernetes or Docker deployment:

    ### Deploying the Runner in Kubernetes[​](#deploying-the-runner-in-kubernetes "Direct link to Deploying the Runner in Kubernetes")

    Run the Helm command provided by Blink, but make sure to include the additional configurations below to enable object storage for the runner:

    ```bash theme={"dark"}
        --set storage.s3.accessKeyId=<access_key_id> \    --set storage.s3.secretAccessKey=<secret_access_key>\    --set config.storage.execution.bucket=blink-runner-bucket \    --set config.storage.execution.region=us-east-1
    ```

    * Replace \<access\_key\_id> and \<secret\_access\_key> with the credentials created in `Step 4`
    * Replace blink-runner-bucket with the bucket name created in `Step 2`
    * Ensure the region matches your bucket’s region

    ### Deploying the Runner in Docker[​](#deploying-the-runner-in-docker "Direct link to Deploying the Runner in Docker")

    Run the Helm command provided by Blink, but make sure to include the additional configurations below to enable object storage for the runner:

    ```
    -e STORAGE_S3_ACCESS_KEY_ID=YOUR_GCS_ACCESS_KEY \-e STORAGE_S3_SECRET_ACCESS_KEY=YOUR_GCS_SECRET_KEY \-e STORAGE_EXECUTION_BUCKET='{"region":"us-east-1","bucket":"your-bucket-name","endpoint":"https://storage.googleapis.com"}' \
    ```

    * Replace \<YOUR\_GCS\_ACCESS\_KEY> and \<YOUR\_GCS\_SECRET\_KEY> with the credentials created in `Step 4`
    * Replace \<auth\_key> with the authentication key for the runner.
    * Ensure the region matches your bucket’s region
    * Replace "your-bucket-name" with the bucket name created in `Step 2`
  </Step>
</Steps>
