Skip to content

docs: explain why GCS is needed and each settings field - #688

Open
SangeetaMishr wants to merge 2 commits into
mainfrom
docs/682-gcs-why-and-fields
Open

SangeetaMishr wants to merge 2 commits into
mainfrom
docs/682-gcs-why-and-fields

Conversation

@SangeetaMishr

@SangeetaMishr SangeetaMishr commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Adds a "Why does Glific need GCS?" section near the top, listing the concrete features that break without it: direct media uploads in HSM Templates/Flows, AI Assistant voice (TTS) replies, BigQuery reporting, and chat media backup.
  • Fixes a factual bug in the existing "Integrate ... with Glific" steps: they said to paste both the JSON key and a "client email" into the same single Goth Credentials field. Per the actual provider schema in glific/glific (priv/repo/seeds/..._alter_glific_data.exs), each integration (Google Cloud Storage, BigQuery, Google Sheets) has exactly one such field, which takes the full JSON key content.
  • Replaces those steps with a field-by-field table per integration (Field | What to enter | Why it's needed), so readers know what each field does, not just what to paste into it.
  • Adds a note clarifying that Google Sheets must be explicitly shared with the service account's client_email for Glific to have access.
  • Explains the bucket-creation and service-account screens field by field, grounded in the screenshots already in the doc:
    • Bucket name uniqueness, Location/Location type tradeoffs (cost vs. availability/latency), why Standard storage class fits chat media (vs. Nearline/Coldline/Archive, which charge retrieval fees and suit infrequently accessed data), and Uniform vs. Fine-grained access control.
    • Flags that Public access prevention must be Off — the doc's own screenshot shows it On by default, and the later "Making bucket Public" step (granting allUsers access) will fail if it's left enabled. This was a real gap: the doc walks through making the bucket public without ever mentioning this blocker.
    • Service account: why a service account is needed at all (non-human identity, since Glific runs outside Google Cloud), why Owner role is granted (the same account/key is reused across GCS, BigQuery, and Sheets, each needing different permissions), and why a JSON key specifically (a portable, exportable credential) — plus what to do if the key ever leaks.
  • Fixes a couple of small typos in Prerequisites and bumps read time / Last Updated.

Screenshots and the step-by-step account/project creation flow are unchanged — only explanatory text was added alongside existing images.

Test plan

  • Preview locally (yarn start) and confirm the new tables and explanatory text render correctly under Step 4 and Step 5
  • Verify against a live org: confirm the GCS/BigQuery/Google Sheets settings pages only have the fields listed (Active?, Goth Credentials, Bucket, BigQuery Url)
  • Confirm in the Google Cloud Console that leaving Public access prevention "On" does in fact block the allUsers grant in "Making bucket Public" (sanity-check before merge, since this is a new claim added to the doc)

Closes #682

Adds a "Why does Glific need GCS?" section covering the concrete
features that depend on it (media uploads, AI voice replies, BigQuery
reporting, chat media backup), grounded in the actual provider field
schema from glific/glific (priv/repo/seeds/..._alter_glific_data.exs).

Also fixes the Integrate GCS/BigQuery/Google Sheets sections, which
previously instructed pasting both the JSON key and a "client email"
into the same single Goth Credentials field — there is only one such
field per integration, and it takes the full JSON. Replaces this with
a field table per integration (what to enter, why it's needed) and a
note on sharing Sheets with the service account's client_email.

Closes #682
@coderabbitai

coderabbitai Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 39e13dd3-be16-4245-a703-dfc2fd486864
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

@github-actions
github-actions Bot temporarily deployed to pull request October 16, 2026 12:10 Inactive
Grounded in the actual screenshots already in the doc:

- Bucket creation: explains bucket name uniqueness, location/location
  type tradeoffs, why Standard storage class fits chat media (vs
  Nearline/Coldline/Archive), and Uniform vs Fine-grained access
  control. Flags that Public access prevention must be Off, since the
  doc's own later "Making bucket Public" step (granting allUsers)
  fails otherwise — visible as "Public access prevention: On" in the
  existing create-bucket screenshot.
- Service account: explains why a service account (non-human identity)
  is needed instead of a personal login, why Owner role is granted
  (same account/key is reused across GCS, BigQuery, and Sheets), and
  why a JSON key specifically (Glific runs outside GCP and needs a
  portable credential) plus how to react if the key leaks.

This branch was successfully deployed

1 active deployment
pull request — e1e9239a Deployed Oct 16, 2026 by github-actions[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GCS Documentation Revamp

2 participants