Skip to content

Commit

Permalink
Merge branch 'main' into 9083-automate-vitest-ci
Browse files Browse the repository at this point in the history
  • Loading branch information
jazzsequence authored Aug 8, 2024
2 parents dd31251 + f4f09d3 commit 940bfd0
Show file tree
Hide file tree
Showing 42 changed files with 357 additions and 231 deletions.
18 changes: 18 additions & 0 deletions gatsby-node.js
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,24 @@ exports.createPages = ({ graphql, actions }) => {
component: path.resolve("./src/templates/releaseNotesListing/index.js"),
})

// Create release notes pages for pagination.
const releaseNotesPostsPerPage = 8
const releaseNotesNumPages = Math.ceil(result.data.allReleaseNotes.edges.length / releaseNotesPostsPerPage)

Array.from({ length: releaseNotesNumPages }).forEach((_, i) => {
const path2 = `/release-notes/${i+1}/`;
createPage({
path: path2,
component: path.resolve("./src/templates/releaseNotesListing/index.js"),
context: {
limit: releaseNotesPostsPerPage,
skip: i * releaseNotesPostsPerPage,
numPages: releaseNotesNumPages,
i,
},
})
})

// terminusCommands.forEach(command => {
// const slugRegExp = /:/g
// const slug = command.name.replace(slugRegExp, "-")
Expand Down
6 changes: 3 additions & 3 deletions source/content/addons/object-cache/concepts/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Object Cache Overview
description: Learn about the benefits and requirements of Pantheon's Object Cache performance addon.
permalink: docs/object-cache
tags: [cache, plugins, modules, database]
reviewed: "2023-08-17"
reviewed: "2024-08-01"
contenttype: [doc]
innav: [true]
categories: [cache]
Expand All @@ -12,7 +12,7 @@ audience: [development]
product: [--]
integration: [--]
showtoc: true
contributors: [cityofoaksdesign, carolynshannon, jms-pantheon, whitneymeredith]
contributors: [cityofoaksdesign, carolynshannon, jms-pantheon, whitneymeredith, jazzsequence]
---
Pantheon's Object Cache performance addon service is an open-source, networked, in-memory, key-value data store based on Redis that can be used as a drop-in caching backend for your Drupal or WordPress website.

Expand All @@ -28,7 +28,7 @@ Object Cache provides an alternative caching backend that resides in memory rath

## Object Cache Requirements

