Configurations Glossary

Api/cli Packages#

Variables for both estimation approaches with AWS:#

VariableExample ValueTypeNotes
AWS_TARGET_ACCOUNT_ROLE_NAMEyour-target-account-role-namestringThis variable is needed if you are authenticating with ChainableTemporaryCredentials. E.g. from one role to the authorized role.

Variables needed for the Billing Data (Holistic) approach with AWS:#

VariableExample ValueTypeNotes
AWS_USE_BILLING_DATAtruebooleanUse this to configure the application to query Cost and Usage Reports via AWS Athena. Unset to make this false. Defaults to true.
AWS_ATHENA_DB_NAMEyour-athena-db-namestringThe name of your AWS Athena Database with Cost and Usage Reports data
AWS_ATHENA_DB_TABLEyour-athena-db-tablestringThe name of your AWS Athena Table with Cost and Usage Reports data
AWS_ATHENA_REGIONyour-athena-regionstringThe region your AWS Athena Database/Table were created in.
AWS_ATHENA_QUERY_RESULT_LOCATIONs3://your-athena-query-results-locationstringThe AWS S3 Bucket that you want your Athena query results to reside in. Must be prefixed with "s3://".
AWS_BILLING_ACCOUNT_IDyour-billing-account-idstringYour AWS Billing Account ID, where Cost and Usage Reports are configured.
AWS_BILLING_ACCOUNT_NAMEyour-billing-account-namestringThe name of your AWS Billing Account. This can be any value.

Variables needed for the Cloud Usage API (Higher Accuracy) approach with AWS:#

VariableExample ValueTypeNotes
AWS_ACCOUNTS[{"id":"your-account-id","name":"Your AWS Account"}]arrayThis is array of objects with keys "id" and "name" that match the AWS accounts you want to pull usage data from to run energy/carbon estimation for.

Optionally set these AWS variables:#

VariableExample ValueTypeNotes
AWS_AUTH_MODEdefaultstringThe mode to authenticate with for AWS. Options include: 'AWS': uses ChainableTemporaryCredentials, for deploying to AWS. 'GCP': Uses temporary STS Tokens, for deploying to GCP. 'default': Uses default local AWS profile, for local development.
AWS_PROXY_ACCOUNT_IDyour-proxy-account-idstringThe AWS account of the account to proxy/chain from, when app is deployed to GCP.
AWS_PROXY_ROLE_NAMEyour-proxy-role-namestringThe AWS role name in the proxy account, to proxy/chain from, when app is deployed to GCP.
AWS_RECOMMENDATIONS_SERVICEComputeOptimizerstringThe AWS service used to get recommendations from. Options include: "RightSizing", "ComputeOptimizer" or "All". Default is "Rightsizing".
AWS_COMPUTE_OPTIMIZER_BUCKETyour-central-bucket-namestringThe name of the AWS bucket in which Compute Optimizer recommendations exist. This is only needed id "ComputeOptimizer" or "All" is configured for the AWS_RECOMMENDATIONS_SERVICE variable.

Variables needed for the Billing Data (Holistic) approach with GCP:#

VariableExample ValueTypeNotes
GCP_USE_BILLING_DATAtruebooleanUse this to configure the application to query Billing Export Data via Google BigQuery. Unset to make this false. Defaults to true.
GOOGLE_APPLICATION_CREDENTIALS/path/to/your/credentials.jsonstringThe absolute path to your service account private key file. This service account needs to have permission to query Billing Data using BigQuery.
GCP_BIG_QUERY_TABLEproject.dataset.BQ_table_namestringThe name of your BigQuery table configured to consume Billing Export data in the format: PROJECT_ID.DATASET_NAME.TABLE_NAME. Don't forget to replace the colon in the table id if you copy it from BigQuery. See here for more details.
GCP_BILLING_PROJECT_IDyour-project-idstringThe GCP Project ID that your service account exists in that has permission to query Billing Data using BigQuery.
GCP_BILLING_PROJECT_NAMEyour-project-namestringThe name for the GCP Project specified in the previous variable.

Variables needed for the Cloud Usage API (Higher Accuracy) approach with GCP:#

