Skip to content

Latest commit

 

History

History
86 lines (61 loc) · 2.62 KB

README.md

File metadata and controls

86 lines (61 loc) · 2.62 KB

cloud-carbon-footprint-backend

Configuration

CCF requires separate configuration for each cloud provider. It also requires specific permissions and billing exports to be configured.

The CCF docs are the source of truth for CCF configuration. This readme aims to guide users how to inject relevant configuration into Backstage using its static configuration mechanism.

To see data, set follow the setup for one or more of the cloud providers.

GCP

Follow the first three steps given here.

Then, put relevant values into the Backstage config (see the schema in ./config.d.ts). They will be injected into to CCF config.

Here is an example of the recommended billing-based approach with GCP:

# app-config.local.yaml
cloudCarbonFootprint:
  gcp:
    useBillingData: true
    billingProjectId: my-project
    billingProjectName: My Project
    bigQueryTable: billing_export_dataset.gcp_billing_export_v1_01B22A_05AA4C_87BDAC

AWS

Follow the first four steps given here

Then, put relevant values into the Backstage config (see the schema in ./config.d.ts). They will be injected into to CCF config.

Here is an example of the recommended billing-based approach with AWS:

# app-config.local.yaml
cloudCarbonFootprint:
  aws:
    useBillingData: true
    athenaDbName: athena-db
    athenaDbTable: billing export table
    athenaRegion: us-east-1
    athenaQueryResultLocation: s3://bucket
    billingAccountId: cool-account
    billingAccountName: Cool account, low emissions

Azure

Follow the first three steps given here

Then, put relevant values into the Backstage config (see the schema in ./config.d.ts). They will be injected into to CCF config.

Here is an example of the recommended billing-based approach with Azure:

# app-config.local.yaml
cloudCarbonFootprint:
  azure:
    useBillingData: true,
    clientId: client id,
    clientSecret: shhh,
    tenantId: tenant id,

Caching

See here for more detailed documentation on data persistence and caching.

To use MongoDB (recommended and supported caching mode), here is an example of the configuration:

# app-config.local.yaml
cloudCarbonFootprint:
  optional:
    cacheMode: MONGODB
  mongodb:
    mongodbUri: mongodb://localhost:27017
    mongodbCredentials: ~/keys/mongodb-certificate.pem

© 2022 Thoughtworks, Inc.