Google Sites Connector Setup
Installing the Google Sites Connector
Note: For this step, your deployment engineer will be required.
Prerequisites
Google Sites Connector requires you to enable Google Vault for your organization. Google Vault enrollment details are available in the official documentation
You will need a Service Account as described in Grant Service Account Permissions section. In addition to the scopes listed there, you must grant the following scopes to the Service Account:
- https://www.googleapis.com/auth/ediscovery
- https://www.googleapis.com/auth/devstorage.read_only
Vault API access must be manually enabled by the GCP project associated with the Service Account. This can be done via GCP API Console, by following the steps in the official documentation.
Required Configuration Values
Enter these values in the Atolio Admin console (v4.24 and later), or send them to Atolio Support (your Deployment Engineer).
This connector uses the Google Workspace admin email listed in the Google connector’s Required Configuration Values. In addition:
| Value | Where to find it | Example / format | Secret |
|---|---|---|---|
| Google Site URLs | The published address of each Google Site to index | https://sites.google.com/your-org/your-site | No |
| Custom domain, per site (optional, only if the site is published on a custom domain) | The site’s custom URL settings in Google Sites | https://your-custom-domain.com/path | No |
| Restricted access, per site (optional, only if the site uses “Restricted” sharing) | The site’s sharing settings in Google Sites | true / false (default false) | No |
Provided by Atolio: the connector service account key (service_account_key), generated from Terraform output by your Deployment Engineer, used for authenticating the connector to Google Workspace.
Configuration Example
Add this block to connector-values.yaml. Replace each <PLACEHOLDER> with the matching value from the table above, and remove any line marked “Only if” that doesn’t apply.
connectors:
google:
default:
gsites:
connector: google
instance: default
source: gsites
common:
enabled: true
identity-provider: false
secrets:
service_account_key:
value: "<SERVICE_ACCOUNT_KEY_FROM_TERRAFORM>"
configuration:
service-user: "<WORKSPACE_ADMIN_EMAIL>"
site-urls:
- "<GOOGLE_SITE_URL>"
site-configs: # Only if a site needs a custom domain, page links or restricted access
"<GOOGLE_SITE_URL>":
top-level-url: "<CUSTOM_DOMAIN_URL>" # Only if the site is published on a custom domain
page-name-to-url-suffix: # Only if you want links to individual pages
Home: /home
About: /about
restricted: true # Only if the site uses "Restricted" sharing
Configuration
Source configuration can be applied in two ways:
Recommended (v4.24+): Use the Admin console to configure this source through the browser. You can paste the YAML from the Configuration Example directly into the Admin console.
Alternative: Use atolioctl via the command line (for Deployment Engineers). If using atolioctl, follow Configuring Sources first. The commands below also need an API token in JWT_TOKEN and the address the feeder server’s gRPC endpoint, both described next.
Edit and Apply the Configuration
Source configuration is stored as a single document that covers every configured connector. The supported workflow is to export the current configuration, edit it, then import it back. Always start from a fresh export so you do not overwrite a change made elsewhere.
Export the current configuration to a local file:
atolioctl configure export --jwt-token-sdk ${JWT_TOKEN} --feeder-address :8889 lumen-connectors.yaml
Add the entry from the Configuration Example alongside the connectors already in the file, keeping the existing entries in place.
If you do not prefer to have a static configuration for deeplinks, you can also provide a “url path” on each Google Site page. Simply add a text in the form of urlpath:[/relative-path-to-your-page] in the body of each page, and Atolio will index the page with the user-provided deeplink.
Exported entries also carry a rendezvous-completed flag and a status block reporting each source’s current state and last validation result. Those fields are managed by Atolio. Leave them untouched on existing entries, and omit them when adding a new entry by hand.
Import the edited file to write the configuration back into the stack:
atolioctl configure import lumen-connectors.yaml --jwt-token-sdk ${JWT_TOKEN} --feeder-address :8889
Import writes the configuration into the stack after checking that the YAML is well formed. It does not contact Google. The connector validates the credentials and connection itself when it starts and picks up the configuration, and it reads users after that. If something is wrong, the source reports as misconfigured and the connector pod logs the error. See Troubleshooting for the specific messages.
Configuration Schema
In the exported file, every source lives at connectors.<connector>.<instance>.<source>, so the Google Sites source sits at connectors.google.default.gsites.
GoogleSitesSourceConfiguration
Google Sites connector configuration.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
connector | string | yes | N/A | Parent connector to reference (can be self) |
instance | string | yes | N/A | Multi-state config variable used for certain connectors, often default |
source | string | yes | N/A | Sub-connector reference (can be self), often object key |
common | Common | yes | N/A | Common connector settings. |
secrets | Secrets | yes | N/A | Secret credentials for authentication. |
configuration | GSitesConfiguration | yes | N/A | Google Sites-specific configuration. |
Common
Common settings shared across all connectors.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
enabled | boolean | yes | N/A | Set to true to run the source. |
identity-provider | boolean | yes | N/A | Set to true so Atolio uses this connector to resolve logins to users. |
cron-spec | string | no | 0 7 * * * | Cron expression for periodic re-sync of users (e.g., 0 7 * * *). Omit to sync only on demand. |
Secrets
Sensitive configuration values for authentication.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
service_account_key | SecretValue | yes | N/A | Google service account key in Base64 to authenticate to Google Workspace. |
SecretValue
A reference to a secret value.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
value | string | yes | N/A | The secret value (typically Base64-encoded). |
GSitesConfiguration
Google Sites-specific connector configuration.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
domains | string | no | "" | Comma-separated list of allowed customer domains. If empty, all domains are considered. |
service-user | string | yes | N/A | Email address of an administrator within the Google Workspace account. |
site-urls | string[] | yes | N/A | List of top-level Google Site URLs to index (e.g., https://sites.google.com/your-org/your-site). |
site-configs | map[string]SiteConfig | no | N/A | Optional map of site-specific configuration indexed by site URL. |
SiteConfig
Per-site configuration for Google Sites.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
top-level-url | string | no | N/A | Custom domain URL for the site if using a custom domain. |
page-name-to-url-suffix | map[string]string | no | N/A | Map of page names to URL suffixes for generating deeplinks (e.g., Home: /home). |
restricted | boolean | no | false | Set to true if the site has restricted access enabled. |