Google Cloud Storage Locations
The Backstage catalog can import entities from a yaml file stored in a GCS
(Google Cloud Storage) bucket. To enable the ingestion of said entities the
GoogleGcs integration must be enabled first.
Configuration
To configure the integration add the appropriate credentials to the Backstage
backend. There are two main ways to do this: by explicitly setting a
clientEmail and a privateKey or by letting the Google Storage SDK discover
the credentials automatically.
Explicit credentials
Explicit credentials can be set in the following format:
integrations:
googleGcs:
clientEmail: ${GCS_CLIENT_EMAIL}
privateKey: ${GCS_PRIVATE_KEY}
Then make sure the environment variables GCS_CLIENT_EMAIL and
GCS_PRIVATE_KEY are set when you run Backstage.
Automatic discovery of Google credentials
Since this integration uses the Google Storage SDK, you can also choose to not provide any explicit credentials and let the SDK discover them automatically.
Please note that for this method to work you must add an empty googleGcs object to the integrations section in app-config.yaml.
integrations:
googleGcs: {}
One of these discovery methods is to provide an environment variable called
GOOGLE_APPLICATION_CREDENTIALS and set it to the file path of your JSON
service account key.
For more details and methods to provide credentials to the Google Storage SDK you can check this documentation page.
Usage
To use this integration to import entities from a GCS bucket go to the Google
console and browse the file you would like to import. Then copy the
Authenticated URL and paste it into the text box in the register component
form. This URL should look like
https://storage.cloud.google.com/<bucket>/<path>/catalog-info.yaml.