### Prerequisites #### [Recommended] Create a GitHub Deploy Key To use LookML ingestion through the UI, or automate github checkout through the cli, you must set up a GitHub deploy key for your Looker GitHub repository. Read [this](https://docs.github.com/en/developers/overview/managing-deploy-keys#deploy-keys) document for how to set up deploy keys for your Looker git repo. In a nutshell, there are three steps: 1. Generate a private-public ssh key pair. This will typically generate two files, e.g. looker_datahub_deploy_key (this is the private key) and looker_datahub_deploy_key.pub (this is the public key). Do not add a passphrase.  2. Add the public key to your Looker git repo as a deploy key with read access (no need to provision write access). Follow the guide [here](https://docs.github.com/en/developers/overview/managing-deploy-keys#deploy-keys) for that.  3. Make note of the private key file, you will need to paste the contents of the file into the **GitHub Deploy Key** field later while setting up [ingestion using the UI](#ui-based-ingestion-recommended-for-ease-of-use). ### Setup your connection mapping The connection mapping enables DataHub to accurately generate lineage to your upstream warehouse. It maps Looker connection names to the platform and database that they're pointing to. There's two ways to configure this: 1. Provide Looker **admin** API credentials, and we'll automatically map lineage correctly. Details on how to do this are below. 2. Manually populate the `connection_to_platform_map` and `project_name` configuration fields. See the starter recipe for an example of what this should look like. #### [Optional] Create an API key with admin privileges See the [Looker authentication docs](https://docs.looker.com/reference/api-and-integration/api-auth#authentication_with_an_sdk) for the steps to create a client ID and secret. You need to ensure that the API key is attached to a user that has Admin privileges. If you don't want to provide admin API credentials, you can manually populate the `connection_to_platform_map` and `project_name` in the ingestion configuration. ### Ingestion Options You have 3 options for controlling where your ingestion of LookML is run. - The DataHub UI (recommended for the easiest out-of-the-box experience) - As a GitHub Action (recommended to ensure that you have the freshest metadata pushed on change) - Using the CLI (scheduled via an orchestrator like Airflow) Read on to learn more about these options. ### UI-based Ingestion [Recommended for ease of use] To ingest LookML metadata through the UI, you must set up a GitHub deploy key using the instructions in the section [above](#recommended-create-a-github-deploy-key). Once that is complete, you can follow the on-screen instructions to set up a LookML source using the Ingestion page. The following video shows you how to ingest LookML metadata through the UI and find the relevant information from your Looker account.