Google Sites Connector Setup

Provide necessary API permissions to index Google Sites.

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:

ValueWhere to find itExample / formatSecret
Google Site URLsThe published address of each Google Site to indexhttps://sites.google.com/your-org/your-siteNo
Custom domain, per site (optional, only if the site is published on a custom domain)The site’s custom URL settings in Google Siteshttps://your-custom-domain.com/pathNo
Restricted access, per site (optional, only if the site uses “Restricted” sharing)The site’s sharing settings in Google Sitestrue / 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.

FieldTypeRequiredDefaultDescription
connectorstringyesN/AParent connector to reference (can be self)
instancestringyesN/AMulti-state config variable used for certain connectors, often default
sourcestringyesN/ASub-connector reference (can be self), often object key
commonCommonyesN/ACommon connector settings.
secretsSecretsyesN/ASecret credentials for authentication.
configurationGSitesConfigurationyesN/AGoogle Sites-specific configuration.

Common

Common settings shared across all connectors.

FieldTypeRequiredDefaultDescription
enabledbooleanyesN/ASet to true to run the source.
identity-providerbooleanyesN/ASet to true so Atolio uses this connector to resolve logins to users.
cron-specstringno0 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.

FieldTypeRequiredDefaultDescription
service_account_keySecretValueyesN/AGoogle service account key in Base64 to authenticate to Google Workspace.

SecretValue

A reference to a secret value.

FieldTypeRequiredDefaultDescription
valuestringyesN/AThe secret value (typically Base64-encoded).

GSitesConfiguration

Google Sites-specific connector configuration.

FieldTypeRequiredDefaultDescription
domainsstringno""Comma-separated list of allowed customer domains. If empty, all domains are considered.
service-userstringyesN/AEmail address of an administrator within the Google Workspace account.
site-urlsstring[]yesN/AList of top-level Google Site URLs to index (e.g., https://sites.google.com/your-org/your-site).
site-configsmap[string]SiteConfignoN/AOptional map of site-specific configuration indexed by site URL.

SiteConfig

Per-site configuration for Google Sites.

FieldTypeRequiredDefaultDescription
top-level-urlstringnoN/ACustom domain URL for the site if using a custom domain.
page-name-to-url-suffixmap[string]stringnoN/AMap of page names to URL suffixes for generating deeplinks (e.g., Home: /home).
restrictedbooleannofalseSet to true if the site has restricted access enabled.