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.
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.
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.
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.
There are three levels of repositories in play here, and updates flow "downstream" from one level to another.
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.
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.
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 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.
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.
Here are definitions for commonly used terms:
Upstream: A repository that acts as a parent for another repository, like Pantheon's WordPress Upstream. The next two definitions are specific types of Upstreams.
Custom Upstream: 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 repository that is open to all Pantheon users which contains a common codebase for new sites, like Panopoly.
Repository: A collection of files packaged in a single directory under version control.
Remote Repository: A central version control location, such as a repository residing on GitHub, Bitbucket, or GitLab.
Upstream Updates: 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: Child repository where upstream updates are applied and site specific customizations are tracked, similar to your site's codebase on Pantheon.