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

# Setup guide - Hybrid SaaS Snowflake on Snowpark

export const m_runner = "Maia runner";

export const maia = "Maia";

This document describes the necessary steps to follow to set up your first working project in {maia} for the following configuration options:

<div class="metadata-grid" data-search-exclude>
  <div class="metadata-label">Deployment type:</div>

  <div class="metadata-value">
    <span class="cdp">Hybris SaaS</span>
  </div>

  <div class="metadata-label">Cloud platform:</div>

  <div class="metadata-value">
    <span class="cdp">Snowpark Container Services</span>
  </div>

  <div class="metadata-label">Cloud data warehouse:</div>

  <div class="metadata-value">
    <span class="cdp">Snowflake</span>
  </div>
</div>

***

## Prerequisites

### Snowflake requirements

* A [Snowflake](https://www.snowflake.com/en/) account with the following information:
  * Your Snowflake account name and region (found in the URL you use to log in to Snowflake).
  * Your Snowflake login credentials ([Snowflake private key](https://docs.snowflake.com/en/user-guide/key-pair-auth#configuring-key-pair-authentication)).
  * A Snowflake role, warehouse, database, and schema.

To deploy the {m_runner} to [Snowpark Container Services](https://docs.snowflake.com/en/developer-guide/snowpark-container-services/overview), the following are also required:

* A Snowflake role with permissions to create:
  * Integrations.
  * Databases.
  * Applications.
  * Compute pools.
* A warehouse that the role has usage permission on. This can be an existing warehouse, or a new warehouse can be created.

### Connectivity requirements

* Access enabled for the IP addresses listed under the **Hybrid SaaS** section of [Network access and IP Allowlist requirements](/docs/security/network-access-and-ip-allowlist-requirements/#hybrid-saas-agents-and-git-repositories).

### Git requirements

If you choose to use [your own Git provider](/docs/guides/installing-git-provider-overview) instead of the Matillion-hosted Git option, you need the following:

* The Matillion Git app installed in your organization's account with one of the supported Git providers:
  * [GitHub](/docs/guides/installing-matillion-app-github-marketplace).
  * [Azure DevOps](/docs/guides/installing-matillion-app-azure-devops).
  * [GitLab](/docs/guides/connect-gitlab-repository-prerequisites).
  * [Bitbucket](/docs/guides/connect-bitbucket-repository-prerequisites).

***

## Setup steps

1. Register for a [{maia} account](/docs/administration/registration).
2. [Create accounts](/docs/administration/manage-accounts) for users and admins who will be active in {maia}.
3. [Create a {m_runner}](/docs/guides/create-a-runner) in {maia}.
4. [Install the {m_runner}](/docs/guides/snowflake-runner-install#install-into-snowflake) into Snowflake.
5. [Configure](/docs/guides/snowflake-runner-install#configure-the-application) the {m_runner} application in Snowflake.
6. Create a [project](/docs/guides/projects#add-a-new-project), making the following choices:
   * Select **Advanced settings**.
   * Select the {m_runner} you created and deployed previously.
   * Select the Git provider you wish to use.
7. Create an [environment](/docs/guides/environments) using your Snowflake credentials.
8. Set up [secret definitions](/docs/guides/secrets-and-secret-definitions#add-a-secret-definition-hybrid-saas) for passwords, API keys, and tokens.
9. Create a Git [branch](/docs/guides/branches) in which to begin pipeline work.
10. Create your first [pipeline](/docs/guides/pipelines).
