Manage Credentials and Crypto Keys - Gapminder/dollar-street-framework GitHub Wiki

Create file(s) with credentials in directory credentials/dev.ds.json.enc

Template

{
  "MONGODB_URL": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",

  "CMS_EXTERNAL_PORT": "8080",
  "CMS_SOCKETS_PORT": "3001",
  "CMS_SERVER_VERSION": "v1",
  "CMS_APPROVE_MAIL": "XXXXXXXXXXXXXXXXXXXXXXX",
  "CMS_APPROVE_PASSWORD": "XXXXXXXXXXXXXXXXXXXXXXX",

  "CROWDIN_API_KEY": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "CROWDIN_PROJECT_NAME": "dollar-test1",

  "S3_PROTOCOL": "http",
  "S3_BUCKET": "XXXXXXXXXXXXXXXXXXXXXXX",
  "S3_SERVER_PREFIX": "static-",
  "S3_REGION": "eu-west-1",
  "S3_ACCESS_KEY_ID": "XXXXXXXXXXXXXXXX",
  "S3_SECRET_ACCESS_KEY": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "S3_EMBED_VERSION": "v1",

  "DEV": "true",
  "BASE_HREF": "",
  "EXTERNAL_PORT": "3000",
  "MODE_ENV": "local",
  "API_URL": "http://localhost:3000",

  "DEFAULT_STATE": {
    "THING_ICON": "Family icon",
    "THING_NAME": "Family",
    "THING_HOME": "Home",
    "PLACE_TYPE_INIT": "Homes",
    "FORM_NAME_V3": "Home v3",
    "FORM_NAME_V2": "Home v2",
    "FORM_NAME_V1": "Home v1",
    "QUESTIONS_THING_NAME": "Family name",
    "QUESTIONS_THING_FIRST_NAME": "First name",
    "FILTER": "Families",
    "PLACE_TYPE": "Families",
    "FORM": "XXXXXXXXXXXXXXXXXXXXXX"
  },

  "STRIPE_PRIVATE_KEY": "sk_test_XXXXXXXXXXXXXXXXXXXXXX",
  "STRIPE_PUBLIC_KEY": "pk_test_XXXXXXXXXXXXXXXXXXXXXX",

  "CLUSTER_PUPPETEER_EXTERNAL_IP": "XXXXXXXXXXXXXXXXXXXXXX",
  "CLUSTER_PUPPETEER_EXTERNAL_PORT": "5000",
  "CLUSTER_SPLASH_INTERNAL_IP": "localhost",
  "CLUSTER_SPLASH_EXTERNAL_IP": "XXXXXXXXXXXXXXXXXXXXXX",
  "INSTANCE_SPLASH_PORT": "8050",
  "PATH_TO_DOWNLOAD_IMAGES": "/v1/download-image/",
  "FLAG_BUILD_ANGULAR_PRODUCTION": "false",

  "SHARE_EMBED_DESCRIPTION": "Imagine the world as a street where everyone lives. The poorest live to the left and the richest, to the right. Everybody else lives somewhere in between. Visit Dollar Street to see beds, stoves, toothbrushes and hundreds of other things in homes from all over the World at dollarstreet.org",
  "SHARE_EMBED_TITLE": "Dollar Street - see how people really live"
}

Setup Cloud Key Management Service (KMS) API

gcloud kms keyrings create native-key-ring --location=europe-west4 --project local-ds
gcloud kms keyrings create native-key-ring --location=europe-west4 --project ci-ds-251913
gcloud kms keyrings create native-key-ring --location=europe-west4 --project release-ds

gcloud kms keyrings create native-key-ring --location=europe-west4 --project dev-crazy
gcloud kms keyrings create native-key-ring --location=europe-west4 --project dev-ds-236412
gcloud kms keyrings create native-key-ring --location=europe-west4 --project dev-warehouses

gcloud kms keyrings create native-key-ring --location=europe-west4 --project prod-lectures
gcloud kms keyrings create native-key-ring --location=europe-west4 --project prod-ds
gcloud kms keyrings create native-key-ring --location=europe-west4 --project prod-clinics
gcloud kms keyrings create native-key-ring --location=europe-west4 --project prod-schools

# gcloud kms keys create XXXXXXXXXXXXXXXXXX --location=europe-west4 --project XXXXXXXXXXXXXXXXXX --keyring=native-key-ring --purpose encryption 

# EXAMPLE for release-ds project:
gcloud kms keys create MONGODB_URL --location=europe-west4 --project release-ds --keyring=native-key-ring --purpose encryption 
gcloud kms keys create S3_ACCESS_KEY_ID --location=europe-west4 --project release-ds --keyring=native-key-ring --purpose encryption
gcloud kms keys create S3_SECRET_ACCESS_KEY --location=europe-west4 --project release-ds --keyring=native-key-ring --purpose encryption
gcloud kms keys create CMS_APPROVE_PASSWORD --location=europe-west4 --project release-ds --keyring=native-key-ring --purpose encryption
gcloud kms keys create STRIPE_PRIVATE_KEY --location=europe-west4 --project release-ds --keyring=native-key-ring --purpose encryption
gcloud kms keys create CLUSTER_PUPPETEER_EXTERNAL_IP --location=europe-west4 --project release-ds --keyring=native-key-ring --purpose encryption
gcloud kms keys create CLUSTER_SPLASH_EXTERNAL_IP --location=europe-west4 --project release-ds --keyring=native-key-ring --purpose encryption
gcloud kms keys create CLUSTER_SPLASH_INTERNAL_IP --location=europe-west4 --project release-ds --keyring=native-key-ring --purpose encryption
gcloud kms keys create GCP_BILLING_ACCOUNT --location=europe-west4 --project release-ds --keyring=native-key-ring --purpose encryption
gcloud kms keys create GCP_OWNER_ACCOUNT --location=europe-west4 --project release-ds --keyring=native-key-ring --purpose encryption
gcloud kms keys create GCP_ID_FOLDER --location=europe-west4 --project release-ds --keyring=native-key-ring --purpose encryption
gcloud kms keys create CMS_APPROVE_MAIL --location=europe-west4 --project release-ds --keyring=native-key-ring --purpose encryption
gcloud kms keys create CROWDIN_API_KEY --location=europe-west4 --project release-ds --keyring=native-key-ring --purpose encryption
gcloud kms keys create CROWDIN_PROJECT_NAME --location=europe-west4 --project release-ds --keyring=native-key-ring --purpose encryption