Setting up the Google Cloud App

Create a Google project: Google Cloud Console

Enabling the People API

Enable the Google People API. Make sure the correct project is selected.
  1. Go to APIs & Services in the left sidebar.
  2. Select OAuth Consent Screen.
Choose user type:
  • Choose Internal if your organization uses Google Workspace.
  • Otherwise, choose External.
On the next page:
  • App name: Hymalaia (or any name you prefer)
  • User support email: Your email (or support@hymalaia.com)
  • App logo: Optional (use the Hymalaia logo or leave blank)
  • Developer contact information: Your email (or support@hymalaia.com)
Leave optional fields blank and click SAVE AND CONTINUE. Skip Scopes and Test users sections.

Setting up Credentials

  1. Go to Credentials in the sidebar.
  2. Click + CREATE CREDENTIALSOAuth client ID.
  3. Select Web application and name it Hymalaia.
  4. Set Authorized JavaScript origins:
http://localhost:3000
https://<WEB_DOMAIN>  // e.g. https://www.hymalaia.com
  1. Set Authorized redirect URIs:
http://localhost:3000/auth/oauth/callback
https://<WEB_DOMAIN>/auth/oauth/callback
Click CREATE and save the Client ID and Client Secret.

Turning on OAuth in Hymalaia

OAuth is enabled using the following environment variables:
AUTH_TYPE=google_oauth
OAUTH_CLIENT_ID=<your client id>
OAUTH_CLIENT_SECRET=<your client secret>
If in production, also set:
WEB_DOMAIN=https://<your-domain>

Non-Containerized Setup

Set the above environment variables when running Hymalaia processes.
  • Backend API uses the variables.
  • Frontend queries the API to determine the auth setting.

Docker Compose

Create a .env file in hymalaia/deployment/docker_compose/ with the variables:
AUTH_TYPE=google_oauth
OAUTH_CLIENT_ID=<your client id>
OAUTH_CLIENT_SECRET=<your client secret>
WEB_DOMAIN=https://<your-domain>

Kubernetes

Kubernetes assumes OAuth is required in production. Replace the REPLACE-THIS placeholders in your secrets.yaml file with the base64-encoded client ID and client secret.
apiVersion: v1
kind: Secret
metadata:
  name: hymalaia-oauth-secret
  namespace: hymalaia
stringData:
  OAUTH_CLIENT_ID: <base64-client-id>
  OAUTH_CLIENT_SECRET: <base64-client-secret>