Skip to main content
Last Reviewed: December 13, 2022

Introduction

Learn how to use Custom Upstreams to free up developer time.


Benefits

Standardize Design and Functionality Across Many Sites

Custom Upstreams act as a scaffold for new sites, allowing developers and site owners of any skill level to kickoff projects at warp speed.

Instead of repeating the same technical work on each individual site, you can build and maintain a common user interface with unified branding and functionality once, in a single source.

Efficient Update Strategy

The Custom Upstream workflow frees up developer time, and establishes a sustainable and scalable process for handling updates across massive site portfolios.

New features and functionality can be continuously developed in the Custom Upstream repository, then distributed to each site, where they can be applied with a single click by site owners.

Custom Upstream update strategy

See how Forum One uses this process to build, launch, and manage nearly 200 satellite sites for Fairfax County Public Schools in this case study.

Scale Client Services

Spend less time doing non-core activities and reclaim lost billable hours where it counts most. Custom Upstreams help improve support efficiency by empowering non-technical clients and junior developers to handle lower-level support issues, such as creating a new site or applying updates. This gives advanced developers more time to focus on higher-level support work and new features.

Hear from Kalamuna how this process liberates developers and empowers newbies to provide ridiculously awesome support in this case study.

Workflow Overview

There are three levels of repositories in play here, and updates flow "downstream" from one level to another.

Parent upstream level

  • Core Updates

Level 1: Pantheon's Core Upstream

The top level repository will be one of Pantheon's core upstreams (either WordPress,Drupal (Latest Version), or Drupal 7). Core upstream updates are distributed by Pantheon and must be applied downstream.

Custom upstream level

  • Parent Theme
  • Common plugins / Contrib modules

Level 2: Your Custom Upstream

The second level repository is a Custom Upstream. This is where core updates from Pantheon are pulled in and modifications to your common codebase are distributed (e.g. parent theme and plugin/module version updates).

The Custom Upstream repository is hosted outside of Pantheon using a provider like GitHub, Bitbucket, or GitLab. The Custom Upstream repository is connected to Pantheon and associated with your organization, allowing fellow team members the option to select this repository as a starting point when creating new sites.

To create a Custom Upstream from another Git hosting provider (like Azure DevOps or a self-hosted Bitbucket server), contact support.

Site upstream level

  • Child Theme
  • Site-specific plugins / Custom code

Level 3: Site Repository

Core updates and changes to the common codebase make their way down to the site repository for each site that uses the Custom Upstream.

The site repository allows separation between common code across all sites, tracked in the Custom Upstream, and site specific customizations, tracked in each individual site. This facilitates rolling out updates quickly and easily.

Custom Upstreams for Digital Agencies and Pantheon Resellers

Download the Partner Program guide to learn more about getting Custom Upstreams and some of the other benefits of becoming a Pantheon Partner. Digital agencies that serve clients and resellers of Pantheon are qualified to join the Partner program.

Custom Upstreams for Corporate and Higher Education Customers

Custom Upstreams are included for Pantheon Enterprise Gold Accounts and higher, and all Pantheon EDU accounts. You can learn more by reaching out to our accounts team using the forms on the pages linked here.

Info:
Note

Support for Custom Upstreams requires that the externally hosted upstream repository is connected to the platform correctly. For details, see Get Support. Refer to Composer Fundamentals and Workflows if you are considering a Composer based workflow.

Terminology

Here are definitions for commonly used terms:

Upstream

An upstream is a repository that acts as a parent for another repository, like Pantheon's WordPress Upstream.

Custom Upstream

A custom upstream is a repository restricted to members of an organization, containing a common codebase for new sites. This type of repository is a child repository to Pantheon's core upstreams (WordPress, Drupal (Latest Version), Drupal 7) and acts as a parent for site level repositories.

Public Upstream

A public upstream is a repository that is open to all Pantheon users which contains a common codebase for new sites, like Panopoly.

Repository

Arepository is a collection of files packaged in a single directory under version control.

Remote Repository

A remote repository is the central version control location, such as a repository residing on GitHub, Bitbucket, or GitLab.

Upstream Updates

Upstream Updates are code changes that are made once in a parent (upstream) repository, then applied "downstream" to child repositories. This is how Pantheon's one-click updates work.

Site Repository

A site repository is a child repository where upstream updates are applied and site specific customizations are tracked, similar to your site's codebase on Pantheon.

Framework

The framework determines the server configuration for a given CMS. It includes things like Nginx configuration, the relevant CLI tool to install (Drush or WP-CLI), etc. This setting is visible to users via Terminus and in the Site Settings. Once a framework has been set, it cannot be changed at the site level through the UI or Terminus. If you need to change your upstream's framework, you would need to contact Support.

More Resources