All plans, except for the Basic plan, can use Object Cache. Sandbox site plans can enable and use Object Cache for development purposes, but if the site plan is upgraded to Basic the feature will be disabled. Object Cache Pro, the premium WordPress plugin, is not available for Sandbox sites, however you may enable Redis for Sandbox sites and use Pantheon's [wp-redis](https://github.com/pantheon-systems/wp-redis) plugin, or any other reputable Redis plugin for WordPress.
Pantheon supports two versions of Redis Object Cache, 2.8 and 6.2 (see [Which versions of Redis are available?](/object-cache/faq#which-versions-of-redis-are-available) and [Specify a Redis Version](/pantheon-yml#specify-a-redis-version) for more information). All plans, except for the Basic plan, can use Object Cache. Sandbox site plans can enable and use Object Cache for development purposes, but if the site plan is upgraded to Basic the feature will be disabled. Object Cache Pro, the premium WordPress plugin, is not available for Sandbox sites, however you may enable Redis for Sandbox sites and use Pantheon's [wp-redis](https://github.com/pantheon-systems/wp-redis) plugin, or any other reputable Redis plugin for WordPress.

| Plans | Object Cache Support <Popover content="Available across all environments, including Multidevs."/> |
| ------------- | -------------------------------------- |
Expand Down
21 changes: 5 additions & 16 deletions source/content/addons/object-cache/howto/wordpress.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ title: Enable Object Cache Pro for WordPress
description: How to install and configure Object Cache Pro for WordPress.
permalink: docs/object-cache/wordpress
tags: [cache, plugins, modules, database]
reviewed: "2023-08-17"
reviewed: "2024-08-08"
contenttype: [doc]
innav: [true]
categories: [cache]
cms: [wordpress]
audience: [development]
product: [--]
integration: [--]
contributors: [jazzsequence]
contributors: [jazzsequence, jkudish]
showtoc: true
---

Expand Down Expand Up @@ -75,7 +75,7 @@ terminus redis:enable <site>

</Alert>

1. Once complete, activate the Object Cache Pro plugin from the WordPress Admin or via WP-CLI through Terminus.
1. Once complete, activate the Object Cache Pro plugin from the WordPress Admin or via WP-CLI through Terminus on your development or multidev environment. NOTE: This workflow cannot be run on test or live environments.

**WordPress Admin:**

Expand Down Expand Up @@ -152,25 +152,13 @@ Refer to the [official Object Cache Pro documentation](https://objectcache.pro/d
git add auth.json && git commit -m "Add Object Cache Pro auth token."
```

1. Add the Object Cache Pro repository to your `composer.json` file's `repositories` section. Your final `repositories` section should look something like this:
1. Add the Object Cache Pro repository to your `composer.json` file's `repositories` section.
```json
repositories: [
{
"type": "composer",
"url": "https://objectcache.pro/repo/"
},
{
"type": "composer",
"url": "https://wpackagist.org",
"only": [
"wpackagist-plugin/*",
"wpackagist-theme/*"
]
},
{
"type": "path",
"url": "upstream-configuration"
}
],
```
Expand Down Expand Up @@ -315,6 +303,7 @@ Refer to the [official Object Cache Pro documentation](https://objectcache.pro/d
1. Merge code
1. Activate OCP
1. Flush Redis cache
- The `object-cache.php` drop-in file must be created in your development or multidev environment and committed or pushed to live to work.
- When installed as a `mu-plugin` on a WordPress Multisite, Object Cache Pro handles each subsite separately. The dashboard widget applies to the current site and none of the other sites on the network.
- Flushing the network cache from the network admin will flush all caches across the network.
- Subsites do not get their own configuration or graphs.
Expand Down
34 changes: 12 additions & 22 deletions source/content/certification/exam.md
Original file line number Diff line number Diff line change
Expand Up @@ -293,21 +293,13 @@ The following directions and instructions were captured by a user on a MacOS dev
## Exam FAQs
Here are some frequently asked questions about Pantheon's WebOps Certification Program.

<Accordion title="Where Can I Find Materials to Study for the Pantheon WebOps Certification Exam?" id="study-guide" icon="wrench">

### Where Can I Find Materials to Study for the Pantheon WebOps Certification Exam?
In addition to [this guide within our documentation](/certification/study-guide) you can download a [PDF version that contains hands-on activities and review questions.](https://certification.pantheon.io/sites/default/files/2023-11/webopscert_final_v1_1.pdf).

</Accordion>

<Accordion title="What are the directions for launching my exam?" id="directions" icon="wrench">

You can find the directions for launching the exam here: [Exam Instructions](/certification/exam-instructions)

</Accordion>

<Accordion title="How do I use the ProctorFree virtual proctoring service for my exam?" id="ProctorFree" icon="wrench">

### What are the directions for launching my exam?
You can find the directions for launching the exam here: [Exam Instructions](/certification/exam#exam-instructions)

### How do I use the ProctorFree virtual proctoring service for my exam?
Pantheon’s Certification Program utilizes [ProctorFree](https://www.proctorfree.com/), a software-only identity verification and exam recording solution. The following document describes the requirements for successfully enabling ProctorFree when taking a Pantheon Certification exam.

Before you get started, please note the following:
Expand Down Expand Up @@ -340,13 +332,11 @@ If you are using a Linux machine, you will need to indicate this on the form whe

Remote exam sessions must be completed on a laptop or desktop computer that meets the minimum technical requirements.

</Accordion>

<Accordion title="Do I need a camera?" id="camera" icon="wrench">
### Do I need a camera?
In order to take the exam with our automated proctoring service, you will need a working web camera to record your test taking session. Please reach out to us if you have any questions about this.
</Accordion>

<Accordion title="What are the technical requirements for taking a Pantheon Certification?" id="technical-requirements" icon="wrench">

### What are the technical requirements for taking a Pantheon Certification?

In order to maintain compatibility with our online proctoring service, we require that exam takers use machines that adhere to the following minimum technical specifications:

Expand All @@ -362,20 +352,20 @@ In order to maintain compatibility with our online proctoring service, we requir

**Web Camera & Microphone:** An external or internal web camera and microphone are required. Camera and microphone drivers must have been updated or released within the last 5 years. 3D Webcams are not supported at this time.

</Accordion>

<Accordion title="How do I register for an exam?" id="register" icon="wrench">

### How do I register for an exam?

You can register for the [Pantheon WebOps Certification Exam with the form on this page](https://pantheon.io/certification). The form will ask for your name, email address, organization (if applicable), and some technical information about the computer you will be using to take the exam. This is to help us ensure that your computer is technically compatible with our exam engine and proctoring service. You will then choose a date to take the exam.

</Accordion>


<Accordion title="How do I get certificate and a badge?" id="badge" icon="wrench">

### How do I get certificate and a badge?

When you have finished taking the exam, you will see a message on the screen indicating whether you have passed or not. Once you have passed the exam, we will go through the process of validating the results. This validation can take up to 48 hours, at which point you will receive an email with a link to your badge and certification. We will also display your name, certification date, and a link to your badge and digital certificate on our [Certification Registry site](https://certification.pantheon.io/).

</Accordion>



## More Resources
Expand Down
2 changes: 1 addition & 1 deletion source/content/certification/study-guide-cms/00-intro.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: WebOps Certification
subtitle: Introduction
subtitle: Study Guide Introduction
certificationpage: true
type: certificationpage
layout: certificationpage
Expand Down
24 changes: 14 additions & 10 deletions source/content/dns-providers/cloudflare.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,20 @@ You can configure Cloudflare's CDN as an additional layer on Pantheon's Global C

![Example DNS only](../../images/cloudflare-full.png)

#### Restrict Content Based on Geographic Location

If you're using Cloudflare's IP Geolocation feature, you will need to read the `CF-IPCountry` header and set `Vary: CF-IPCountry` on all responses.

#### Access to the /.well-known Path Is Needed

If you're using Cloudflare's services to control or block traffic, an exception must be made for the `/.well-known` path in Cloudflare's config. If the `/.well-known` path is not accessible, Lets Encrypt may not be able to issue a certificate.

#### Cache Invalidation Best Practices

Cloudflare allows you to turn on caching. However, no cache invalidation hook is fired when you make content changes if you have Cloudflare caching turned on. This means that Cloudflare will be unaware of your changes and persist with stale cache.

We recommend that you turn off Cloudflare caching until the `pantheon_advanced_page_cache` module/plugin is extended to send API calls to Cloudflare.

## CAA Records (Optional)

A **CAA Record** specifies which certificate authority (**CA**) can issue HTTPS certificates for a domain.
Expand Down Expand Up @@ -140,16 +154,6 @@ A **CAA Record** specifies which certificate authority (**CA**) can issue HTTPS

1. Repeat this process for the `www` subdomain.

## Restrict Content Based on Geographic Location

If you're using Cloudflare's IP Geolocation feature, you will need to read the `CF-IPCountry` header and set `Vary: CF-IPCountry` on all responses.

## Cache Invalidation Best Practices

Cloudflare allows you to turn on caching. However, no cache invalidation hook is fired when you make content changes if you have Cloudflare caching turned on. This means that Cloudflare will be unaware of your changes and persist with stale cache.

We recommend that you turn off Cloudflare caching until the `pantheon_advanced_page_cache` module/plugin is extended to send API calls to Cloudflare.

## Next Steps

- [Launch Essentials: Domains & HTTPS](/guides/launch/domains)
Expand Down
27 changes: 17 additions & 10 deletions source/content/guides/account-mgmt/plans/07-site-plans.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ contributors: [wordsmither]
showtoc: true
permalink: docs/guides/account-mgmt/plans/site-plans
editpath: docs/guides/account-mgmt/plans/07-site-plans.md
reviewed: "2022-09-19"
reviewed: "2024-08-07"
contenttype: [guide]
innav: [false]
categories: [plans]
Expand Down Expand Up @@ -93,23 +93,30 @@ Pantheon offers savings for sites purchased with annual billing. Refer to [Panth

</Alert>

1. [Go to the Site Dashboard](/guides/account-mgmt/workspace-sites-teams/sites#site-dashboard).
Please note that only Site owners can update plans. There are several places within the Pantheon Dashboard you can upgrade your site plan:

1. For Sandbox sites, click **Upgrade** next to the site's name. Otherwise, click the current plan tag next to the site's name.
1. [Go to the Site Dashboard](/guides/account-mgmt/workspace-sites-teams/sites#site-dashboard), and click **Upgrade** next to the site's name.
2. Within your personal workspace, navigate to Settings>Subscriptions. Click the 'Actions' dropdown and choose, **Change Site Plan**
3. If you are in a workspace, you can navigate to **Settings** > **Billing**. Scroll to see **Supported Sites** table. Within that table, if you are the site owner, you'll be able to click the **Site Plan** column to upgrade or downgrade your site.


From the site upgrade and downgrade page, complete the following steps:

1. Click the **Select** button under the [plan you choose](https://pantheon.io/plans/pricing/). Select the billing frequency: [**Pay Annually**](/guides/account-mgmt/plans/pricing) or **Pay Monthly** at the top of the page.

1. Click **Select** for the plan you wish to purchase.
- If you've chosen a **Performance Plan**, choose the size and click **Choose Performance**.

1. Enter your billing information. Site ownership is designated to the user account entering billing information.
- If you've chosen a **Basic Plan**, click **Continue**.

1. Make sure the **Plan** details are correct.
- If you've chosen **Custom**, please fill out the contact field to be contacted by a customer support agent.

1. Verify the card shown in **Billing** details.
2. Click **+ Add New Card** and enter the credit card information, then click **Add Card** to save the card information. If you already have a card saved, it should be available in this section.

1. Click the **Submit** button.
3. Click **Continue** and review your information carefully, then click **Place Your Order** to confirm your purchase.

The Site Owner will receive an email confirmation of this change, a new invoice will be issued, and a prorated amount for the current billing cycle will be credited or charged to the associated card automatically.
- [Contact Support](/guides/support/contact-support) if you need any help.

Invoices and transaction history related to this change can be found in **<Icon icon="gear" /> Account** > **Billing**.
As the site owner, you’ll receive an email confirming the change to the site. You’ll receive an updated invoice after the site billing is processed.

## Enable Add-ons

Expand Down
8 changes: 4 additions & 4 deletions source/content/guides/agcdn/01-introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ AGCDN provides many features:

| Feature | AGCDN |
| ------------- | -------------------------------------- |
| [OSI Layer 3 and 4 DDoS Protection & Mitigation](/guides/agcdn/agcdn-features#osi-layer-3-and-4-ddos-protection-&-mitigation) | <span style="color:green">✔</span> |
| [OSI Layer 3 and 4 DDoS Protection & Mitigation](/guides/agcdn/agcdn-features#osi-layer-3-and-4-ddos-protection--mitigation) | <span style="color:green">✔</span> |
| [SOC 2 Type 2 Compliance](/guides/agcdn/agcdn-features#soc-2-type-2-compliance) | <span style="color:green">✔</span> |
| [IP Allowlisting and Blocklisting](/guides/agcdn/agcdn-features#ip-allowlisting-and-blocklisting) | <span style="color:green">✔</span> |
| [Token Authentication with JSON Web Token](/guides/agcdn/agcdn-features#token-authentication-with-json-web-token) | <span style="color:green">✔</span> |
Expand All @@ -66,10 +66,10 @@ AGCDN with WAF/IO includes everything in the table above with the following addi

| Feature | AGCDN with WAF and IO |
| ------------- | ------------------------- |
| [Layer 7 and Enterprise WAF rules](/guides/agcdn/agcdn-features#layer-7-and-enterprise-waf-rules)| <span style="color:green">✔</span> |
| [Efficient Image Optimization at the Edge](/guides/agcdn/agcdn-features#efficient-image-optimization-at-the-edge) | <span style="color:green">✔</span> |
| [Layer 7 and Enterprise WAF rules](/guides/agcdn/agcdn-wafio#owasp-layer-7-and-enterprise-waf-rules)| <span style="color:green">✔</span> |
| [Efficient Image Optimization at the Edge](/guides/agcdn/agcdn-wafio#efficient-image-optimization-at-the-edge) | <span style="color:green">✔</span> |
| [Rate Limiting](/guides/agcdn/agcdn-wafio#rate-limiting) | <span style="color:green">✔</span> |
| [Advanced Bot Detection and Mitigation](/guides/agcdn/agcdn-features#advanced-bot-detection-and-mitigation-available-as-an-add-on) <Popover content="Not all plugins are supported." /> | <span style="color:green">✔</span> |
| [Advanced Bot Detection and Mitigation](/guides/agcdn/agcdn-wafio#advanced-bot-detection-and-mitigation) <Popover content="Not all plugins are supported." /> | <span style="color:green">✔</span> |

## Is AGCDN Right For Me?

Expand Down
4 changes: 2 additions & 2 deletions source/content/guides/disaster-recovery/01-introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ subtitle: Introduction
description: Address emergency downtime situations on the Pantheon platform
tags: [webops]
contributors: [joshlieb, joan-ing]
reviewed: "2021-07-26"
reviewed: "2024-07-30"
type: guide
permalink: docs/guides/disaster-recovery
editpath: disaster-recovery/01-introduction.md
Expand All @@ -17,6 +17,6 @@ product: [--]
integration: [--]
---

This guide is focused on the immediate actions a Pantheon customer should take in the event of a catastrophic site failure. In all cases, the first step should be to file an emergency downtime on-call ticket. Filing a ticket will immediately escalate the incident and ensure the fastest and most effective service.
This guide is focused on the immediate actions a Pantheon customer should take in the event of a catastrophic site failure. In all cases, the first step should be to file an emergency downtime on-call ticket, regular ticket, or open a support chat depending on support tier. Filing an emergency Pantheon On-Call ticket will immediately escalate the incident and ensure the fastest and most effective service.

This guide does not cover all potential post-disaster recovery processes. Such processes will depend on the nature of the incident and the impact that it has on your site. You must engage with Pantheon support during the incident, and the support team will help determine what remediation steps are required.
Loading

0 comments on commit 940bfd0

Please sign in to comment.