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.

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.

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.