Skip to content

Latest commit

 

History

History
39 lines (31 loc) · 2.2 KB

MULTI_PROJECT_SUPPORT.md

File metadata and controls

39 lines (31 loc) · 2.2 KB

Back to Datashare

Overview

In order to simplify test drive use-cases of Datashare, this release incorporates the ability to have one UI and API integrate with multiple GCP projects.

Outstanding

This functionality so far is mainly to be used for non-marketplace integrated use-cases as the procurement Pub/Sub connection has yet to be migrated to have multi-project support. This will be completed in the short future.

Infrastructure Changes

Breaking Changes

UI

  • The initial UI authorization check for data producers is no longer performed through a success/failure call to the data producers endpoint. This check now comes from the initial get configuration call from the UI.
  • Removed environmental variables for UI:
    • VUE_APP_PROJECT_ID
    • VUE_APP_MY_PRODUCTS_MORE_INFORMATION_TEXT
    • VUE_APP_MY_PRODUCTS_MORE_INFORMATION_BUTTON_TEXT
    • VUE_APP_MY_PRODUCTS_MORE_INFORMATION_BUTTON_URL
    • VUE_APP_MARKETPLACE_INTEGRATION
    • VUE_APP_USER_GUIDE_URL
    • VUE_APP_GITHUB_URL
    • VUE_APP_GOOGLE_APP_CLIENT_ID

API

  • API_KEY and AUTH_DOMAIN environment variables must be defined as API environmental variables.
  • Marketplace integration is no longer enabled by default. It must be enabled through the configured MANAGED_PROJECTS dictionary in the API environmental variable. In addition to the environmental variable, there is also a runtime check made with the GCP service usage API to ensure the required API is enabled.

Enabling a new projectId for Datashare

  1. Create Datashare Manager Role in the target project

    cd api
    export PROJECT_ID=`gcloud config list --format 'value(core.project)'`; echo $PROJECT_ID
    gcloud iam roles create datashare.api.manager --project ${PROJECT_ID} --file config/ds-api-mgr-role-definition.yaml
    
  2. Grant access for role datashare.api.manager to the service account running the main API and UI Cloud Run Services.