From 8b3e2fe3add5c6449001e2bffd24ad04ac0e4f31 Mon Sep 17 00:00:00 2001 From: Henri Courdent <122811744+hcourdent@users.noreply.github.com> Date: Wed, 27 Sep 2023 17:34:10 +0200 Subject: [PATCH] Update pricing page & fix dark mode (#318) * Fix dark mode & update pricing page * Added Whitelabel section & backlinks * Improved links --- docs/advanced/index.md | 19 --- docs/misc/7_plans_details/index.mdx | 28 +++- docs/misc/9_guides/index.md | 13 -- docs/misc/9_guides/index.mdx | 16 ++ src/components/Pricing.js | 185 +++++++++++++--------- src/components/pricing/PriceCalculator.js | 5 +- 6 files changed, 154 insertions(+), 112 deletions(-) delete mode 100644 docs/advanced/index.md delete mode 100644 docs/misc/9_guides/index.md create mode 100644 docs/misc/9_guides/index.mdx diff --git a/docs/advanced/index.md b/docs/advanced/index.md deleted file mode 100644 index a9b07f3f6..000000000 --- a/docs/advanced/index.md +++ /dev/null @@ -1,19 +0,0 @@ -# Advanced - -Windmill's most advanced guides. - -
-
- -
Self-Host
-
Host and manage Windmill directly on your server.
-
- -
Sharing Common Logic
-
Share common logic between your scripts using relative imports in both Python and Deno.
-
- -
Run Docker Containers
-
Windmill supports running any docker container through its Bash support.
-
-
diff --git a/docs/misc/7_plans_details/index.mdx b/docs/misc/7_plans_details/index.mdx index be12be6a7..4470ce5f9 100644 --- a/docs/misc/7_plans_details/index.mdx +++ b/docs/misc/7_plans_details/index.mdx @@ -17,20 +17,22 @@ Windmill provides a range of pricing plans for both Cloud and Self-hosted deploy ### Community Edition - Cloud No commitment or credit card required. -- Features include Google/Github/Microsoft/Gitlab SSO, unlimited variables/resources/scripts/apps/flows (except abuse), and 1,000 free executions per month. +- Google / Microsoft / GitHub / GitLab SSO. +- Unlimited [variables](../../core_concepts/2_variables_and_secrets/index.mdx), [resources](../../core_concepts/3_resources_and_types/index.mdx), [scripts](../../script_editor/index.mdx), [apps](../../apps/0_app_editor/index.mdx), [flows](../../flows/1_flow_editor.mdx) (except abuse). +- 1,000 free executions per month. - [Granular permissions](../../core_concepts/16_roles_and_permissions/index.mdx), [groups](../../core_concepts/8_groups_and_folders/index.mdx), [folders](../../core_concepts/8_groups_and_folders/index.mdx) and [public apps](../../apps/8_public_apps.md) available. -- [Deployment from Github](../../advanced/9_deploy_gh_gl/index.md) and community support on [Discord](https://discord.com/invite/V7PM2YHsPB). +- [Deployment from GitHub](../../advanced/9_deploy_gh_gl/index.md) and community support on [Discord](https://discord.com/invite/V7PM2YHsPB). ### Team Plan - Cloud Designed for small teams automating processes. - Includes all Community edition features. -- [Priority Support](../12_support_and_sla/index.mdx) 24/7 with a 48-hour response time and automation engineer assistance. - [Audit logs](../../core_concepts/14_audit_logs/index.mdx) with a 7-day retention period. - [Global CSS on App Editor](../15_css_editor/index.md). - [Multiplayer](../../core_concepts/7_multiplayer/index.md) editing. - Each seat: $10/month. - Each seat includes one user or two operators and 10k executions. +- [Priority Support](../12_support_and_sla/index.mdx) 24/7 with a 48-hour response time and automation engineer assistance. - Limited to 20 users. `seats = max(users, executions / 10k)`. Meaning if you have 4 users and 60k executions, you pay 60$ = 40$ + 20$. @@ -43,12 +45,12 @@ Your own hosted dedicated Windmill cluster without restrictions. Dedicated support, guidance and infrastructure for advanced capabilities. - Isolated & dedicated database network & workers. -- [SLA and priority support](../12_support_and_sla/index.mdx) with a 3-hour response time. - [Audit logs](../../core_concepts/14_audit_logs/index.mdx) with a 60-day retention period. - [Deploy to staging/prod web UI](../../core_concepts/12_staging_prod/index.md). - [Global CSS on App Editor](../15_css_editor/index.md). - [Multiplayer](../../core_concepts/7_multiplayer/index.md) editing. - [SAML / SCIM support](../14_saml_and_scim/index.md). Group sync with active directory. +- [SLA and priority support](../12_support_and_sla/index.mdx) with a 3-hour response time. - Design partner for Windmill roadmap. - Base price at $600. - Each seat: $40/month. @@ -59,10 +61,18 @@ See [Upgrading to Enterprise Edition](#upgrading-to-enterprise-edition). ## Self-hosted +
+ +
+ ### Free and Open-source - Unlimited users and executions. -- Features [Google/Github/Microsoft/Gitlab SSO](../../misc/2_setup_oauth/index.mdx) and easy deployment on Fargate/Docker/Kubernetes. +- Features [Google/Microsoft/GitHub/GitLab SSO](../../misc/2_setup_oauth/index.mdx) and easy deployment on Fargate/Docker/Kubernetes. - Community support on [Discord](https://discord.com/invite/V7PM2YHsPB). ### Enterprise Edition - Self-Hosted @@ -122,6 +132,14 @@ Team plans work at the workspace-level. #### Self-host +
+ +
+ - The subscription to the Enterprise Self-Host offer is done through a [secure payment link](https://billing.windmill.dev/b/8wMaFS51Y0Bl2VacMT), with a 1-month free trial. - You can reach out to us via contact@windmill.dev, [Discord](https://discord.com/invite/V7PM2YHsPB), or schedule a [meeting](https://www.windmill.dev/book-demo) for an introduction session. - Upon subscribing, we will get back to you with a license key that is valid for a month (duration of trial). You can also contact us immediately if preferred. At the end of the subscription period (or trial), you will receive another license key valid for a year. diff --git a/docs/misc/9_guides/index.md b/docs/misc/9_guides/index.md deleted file mode 100644 index 6525464eb..000000000 --- a/docs/misc/9_guides/index.md +++ /dev/null @@ -1,13 +0,0 @@ -# Guides - -
-
- -
AgGrid Table
-
Basic introduction on how to use AgGrid Tables.
-
- -
Table
-
Basic introduction on how to the Table component.
-
-
diff --git a/docs/misc/9_guides/index.mdx b/docs/misc/9_guides/index.mdx new file mode 100644 index 000000000..439050574 --- /dev/null +++ b/docs/misc/9_guides/index.mdx @@ -0,0 +1,16 @@ +import DocCard from '@site/src/components/DocCard'; + +# Guides + +
+ + +
\ No newline at end of file diff --git a/src/components/Pricing.js b/src/components/Pricing.js index 5291233a9..59403a315 100644 --- a/src/components/Pricing.js +++ b/src/components/Pricing.js @@ -9,7 +9,8 @@ import classNames from 'classnames'; const types = [ { value: 'selfhost', label: 'Self-hosted' }, - { value: 'cloud', label: 'Cloud' } + { value: 'cloud', label: 'Cloud' }, + { value: 'whitelabel', label: 'White Label' }, ]; const periods = [ @@ -22,13 +23,13 @@ const pricing = { { name: 'Free and Open-source', id: 'tier-free-selfhost', - href: '#', + href: '/docs/misc/plans_details#free-and-open-source', price: {}, description: 'Unlimited users & executions', features: [ - { text: 'Google/Github/Microsoft/Gitlab SSO' }, - { text: 'Easy to deploy on Fargate/Docker/Kubernetes' }, + { text: 'Google / Microsoft / GitHub / GitLab SSO' }, + { text: 'Easy deployment on Fargate / Docker / Kubernetes' }, { text: 'Community support on Discord' } ], mostPopular: false @@ -36,7 +37,7 @@ const pricing = { { name: 'Enterprise edition', id: 'tier-enterprise-selfhost', - href: 'mailto:contact@windmill.dev', + href: '/docs/misc/plans_details#self-host', price: { worker: { monthly: 50, @@ -67,27 +68,24 @@ const pricing = { { text: ( - Windmill Enterprise Edition Plugins + Windmill Enterprise Edition Plugins: ), features: [ { text: 'Audit logs' }, { text: 'Distributed dependency cache backed by S3' }, { text: 'SAML support including groups synchronization' }, - { text: 'Multiplayer on WebIDE' } + { text: 'Dedicated Workers / Native Performance' }, + { text: 'Worker Group Management UI' }, + { text: 'Deploy to staging/prod web UI' }, + { text: 'Global CSS on App Editor' }, + { text: 'Multiplayer on WebIDE' }, ] }, { text: ( - SLA - - ) - }, - { - text: ( - - Priority Support 24/7 with 3h response time and automation engineer assistance + SLA & Priority Support 24/7 with 3h response time and automation engineer assistance ) }, @@ -95,7 +93,7 @@ const pricing = { { text: ( - Design partners for Roadmap + Design partners for roadmap ) } @@ -107,42 +105,45 @@ const pricing = { { name: 'Community', id: 'tier-free', - href: '#', + href: '/docs/misc/plans_details#community-edition---cloud', price: {}, description: 'Discover the platform with no commitment and no credit card required.', features: [ { - text: Google/Github/Microsoft/Gitlab SSO + text: Google / Microsoft / GitHub / GitLab SSO }, { text: ( - Unlimited variables/resources/scripts/apps/flows * (except abuse) + Unlimited variables/resources/scripts/apps/flows (*except abuse) ) }, { text: ( - 1000 free executions per month + 1,000 free executions per month ) }, { - text: Public apps + text: Groups, folders and granulars permissions }, { - text: Groups, folders and granulars permissions + text: Public apps }, { text: ( - Deploy from Github + Deploy from GitHub ) }, { text: Community support on Discord + }, + { + text: All details } ], @@ -151,14 +152,14 @@ const pricing = { { name: 'Team', id: 'tier-team', - href: '/docs/misc/plans_details#upgrading-to-team-edition', + href: 'https://app.windmill.dev/', price: { seat: { monthly: 10, description: 'An author can create scripts and flows', default: 1, min: 1, - max: 100 + max: 20 } }, minPrice: 10, @@ -176,7 +177,13 @@ const pricing = { ) }, { - text: Each seat includes:, + text: Global CSS on App Editor + }, + { + text: Multiplayer editing + }, + { + text: Each seat includes:, features: [ { text: 'one user or two operators' }, { @@ -188,7 +195,9 @@ const pricing = { } ] }, - + { + text: 20 seats maximum + }, { text: ( @@ -196,6 +205,9 @@ const pricing = { assistance ) + }, + { + text: All details } ], mostPopular: true, @@ -204,7 +216,7 @@ const pricing = { { name: 'Enterprise', id: 'tier-enterprise', - href: 'mailto:contact@windmill.dev', + href: '/docs/misc/plans_details#cloud-1', price: { worker: { monthly: 100, @@ -222,12 +234,15 @@ const pricing = { max: 1000 } }, - minPrice: 440, - description: 'Dedicated support and infrastructure for your company.', + minPrice: 600, + description: 'Dedicated support, guidance and infrastructure for your company.', features: [ { text: Everything in Team }, + { + text: Isolated & dedicated database network & workers + }, { text: ( @@ -239,28 +254,28 @@ const pricing = { { text: ( - SAML support including groups synchronization + Audit logs 60 days retention ) }, { text: ( - SLA + Deploy to staging/prod web UI ) }, { text: ( - Audit logs 60 days retention + SAML / SCIM support including groups synchronization ) }, { text: ( - Priority Support 24/7 with 3h response time and automation engineer assistance + SLA & Priority Support 24/7 with 3h response time and automation engineer assistance ) }, @@ -268,13 +283,32 @@ const pricing = { { text: ( - Design partners for Roadmap + Design partners for roadmap ) + }, + { + text: All details } ], mostPopular: false } + ], + whitelabel: [ + { + name: 'White Labeling Windmill', + id: 'tier-free-selfhost', + price: {}, + + description: 'Windmill offers white labeling capabilities, allowing you to customize the Windmill platform to align with your brand.', + features: [ + { text: 'Embed the entire Windmill app.' }, + { text: 'Embed specific components (flow builder, app builder).' }, + ], + mostPopular: false, + customMessage: 'Learn more', + href: '/docs/misc/white_labelling' + } ] }; @@ -293,18 +327,45 @@ export default function Pricing() { Payment frequency {types.map((option) => ( + + classNames( + checked ? (option.value === 'whitelabel' ? 'bg-gray-300 text-white' : 'bg-blue-600 text-white') : '', + 'cursor-pointer rounded-full px-4 py-2', + 'transition-all' + ) + } + > + {option.label} + + + ))} + +
+ {frequency.value !== 'whitelabel' && ( + + Payment period + {periods.map((option) => ( classNames( - checked ? 'bg-blue-600 text-white' : '', - 'cursor-pointer rounded-full px-4 py-2', - 'transition-all ' + checked + ? 'bg-gray-800 dark:bg-gray-200 dark:text-gray-900 text-white' + : 'text-gray-500', + 'cursor-pointer rounded-full px-2.5 py-1', + 'transition-all' ) } > @@ -312,37 +373,17 @@ export default function Pricing() { ))} -
- - Payment period - {periods.map((option) => ( - - classNames( - checked - ? 'bg-gray-800 dark:bg-gray-200 dark:text-gray-900 text-white' - : 'text-gray-500', - 'cursor-pointer rounded-full px-2.5 py-1', - 'transition-all' - ) - } - > - {option.label} - - ))} - + )}
{pricing[frequency.value].map((tier, index) => ( @@ -409,16 +450,18 @@ export default function Pricing() { )} - {index == 0 ? ( -
No credit card required -
+ ) : ( - {tier.customMessage ? tier.customMessage : 'Contact us'} + {tier.customMessage ? tier.customMessage : 'How to upgrade'} )} -
); -} +} \ No newline at end of file diff --git a/src/components/pricing/PriceCalculator.js b/src/components/pricing/PriceCalculator.js index 02c67e5aa..dc02b5a14 100644 --- a/src/components/pricing/PriceCalculator.js +++ b/src/components/pricing/PriceCalculator.js @@ -5,10 +5,7 @@ import classNames from 'classnames'; import Slider from './Slider'; const plans = [ - { name: 'Multi-tenant', description: 'Shared infrastructure', price: 200 }, - { name: 'Isolated workers and database', description: 'Available in US/EU/Asia', price: 600 }, - { name: 'Dedicated Kubernetes cluster', description: 'Available in US/EU/Asia', price: 1200 } -]; + { name: 'Core package', description: 'Your own hosted dedicated Windmill cluster without restrictions', price: 360 },]; function calculatePrice(monthlyPrice, period) { if (period === 'annually') {