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.
Configuration
Source configuration is applied with atolioctl using a YAML file. If you have not already installed 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 a Google entry alongside the connectors already in the file, substituting the values you collected in Step 1:
connectors:
# ...existing connectors left in place...
google:
default:
# ...existing Google sub-connectors left in place...
gsites:
connector: google # Reference to parent connector, usually Google
instance: default
source: gsites
common:
enabled: true
identity-provider: false # This connector is a workspace tool, not IDP
secrets:
service_account_key:
value: "<GOOGLE_SERVICE_ACCOUNT_B64>"
configuration:
service-user: "<GOOGLE_SERVICE_USER>"
site-urls:
- https://sites.google.com/your-org/your-site
site-configs:
https://sites.google.com/your-org/your-site
# If you have a custom domain for your Google Site, specify it here.
top-level-url: https://your-custom-domain.com/path
# If you want to configure deeplinks for each page,
# you can do it by providing a "page name" -> "URL suffix" map here.
#
# For a page titled "Home", the deeplink would be:
# https://your-custom-domain.com/path/home
page-name-to-url-suffix:
Home: /home
About: /about
# If you have setup "Restricted" access for your site, specify it here.
# Default is `false`.
restricted: true
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 as shown above.
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. |