VariableExample ValueTypeNotes
GCP_PROJECTS[{"id":"your-gcp-project-id","name":"Your GCP Project"}]arrayThis is array of objects with keys "id" and "name" that match the GCP Projects you want to pull usage data from to run energy/carbon estimation for.

Optionally set these GCP variables:#

VariableExample ValueTypeNotes
GCP_USE_CARBON_FREE_ENERGY_PERCENTAGEtruebooleanSetting this to true will change the emissions factors used by the application to take into account Google's Carbon Free Energy percentage in each region. For example in us-central1, the grid emissions factor is 494 gCO2eq/kWh with CFE% of 93%. With this option set to true, the application would instead use 31.78 gCO2eq/kWh.
GCP_VCPUS_PER_GKE_CLUSTER3numberUse this to configure the average number of vCPUs the application should use to estimate energy consumption of Kubernetes Engine clusters. If unset, defaults to 3, which is the default number of vCPUs provisioned.
GCP_VCPUS_PER_CLOUD_COMPOSER_ENVIRONMENT14numberUse this to configure the average number of vCPUs the application should use to estimate energy consumption of Cloud Composer Environments. If unset, defaults to 14, which is the number of vCPUs provisioned for a medium sized environment.

Variables needed for the Billing Data (Holistic) approach with Azure:#

VariableExample ValueTypeNotes
AZURE_USE_BILLING_DATAtruebooleanUse this to configure the application to query Azure Consumption API. Unset to make this false. Defaults to true.
AZURE_CLIENT_IDyour-azure-client-idstringThe Azure Service Principal ID with permission to read the Consumption API from your Subscriptions.
AZURE_CLIENT_SECRETyour-azure-client-secretstringThe Azure Service Principal Secret with permission to read the Consumption API from your Subscriptions.
AZURE_TENANT_IDyour-azure-tenant-idstringYour Azure tenant ID.

Optionally set this to "GCP" if your Azure credentials are stored in Google Secrets Manager:#

VariableExample ValueTypeNotes
AZURE_AUTH_MODEdefaultstringThe authentication mode for Azure. Options are: 'GCP' that gets the secrets from Google Secrets Manager, 'default' which using the client id/secret and tent id from your .env file. Requires GCP_BILLING_PROJECT_NAME to be set if using 'GCP' Mode.

Optionally set this to store cache file in Google Cloud Storage#

VariableExample ValueTypeNotes
CACHE_MODEGCSstringSet with 'GCS' to use this option or leave it empty to use the default.
GCS_CACHE_BUCKET_NAMEmy-bucket-namestringIs the name of you Google Cloud Storage bucket where the cache file will be stored.

Optionally set these custom configurations for On-Premise calculations#

VariableExample ValueTypeNotes
ON_PREMISE_CPU_UTILIZATION_SERVER40numberFor on-premise servers, provides an average value for cpu utilization.
ON_PREMISE_CPU_UTILIZATION_LAPTOP40numberFor on-premise laptops, provides an average value for cpu utilization.
ON_PREMISE_CPU_UTILIZATION_DESKTOP40numberFor on-premise desktops, provides an average value for cpu utilization.
ON_PREMISE_AVG_WATTS_SERVER300numberFor on-premise servers, provides an average value for average watts.
ON_PREMISE_AVG_WATTS_LAPTOP300numberFor on-premise laptops, provides an average value for average watts.
ON_PREMISE_AVG_WATTS_DESKTOP300numberFor on-premise desktops, provides an average value for average watts.

Client Package - all variables are optional#

VariableExample ValueTypeNotes
REACT_APP_PREVIOUS_YEAR_OF_USAGEtruebooleanUse this to ensure the application requests usage data from the entire previous calendar year to today. Unset to make this false. Defaults to true.
REACT_APP_GROUP_BYmonthstringValue to set how the cloud provider queries should return data (e.g. day/week/month/quarter/year)
REACT_APP_DATE_RANGE_VALUE1numberThe quantity of REACT_APP_DATE_RANGE_TYPE to be used.
REACT_APP_DATE_RANGE_TYPEyearstringThe type of time period to be used. Values can be day(s), week(s), month(s), quarter(s), year(s)

Cloud Carbon Footprint is an open-source project, sponsored by Thoughtworks Inc. under the Apache License, Version 2.0

PRIVACY POLICY