mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
www: update compute size descriptions (Compute column, vCPU units) (#49998)
## What kind of change does this PR introduce? www update: aligns compute descriptions on the pricing surfaces with the current compute options. Counterpart to the docs update in #49996. Fixes PROD-654 ## What is the new behavior? - Pricing compute table: the CPU and Dedicated columns are merged into a single Compute column — "Shared compute" for Micro–Medium, "Dedicated · N vCPUs" for Large and above (the `dedicated` key is removed from `PricingAddOnTable.json`) - Pricing calculator: the instance summary line uses the new Compute value directly - Pricing compute section headline: "64 cores" → "64 vCPUs" - `/pricing.md`, `/llms-full.txt`, `/llms/pricing.txt`: generated markdown mirrors the new table - `/database.md`: describes the compute range as Micro to 16XL+ <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Pricing Updates** - Compute pricing tables now label the column “Compute” and show shared compute or dedicated vCPU counts. - Removed the separate “Dedicated” column from compute add-on tables. - Dedicated-plan values now display consistently across desktop and mobile layouts. - Compute instance details no longer repeat the “CPU” label after the CPU value. - Updated scaling language to refer to “64 vCPUs.” - Simplified technical details by removing specific core-count examples while retaining configurable sizing and autoscaling information. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
1 parent
77ee1ec127
commit
593e95345a
6 files changed
+20
-69
No files matched your search
@@ -209,7 +209,7 @@ const ComputePricingCalculator = ({
|
||||
<div className="w-full flex items-center gap-2">
|
||||
<span className="text-lighter text-xs md:text-[13px]">
|
||||
{findInstanceValueByColumn(activeInstance, 'memory')} RAM /{' '}
|
||||
{findInstanceValueByColumn(activeInstance, 'cpu')} CPU / Connections: Direct{' '}
|
||||
{findInstanceValueByColumn(activeInstance, 'cpu')} / Connections: Direct{' '}
|
||||
{findInstanceValueByColumn(activeInstance, 'directConnections')}, Pooler{' '}
|
||||
{findInstanceValueByColumn(activeInstance, 'poolerConnections')}
|
||||
</span>
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import pricingAddOn from '~/data/PricingAddOnTable.json'
|
||||
import Link from 'next/link'
|
||||
import { Fragment, useMemo } from 'react'
|
||||
|
||||
import { cn } from 'ui'
|
||||
import pricingAddOn from '~/data/PricingAddOnTable.json'
|
||||
import { IconPricingIncludedCheck, IconPricingMinus } from './PricingIcons'
|
||||
|
||||
const ComputePricingTable = () => {
|
||||
const columnNames = useMemo(
|
||||
@@ -50,13 +48,7 @@ const ComputePricingTable = () => {
|
||||
className="p-3"
|
||||
translate={column.key === 'pricing' ? 'no' : undefined}
|
||||
>
|
||||
{column.key === 'dedicated' ? (
|
||||
column.value ? (
|
||||
<IconPricingIncludedCheck plan="Pro Plan" />
|
||||
) : (
|
||||
<IconPricingMinus plan="Free Plan" />
|
||||
)
|
||||
) : column.url ? (
|
||||
{column.url ? (
|
||||
<Link
|
||||
href={column.url}
|
||||
className="underline text-brand hover:text-brand-600"
|
||||
@@ -94,15 +86,7 @@ const ComputePricingTable = () => {
|
||||
column.key === 'plan' ? 'text-brand pt-16 lg:pt-3' : ''
|
||||
}`}
|
||||
>
|
||||
{column.key === 'dedicated' ? (
|
||||
column.value ? (
|
||||
<IconPricingIncludedCheck plan="Pro Plan" />
|
||||
) : (
|
||||
<IconPricingMinus plan="Free Plan" />
|
||||
)
|
||||
) : (
|
||||
column.value
|
||||
)}
|
||||
{column.value}
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
|
||||
@@ -124,7 +124,7 @@ const PricingComputeSection = () => {
|
||||
</p>
|
||||
<h3 className="text-foreground text-2xl ml-0.5 md:ml-0 mb-2 md:mb-0">
|
||||
Scale compute up to
|
||||
<br className="hidden sm:block" /> 64 cores and 256 GB RAM
|
||||
<br className="hidden sm:block" /> 64 vCPUs and 256 GB RAM
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ Supabase Database gives you a full Postgres database with no compromises. It is
|
||||
- Connection: direct Postgres connections (connection string), connection pooling via PgBouncer (Supavisor)
|
||||
- Client libraries: JavaScript, Python, Dart (Flutter), Swift, Kotlin, C#
|
||||
- Backups: automatic daily backups, Point-in-Time Recovery available as add-on
|
||||
- Compute: configurable from Micro (2-core ARM) to 16XL+ (64-core ARM and above), with autoscaling options
|
||||
- Compute: configurable from Micro to 16XL+, with autoscaling options
|
||||
|
||||
## Links
|
||||
|
||||
|
||||
@@ -12,8 +12,7 @@
|
||||
"columns": [
|
||||
{ "key": "plan", "title": "Compute Size", "value": "Micro" },
|
||||
{ "key": "pricing", "title": "Price USD", "value": "$10" },
|
||||
{ "key": "cpu", "title": "CPU", "value": "2-core ARM" },
|
||||
{ "key": "dedicated", "title": "Dedicated", "value": false },
|
||||
{ "key": "cpu", "title": "Compute", "value": "Shared compute" },
|
||||
{ "key": "memory", "title": "Memory", "value": "1 GB" },
|
||||
{
|
||||
"key": "directConnections",
|
||||
@@ -31,8 +30,7 @@
|
||||
"columns": [
|
||||
{ "key": "plan", "title": "Plan", "value": "Small" },
|
||||
{ "key": "pricing", "title": "Price USD", "value": "$15" },
|
||||
{ "key": "cpu", "title": "CPU", "value": "2-core ARM" },
|
||||
{ "key": "dedicated", "title": "Dedicated", "value": false },
|
||||
{ "key": "cpu", "title": "Compute", "value": "Shared compute" },
|
||||
{ "key": "memory", "title": "Memory", "value": "2 GB" },
|
||||
{
|
||||
"key": "directConnections",
|
||||
@@ -50,8 +48,7 @@
|
||||
"columns": [
|
||||
{ "key": "plan", "title": "Plan", "value": "Medium" },
|
||||
{ "key": "pricing", "title": "Price USD", "value": "$60" },
|
||||
{ "key": "cpu", "title": "CPU", "value": "2-core ARM" },
|
||||
{ "key": "dedicated", "title": "Dedicated", "value": false },
|
||||
{ "key": "cpu", "title": "Compute", "value": "Shared compute" },
|
||||
{ "key": "memory", "title": "Memory", "value": "4 GB" },
|
||||
{
|
||||
"key": "directConnections",
|
||||
@@ -69,8 +66,7 @@
|
||||
"columns": [
|
||||
{ "key": "plan", "title": "Plan", "value": "Large" },
|
||||
{ "key": "pricing", "title": "Price USD", "value": "$110" },
|
||||
{ "key": "cpu", "title": "CPU", "value": "2-core ARM" },
|
||||
{ "key": "dedicated", "title": "Dedicated", "value": true },
|
||||
{ "key": "cpu", "title": "Compute", "value": "Dedicated · 2 vCPUs" },
|
||||
{ "key": "memory", "title": "Memory", "value": "8 GB" },
|
||||
{
|
||||
"key": "directConnections",
|
||||
@@ -88,8 +84,7 @@
|
||||
"columns": [
|
||||
{ "key": "plan", "title": "Plan", "value": "XL" },
|
||||
{ "key": "pricing", "title": "Price USD", "value": "$210" },
|
||||
{ "key": "cpu", "title": "CPU", "value": "4-core ARM" },
|
||||
{ "key": "dedicated", "title": "Dedicated", "value": true },
|
||||
{ "key": "cpu", "title": "Compute", "value": "Dedicated · 4 vCPUs" },
|
||||
{ "key": "memory", "title": "Memory", "value": "16 GB" },
|
||||
{
|
||||
"key": "directConnections",
|
||||
@@ -107,8 +102,7 @@
|
||||
"columns": [
|
||||
{ "key": "plan", "title": "Plan", "value": "2XL" },
|
||||
{ "key": "pricing", "title": "Price USD", "value": "$410" },
|
||||
{ "key": "cpu", "title": "CPU", "value": "8-core ARM" },
|
||||
{ "key": "dedicated", "title": "Dedicated", "value": true },
|
||||
{ "key": "cpu", "title": "Compute", "value": "Dedicated · 8 vCPUs" },
|
||||
{ "key": "memory", "title": "Memory", "value": "32 GB" },
|
||||
{
|
||||
"key": "directConnections",
|
||||
@@ -126,8 +120,7 @@
|
||||
"columns": [
|
||||
{ "key": "plan", "title": "Plan", "value": "4XL" },
|
||||
{ "key": "pricing", "title": "Price USD", "value": "$960" },
|
||||
{ "key": "cpu", "title": "CPU", "value": "16-core ARM" },
|
||||
{ "key": "dedicated", "title": "Dedicated", "value": true },
|
||||
{ "key": "cpu", "title": "Compute", "value": "Dedicated · 16 vCPUs" },
|
||||
{ "key": "memory", "title": "Memory", "value": "64 GB" },
|
||||
{
|
||||
"key": "directConnections",
|
||||
@@ -145,8 +138,7 @@
|
||||
"columns": [
|
||||
{ "key": "plan", "title": "Plan", "value": "8XL" },
|
||||
{ "key": "pricing", "title": "Price USD", "value": "$1,870" },
|
||||
{ "key": "cpu", "title": "CPU", "value": "32-core ARM" },
|
||||
{ "key": "dedicated", "title": "Dedicated", "value": true },
|
||||
{ "key": "cpu", "title": "Compute", "value": "Dedicated · 32 vCPUs" },
|
||||
{ "key": "memory", "title": "Memory", "value": "128 GB" },
|
||||
{
|
||||
"key": "directConnections",
|
||||
@@ -164,8 +156,7 @@
|
||||
"columns": [
|
||||
{ "key": "plan", "title": "Plan", "value": "12XL" },
|
||||
{ "key": "pricing", "title": "Price USD", "value": "$2,800" },
|
||||
{ "key": "cpu", "title": "CPU", "value": "48-core ARM" },
|
||||
{ "key": "dedicated", "title": "Dedicated", "value": true },
|
||||
{ "key": "cpu", "title": "Compute", "value": "Dedicated · 48 vCPUs" },
|
||||
{ "key": "memory", "title": "Memory", "value": "192 GB" },
|
||||
{
|
||||
"key": "directConnections",
|
||||
@@ -183,8 +174,7 @@
|
||||
"columns": [
|
||||
{ "key": "plan", "title": "Plan", "value": "16XL" },
|
||||
{ "key": "pricing", "title": "Price USD", "value": "$3,730" },
|
||||
{ "key": "cpu", "title": "CPU", "value": "64-core ARM" },
|
||||
{ "key": "dedicated", "title": "Dedicated", "value": true },
|
||||
{ "key": "cpu", "title": "Compute", "value": "Dedicated · 64 vCPUs" },
|
||||
{ "key": "memory", "title": "Memory", "value": "256 GB" },
|
||||
{
|
||||
"key": "directConnections",
|
||||
@@ -207,8 +197,7 @@
|
||||
"value": "Contact Us",
|
||||
"url": "/dashboard/support/new?category=sales&subject=Enquiry%20about%20larger%20instance%20sizes"
|
||||
},
|
||||
{ "key": "cpu", "title": "CPU", "value": "Custom" },
|
||||
{ "key": "dedicated", "title": "Dedicated", "value": true },
|
||||
{ "key": "cpu", "title": "Compute", "value": "Custom" },
|
||||
{ "key": "memory", "title": "Memory", "value": "Custom" },
|
||||
{
|
||||
"key": "directConnections",
|
||||
|
||||
+3
-25
@@ -74,32 +74,10 @@ function buildPlanTiersSection(): string {
|
||||
function buildComputeSection(): string {
|
||||
const rows = addOnTable.database.rows
|
||||
|
||||
const headers = [
|
||||
'Size',
|
||||
'$/month',
|
||||
'CPU',
|
||||
'Dedicated',
|
||||
'RAM',
|
||||
'Direct Connections',
|
||||
'Pooler Connections',
|
||||
]
|
||||
const keys = [
|
||||
'plan',
|
||||
'pricing',
|
||||
'cpu',
|
||||
'dedicated',
|
||||
'memory',
|
||||
'directConnections',
|
||||
'poolerConnections',
|
||||
]
|
||||
const headers = ['Size', '$/month', 'Compute', 'RAM', 'Direct Connections', 'Pooler Connections']
|
||||
const keys = ['plan', 'pricing', 'cpu', 'memory', 'directConnections', 'poolerConnections']
|
||||
|
||||
const dataRows = rows.map((row) =>
|
||||
keys.map((key) => {
|
||||
const val = getColumnValue(row, key)
|
||||
if (key === 'dedicated') return val ? 'Yes' : 'No'
|
||||
return String(val)
|
||||
})
|
||||
)
|
||||
const dataRows = rows.map((row) => keys.map((key) => String(getColumnValue(row, key))))
|
||||
|
||||
const widths = headers.map((h, i) => Math.max(h.length, ...dataRows.map((r) => r[i].length)))
|
||||
|
||||
|
||||
Reference in new issue
Block a user