diff --git a/packages/projects-docs/pages/learn/_meta.json b/packages/projects-docs/pages/learn/_meta.json index e48c9548..08fe505d 100644 --- a/packages/projects-docs/pages/learn/_meta.json +++ b/packages/projects-docs/pages/learn/_meta.json @@ -17,11 +17,17 @@ }, "sandboxes": "Sandboxes", "legacy-sandboxes": "Legacy Sandboxes", + "-- Plans": { + "type": "separator", + "title": "Plans & Billing" + }, + "plans": "Plans", + "credit-usage": "Credits & Usage", + "access": "Access", "-- more": { "type": "separator", "title": "More" }, "ci": "CodeSandbox CI", - "explore": "Explore Page & Curators", - "plans": "Plans and Billing" + "explore": "Explore Page & Curators" } diff --git a/packages/projects-docs/pages/learn/access/_meta.json b/packages/projects-docs/pages/learn/access/_meta.json new file mode 100644 index 00000000..8cbb2848 --- /dev/null +++ b/packages/projects-docs/pages/learn/access/_meta.json @@ -0,0 +1,4 @@ +{ + "workspace": "Workspaces", + "permissions": "User permissions" +} diff --git a/packages/projects-docs/pages/learn/plans/permissions.mdx b/packages/projects-docs/pages/learn/access/permissions.mdx similarity index 59% rename from packages/projects-docs/pages/learn/plans/permissions.mdx rename to packages/projects-docs/pages/learn/access/permissions.mdx index 8e6036d5..db8f1de6 100644 --- a/packages/projects-docs/pages/learn/plans/permissions.mdx +++ b/packages/projects-docs/pages/learn/access/permissions.mdx @@ -1,24 +1,48 @@ --- title: User Permissions -description: How to manage access control in CodeSandbox Repositories +description: How to manage access control in your CodeSandbox workspace. --- import { Callout } from 'nextra-theme-docs' # User Permissions +Permissions vary slightly between repositories, which extend the settings from GitHub, and Sandboxes and Devboxes, which solely exist in CodeSandbox. + +## Devboxes and Sandboxes +### Private +Private Devboxes and Sandboxes can only be accessed by workspace members who own the Sandbox or Devbox. + +### Unlisted +Unlisted Sandboxes and Devboxes are accessible by workspace members and non-workspace members with the URL. + +### Public +Public Sandboxes and Devboxes are visible to everyone. Public Sandboxes are a great option for sharing content with people outside the workspace. Non-workspace members are able to open and run public Sandboxes and Devboxes. In order to edit, however, they will need to fork the Sandbox or Devbox to their own workspace. + + +VMs used to run public Devboxes will be charged to the workspace that owns the Devbox. + + +If you want to share a Devbox publicly, consider turning it into a template. That way, the runtime of the VMs used to run the code and/or the preview won't be charged to your workspace. + + +Default privacy settings for Devboxes and Sandboxes can be set in the workspace portal in the [permissions tab](https://codesandbox.io/t/permissions) +![permissions](../images/permissions.png) + + +## Repositories + ### Users with write access Users with write access to a repository can enjoy the full feature set available on CodeSandbox Repositories. ### Users with read-only access -Users with read-only access to the repository can browse the content of the project, check the previews and even execute a few tasks. To introduce changes, they need to create a contribution branch or fork the repository. For more information, visit the [open source collaboration](/learn/getting-started/open-source) page. +Users with read-only access to the repository can browse the content of the repository, check the previews and execute a few tasks. To introduce changes, they need to create a contribution branch or fork the repository. For more information, visit the [open source collaboration](/learn/getting-started/open-source) page. ### Anonymous users -Users without a CodeSandbox Account can only browse the content of the project and interact with the previews. - +Users without a CodeSandbox account can only browse the content of the project and interact with the previews. ## Feature comparative guide diff --git a/packages/projects-docs/pages/learn/plans/workspace.mdx b/packages/projects-docs/pages/learn/access/workspace.mdx similarity index 66% rename from packages/projects-docs/pages/learn/plans/workspace.mdx rename to packages/projects-docs/pages/learn/access/workspace.mdx index 14962a8d..f2eab75a 100644 --- a/packages/projects-docs/pages/learn/plans/workspace.mdx +++ b/packages/projects-docs/pages/learn/access/workspace.mdx @@ -30,7 +30,7 @@ Currently, every account must be associated with at least one workspace. In the ## Collaboration on workspaces -You can add as many members to a workspace as you like. You can invite them when you are creating the workspace for the first time, or later through the subscription management view. +On Free, you are allowed up to 5 members on a workspace and on Pro, you are allowed 20 members. You can invite them when you are creating the workspace for the first time, or later through the subscription management view. ![Invite team members](../images/workspace-invite-members.png) @@ -39,7 +39,7 @@ From there, they can accept or decline the invitation. You can also invite workspace members who do not have a CodeSandbox account. They will be sent an email inviting them to create an account where they will have access to the workspace. -#### Collaborating on sandboxes +#### Collaborating on Sandboxes Anyone with edit permissions to the workspace can edit its sandboxes. @@ -50,7 +50,7 @@ If you want to collaborate live with workspace members, you can start a [live se #### Collaborating on repositories -Similarly, anyone with edit access to the team workspace can edit its repositories—as long as they also have write access to the repository on the git provider (such as GitHub). Branches have their own development environments for each workspace, so files saved on `my-branch` of a repository in your personal workspace will not appear on `my-branch` in the team workspace until they are committed and pushed to the git provider. +Similarly, anyone with edit access to the team workspace can edit its repositories — as long as they also have write access to the repository on the git provider (such as GitHub). Branches have their own development environments for each workspace, so files saved on `my-branch` of a repository in your personal workspace will not appear on `my-branch` in the team workspace until they are committed and pushed to the git provider. Live collaboration on branches is restricted to members of the same workspace. If you don't see your collaboration partners working, you may be looking at the same branch in a different workspace. Otherwise, your work will be visible in every workspace as soon as it is committed and pushed to the git provider. @@ -74,31 +74,11 @@ Admins can edit team member access and roles here as well as edit the subscripti ![Team settings](../images/workspace-team-settings.png) -## Transitioned personal workspaces -As of Nov 12, 2023, all personal workspaces act as standard workspaces. -Previously, everyone who signed up for a CodeSandbox account would automatically have a personal workspace created for them. -This workspace would hold: +### Add or remove people from a workspace -- your account details -- your contribution branches -- all the sandboxes created in the workspace +1. Go to the [Dashboard](https://codesandbox.io/dashboard). +1. In the top left corner, select the **team** you'd like to edit in the dropdown. +1. Click on the **settings** icon next to the team. +1. Add or remove people through the **Members** section by inviting them via email or searching for their CodeSandbox username. -However, there was no option to add people to the workspace or upgrade the space. -With the recent changes, every workspace will be treated the same. This means that workspaces that were previously a Free Personal can do the following: - -#### Add collaborators - -Just like in a Pro workspace, you may add members to the workspace by navigating to the workspace settings, and either sending an invite URL or entering the email address of the member you wish to add (they will be notified by email). - -#### Upgrade to Pro - -Every workspace can now be upgraded. By selecting any action to upgrade from within a workspace, you will be able to remove free limitations from any workspace and access all Pro features on the sandboxes and repos that already exist in that space. - -#### Access account details from any workspace - -Account information is now held in a separate account view. You can access it from the main menu within `Preferences`. - - -If you have a legacy Personal Pro account, some of these options may vary. - diff --git a/packages/projects-docs/pages/learn/ai/codeium.mdx b/packages/projects-docs/pages/learn/ai/codeium.mdx index 280e1498..830c94d8 100644 --- a/packages/projects-docs/pages/learn/ai/codeium.mdx +++ b/packages/projects-docs/pages/learn/ai/codeium.mdx @@ -14,9 +14,10 @@ Codeium is an incredible AI-powered developer toolkit. Their code completion too ## Getting started -Codeium code completion is now available for free to every CodeSandbox user on [Devboxes](https://codesandbox.io/dashboard/recent?create_devbox=true). +Codeium code completion is now available for free to every CodeSandbox user on [Devboxes](https://codesandbox.io/dashboard/recent?create_devbox=true), [Sandboxes](https://codesandbox.io/s/) and repositories -If you have your AI settings enabled, you will get AI autocomplete working in your code immediately. Note that we disable AI permission toggles by default, so if you have not yet enabled them, you will have a chance to do so through our announcement interfaces or through the workspace settings. +If you have your AI settings enabled, you will get AI autocomplete working in your code immediately. +Note that we enable AI permission toggles by default on free workspaces. If you do not have have access to Codeium, visit the [workspace portal](https://codesandbox.io/t/permissions) and enable the AI settings ## Settings and configuration diff --git a/packages/projects-docs/pages/learn/credit-usage/_meta.json b/packages/projects-docs/pages/learn/credit-usage/_meta.json new file mode 100644 index 00000000..e04957f4 --- /dev/null +++ b/packages/projects-docs/pages/learn/credit-usage/_meta.json @@ -0,0 +1,5 @@ +{ + "credits": "Credits", + "monitoring-usage": "Monitoring usage", + "controlling-usage": "Controlling usage" +} diff --git a/packages/projects-docs/pages/learn/credit-usage/controlling-usage.mdx b/packages/projects-docs/pages/learn/credit-usage/controlling-usage.mdx new file mode 100644 index 00000000..65c1e986 --- /dev/null +++ b/packages/projects-docs/pages/learn/credit-usage/controlling-usage.mdx @@ -0,0 +1,43 @@ +--- +title: Controlling VM Usage +description: Learn more about how you can remain in control of VM usage in your CodeSandbox workspace. +--- + +import { Callout } from 'nextra-theme-docs' + +# Controlling VM Usage + +A workspace can control the use of virtual machines in several ways. The functionalities described below allow workspace admins to increase predictability of VM usage and credit spend. + +## Privacy + +VM runtime is billed to the workspace that owns the Devbox or Repository. VMs are required to run the code regardless of whether or not the code is being actively developed. This means that workspaces are responsible for the runtime of any project in their workspace, including running previews or spinning up the code for `read-only` users. + +Making Devboxes private allows workspace admins to have finer control over total VM spending. For this reason, Devboxes are created as private by default. Devbox and Sandbox privacy defaults can be controlled via the `Permissions` tab in the [workspace portal](codesandbox.io/t/permissions). + +## Templates + +VM runtime for templates is covered by CodeSandbox. By setting a Devbox as a template, you can share your work without worrying about the costs associated with non-workspace users running your Devbox. +Once a Devbox is in a template state, it cannot be edited. If you want to continue making changes to the Devbox, you will need to switch it back out of template mode. + +## VM settings + +Each workspace has a range of VM sizes to choose from. The range of options varies depending on the subscription tier of the workspace. +By default, all Devboxes and repositories will run on [Micro](/learn/credit-usage/credits). The default VM size can be changed on the VM [settings page](codesandbox.io/t/vm_settings) in the workspace portal. + +![VM settings page](../images/vm-settings.png) + +Individual Devboxes or repositories can be set to run on VMs other than the default. +To set the VM of a Devbox or repositority, you can create a rule. This helps ensure that heavy compute projects get the power they need without increasing VM usage across the other projects. + +![VM Rule](../images/vm-rule.png) + + +## Spending limit +On-demand credits will never exceed the spending limit. +Once subscription credits are used, the VMs will start running on on-demand credits. These credits will be aggregated and added to the end-of-month invoice. + +Every Pro workspace is required to have a maximum spending limit to ensure that there are no surprise bills at the end of the billing cycle. +The spending limit is initially set during the Pro subscription check-out flow. Workspace admins can adjust this spending limit in the workspace portal at any time. + +Once the on-demand credits hit that limit, all Devboxes and Repositories will enter a [frozen state](/learn/plans/pricing-faq#my-devbox-is-frozen-what-does-that-mean) until more credits have been added or the next billing cycle begins. \ No newline at end of file diff --git a/packages/projects-docs/pages/learn/credit-usage/credits.mdx b/packages/projects-docs/pages/learn/credit-usage/credits.mdx new file mode 100644 index 00000000..99f5c359 --- /dev/null +++ b/packages/projects-docs/pages/learn/credit-usage/credits.mdx @@ -0,0 +1,44 @@ +--- +title: Credits +description: Learn more about how CodeSandbox uses credits for usage-based billing. +--- + +import { Callout } from 'nextra-theme-docs' + +# Credits + +Credits serve as the unit of measurement for VM runtime. They simplify understanding and managing the costs of running your Devboxes and Repositories. One credit equates to a specific amount of resources used per hour, which ensures clarity and transparency in your billing. + +| VM size | Credits / hour | Cost / hour | CPU | RAM | +| ------ | -------------- | ----------- | -------- | ------ | +| Nano | 10 credits | $0.18 | 2 cores | 4 GB | +| Micro | 20 credits | $0.36 | 4 cores | 8 GB | +| Small | 40 credits | $0.72 | 8 cores | 16 GB | +| Medium | 80 credits | $1.44 | 16 cores | 32 GB | +| Large | 160 credits | $2.88 | 32 cores | 64 GB | +| XLarge | 320 credits | $5.76 | 64 cores | 128 GB | + + +Sandboxes do not run on VMs, so any time spent on a Sandbox will not count toward your credit spend. + + +## Types of credits + +### Subscription credits +Subscription credits are allocated monthly credits per workspace according to the subscription plan. A workspace on the free plan gets 400 credits per month. The Pro plan has a base of 1000 credits a month, but more can be purchased with credit add-ons. + + +Unused credits do not roll over month-to-month. + + +### On-demand credits +Once subscription credits have been used, VM usage will begin running on on-demand credits. These credits will be tracked and billed at the end of the billing cycle. +On-demand credits are not subject to discount and are billed at a standard $0.18 per hour. + +To prevent unexpected bills due to unusually high on-demand credit usage, every Pro workspace is required to set a [spending limit](/learn/credit-usage/controlling-usage#spending-limit). + + + + + + diff --git a/packages/projects-docs/pages/learn/credit-usage/monitoring-usage.mdx b/packages/projects-docs/pages/learn/credit-usage/monitoring-usage.mdx new file mode 100644 index 00000000..2299cfd4 --- /dev/null +++ b/packages/projects-docs/pages/learn/credit-usage/monitoring-usage.mdx @@ -0,0 +1,23 @@ +--- +title: Monitoring VM Usage +description: How to have visibility over how VMs are being used in your CodeSandbox workspace. +--- + +import { Callout } from 'nextra-theme-docs' + +# Monitoring usage + +VM usage is reported in the workspace portal under the [virtual machine usage tab](https://codesandbox.io/t/usage). +In this view, you can find information about the workspace credit spend during the current cycle as well as logs from each session. + +![VM Rule](../images/vm-usage.png) + +## Understanding VM starts and stops + +There are two different ways to wake up a VM: +- Through user interaction, such as spinning up a repository branch in the editor. +- Through automated jobs like making an HTTP wake-up call to start up a preview. + +These job-related starts usually add up to a few minutes of VM time in a billing cycle. They are accounted for in the VM usage logs in the workspace portal. + +CodeSandbox automatically uses hibernation timeouts to conserve VM use. If a VM has not had any interactivity for 30 minutes, it will hibernate until woken up again. diff --git a/packages/projects-docs/pages/learn/devboxes/_meta.json b/packages/projects-docs/pages/learn/devboxes/_meta.json index 18ce30e2..50b1b32e 100644 --- a/packages/projects-docs/pages/learn/devboxes/_meta.json +++ b/packages/projects-docs/pages/learn/devboxes/_meta.json @@ -1,6 +1,6 @@ { "overview": "Overview", - "your-first-sandbox": "First-Time Setup", + "your-first-sandbox": "Getting Started", "embedding": "Embedding", "secrets": { "title": "Secrets", diff --git a/packages/projects-docs/pages/learn/devboxes/editors.mdx b/packages/projects-docs/pages/learn/devboxes/editors.mdx deleted file mode 100644 index c56f722c..00000000 --- a/packages/projects-docs/pages/learn/devboxes/editors.mdx +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Editors -description: ---- - -import { Tabs, WrapContent } from '../../../../../shared-components/Tabs' -import { Callout } from 'nextra-theme-docs' -import Video from '../../../../../shared-components/Video' - - -# Editors - -CodeSandbox offers two different development environments: a browser-based Sandbox and cloud-based Devbox. - - - -Devboxes run inside a Firecracker MicroVM and use memory snapshotting to ensure fast fork time and wake-up time. They can run anything that you would be able to run in your local environment, including Docker containers. You can learn more about how they work in our [blog post](https://codesandbox.io/blog/how-we-clone-a-running-vm-in-2-seconds). - -Devboxes are best used to run backend services, compiled languages and things like databases. - -The Devbox editor contains a set of features to increase the accessibility of complex tools like git, setup, review flows, contributions, and visualizing components. - - - - Sandboxes run fully in the browser, and are especially useful to run frontend JavaScript/TypeScript frameworks. If you would like to run backend services or databases, check Devboxes. - - - \ No newline at end of file diff --git a/packages/projects-docs/pages/learn/devboxes/overview.mdx b/packages/projects-docs/pages/learn/devboxes/overview.mdx index a446719c..b6140b21 100644 --- a/packages/projects-docs/pages/learn/devboxes/overview.mdx +++ b/packages/projects-docs/pages/learn/devboxes/overview.mdx @@ -8,11 +8,11 @@ import { Callout } from 'nextra-theme-docs' # CodeSandbox Devboxes -CodeSandbox provides two development environments that are ideal for prototyping and rapid web development: [Devboxes](/learn/devboxes/overview) (which run in a microVM) and [Sandboxes](/learn/sandboxes/templates) (which run using browser resources). +CodeSandbox provides two development environments that are ideal for prototyping and rapid web development: [Devboxes](/learn/devboxes/overview) (which run in a virtual machine (VM)) and [Sandboxes](/learn/sandboxes/templates) (which run using browser resources). We generally recommend using Devboxes, which provide all the tooling needed for building prototypes. Sandboxes are mostly useful as a playground for basic front-end JavaScript projects. -Previously known as Cloud Sandboxes, Devboxes are a great way to work on any type of project, regardless of its language or size. Devboxes run [microVMs](/learn/environment/vm) and leverage our memory snapshotting to spin up an environment in 1.5 seconds. They have built-in [Docker support](/learn/environment/docker) and include several valuable features, such as [AI](/learn/ai/overview), collaborative [Terminals](/learn/repositories/terminal), [Tasks](/learn/repositories/task), and [VS Code integration](/learn/getting-started/setting-up-vscode). +Previously known as Cloud Sandboxes, Devboxes are a great way to work on any type of project, regardless of its language or size. Devboxes run [VMs](/learn/environment/vm) and leverage our memory snapshotting to spin up an environment in 1.5 seconds. They have built-in [Docker support](/learn/environment/docker) and include several valuable features, such as [AI](/learn/ai/overview), collaborative [Terminals](/learn/repositories/terminal), [Tasks](/learn/repositories/task), and [VS Code integration](/learn/getting-started/setting-up-vscode). Devboxes are built for scale. Our Free plan includes generous VM specs but you can easily [start a Pro trial](https://codesandbox.io/pro) to improve them. @@ -26,14 +26,14 @@ To create a new Devbox, you can clone a template from our ["Create Devbox"](http ## What is a Devbox? -Unlike Sandboxes that run on your browser, Devboxes run on our [microVMs](/learn/environment/vm). +Unlike Sandboxes that run on your browser, Devboxes run on our [VMs](/learn/environment/vm). Devboxes are great for prototyping any type of project in any programming language. They can run both backend and front-end services. - You can learn more about the editor and the unique functionalities of the cloud developer environment in [Repositories](/learn/repositories/overview). + You can learn more about the editor and the unique functionalities of the cloud developer environment in [repositories](/learn/repositories/overview). Like Sandboxes, Devboxes are free to use. - Devboxes run on microVMs, which brings two features that make them great for prototyping: + Devboxes run on VMs, which brings two features that make them great for prototyping: 1. Fast cloning. You can fork Devbox [within 2 seconds](https://codesandbox.io/blog/how-we-clone-a-running-vm-in-2-seconds) and continue with an exact clone of the microVM. This way, you can quickly test multiple approaches to your prototype. 2. Instant resume. When you connect to a Devbox, it will wake up within 1 second and continue with your running dev server. This way, you can quickly continue prototyping. diff --git a/packages/projects-docs/pages/learn/environment/vm.mdx b/packages/projects-docs/pages/learn/environment/vm.mdx index 7c9befb0..3bab89fe 100644 --- a/packages/projects-docs/pages/learn/environment/vm.mdx +++ b/packages/projects-docs/pages/learn/environment/vm.mdx @@ -7,27 +7,32 @@ import { Callout } from 'nextra-theme-docs' # Environment -CodeSandbox Repositories and Devboxes run on [microVM technology](https://codesandbox.io/blog/how-we-clone-a-running-vm-in-2-seconds). Each branch and Devbox gets its own microVM and their resources (shown below) are set to each one of these instances. +CodeSandbox repositories and Devboxes run on [virtual machines](https://codesandbox.io/blog/how-we-clone-a-running-vm-in-2-seconds). Each branch and Devbox gets its own virtual machine (VM). The size of the VM depends on the settings configured in the [workspace portal](https://codesandbox.io/t/vm_settings). +VM resource consist of vCPU, RAM and memory. The vCPU and RAM specs are grouped in VM tiers of various sizes. However, the memory is set according to the subscription. -## Default resources +| VM size | CPU | RAM | +| ------ | -------- | ------ | +| Nano | 2 cores | 4 GB | +| Micro | 4 cores | 8 GB | +| Small | 8 cores | 16 GB | +| Medium | 16 cores | 32 GB | +| Large | 32 cores | 64 GB | +| XLarge | 64 cores | 128 GB | -Based on our analysis of usual resource needs, we have defined these resources as default: -| Type | Limit | -| ------- | ------- | -| CPU | 2 vCPUs | -| Memory | 2Gi | -| Storage | 6Gi | +| Subscription | Memory | +| ------ | --------- | +| Free | 20 GB | +| Pro | 50 GB | -But we can go higher, up to 32vCPUs, 64GB memory and 256GB storage. To upgrade to higher specs, you can ugrade to one of our [Pro plans](https://codesandbox.io/pro). -If you require specs that go beyond our Pro plan defaults, [get in touch](mailto:support@codesandbox.io) and our team will adjust the limits to suit your project. +If you require storage that goes beyond our Pro plan defaults, [get in touch](mailto:support@codesandbox.io) and our team will adjust the limits to suit your project. ## Memory snapshotting One of the most unique aspects of our environments is the use of a technique called memory snapshotting. -When we hibernate a microVM, we pause it and save its memory to disk. When you come back, we resume the VM from that memory snapshot in about 1.5 seconds. So for you, it will look as if the VM was never stopped at all! You can learn more about how we use memory snapshotting in [this blog post](https://codesandbox.io/blog/how-we-clone-a-running-vm-in-2-seconds). +When we hibernate a VM, we pause it and save its memory to disk. When you come back, we resume the VM from that memory snapshot in about 1.5 seconds. So for you, it will look as if the VM was never stopped at all! You can learn more about how we use memory snapshotting in [this blog post](https://codesandbox.io/blog/how-we-clone-a-running-vm-in-2-seconds). Note that, the first time you import a project to CodeSandbox, it can take longer to start. However, every subsequent start will resume from memory–so, the real-world experience on a day-to-day scenario will be spinning up an environment in 1.5 seconds. diff --git a/packages/projects-docs/pages/learn/images/permissions.png b/packages/projects-docs/pages/learn/images/permissions.png new file mode 100644 index 00000000..6a6d66cc Binary files /dev/null and b/packages/projects-docs/pages/learn/images/permissions.png differ diff --git a/packages/projects-docs/pages/learn/images/vm-rule.png b/packages/projects-docs/pages/learn/images/vm-rule.png new file mode 100644 index 00000000..21ba7482 Binary files /dev/null and b/packages/projects-docs/pages/learn/images/vm-rule.png differ diff --git a/packages/projects-docs/pages/learn/images/vm-settings.png b/packages/projects-docs/pages/learn/images/vm-settings.png new file mode 100644 index 00000000..1d5e9903 Binary files /dev/null and b/packages/projects-docs/pages/learn/images/vm-settings.png differ diff --git a/packages/projects-docs/pages/learn/images/vm-usage.png b/packages/projects-docs/pages/learn/images/vm-usage.png new file mode 100644 index 00000000..d8c99e23 Binary files /dev/null and b/packages/projects-docs/pages/learn/images/vm-usage.png differ diff --git a/packages/projects-docs/pages/learn/legacy-sandboxes/_meta.json b/packages/projects-docs/pages/learn/legacy-sandboxes/_meta.json index a47b321b..3ef33842 100644 --- a/packages/projects-docs/pages/learn/legacy-sandboxes/_meta.json +++ b/packages/projects-docs/pages/learn/legacy-sandboxes/_meta.json @@ -5,5 +5,6 @@ "embedding": "Embedding", "secrets": "Secrets", "file-upload": "File Upload", - "test": "Tests" + "test": "Tests", + "preferences": "Preferences" } diff --git a/packages/projects-docs/pages/learn/plans/preferences.mdx b/packages/projects-docs/pages/learn/legacy-sandboxes/preferences.mdx similarity index 100% rename from packages/projects-docs/pages/learn/plans/preferences.mdx rename to packages/projects-docs/pages/learn/legacy-sandboxes/preferences.mdx diff --git a/packages/projects-docs/pages/learn/plans/_meta.json b/packages/projects-docs/pages/learn/plans/_meta.json index c70500f1..d99079b2 100644 --- a/packages/projects-docs/pages/learn/plans/_meta.json +++ b/packages/projects-docs/pages/learn/plans/_meta.json @@ -1,10 +1,6 @@ { - "plan-overview": "Choosing a plan", - "workspace": "Workspaces", - "pricing-faq": "Pricing FAQ", - "permissions": "User permissions", - "preferences": "Preferences", - "trials": "Trials", - "ubb": "Usage-based billing", - "codesandbox-friends": "CodeSandbox Friends" + "usage-based-billing": "Usage-based Billing", + "plans": "Plans", + "codesandbox-friends": "CodeSandbox Friends", + "pricing-faq": "FAQ" } diff --git a/packages/projects-docs/pages/learn/plans/plan-overview.mdx b/packages/projects-docs/pages/learn/plans/plan-overview.mdx deleted file mode 100644 index 1037ae37..00000000 --- a/packages/projects-docs/pages/learn/plans/plan-overview.mdx +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Team and access management -description: Manage your teams and control access to your workspace inside CodeSandbox Repositories ---- - -import { Callout } from 'nextra-theme-docs' - -# Plans - -## Free - -Free workspaces are a great way to get started with CodeSandbox. By simply creating an account and opening a workspace, you can create any public sandbox or import any public repository. -Additionally, you may invite others to join the workspace so that you can collaborate on sandboxes or repositories. -If at any time you need access to private sandboxes or repos, or are in need of higher VMs, a trial provides access to 2 weeks of free access to Pro. - -## Pro - -Pro offers unlimited collaboration, unlimited sandboxes and repositories (both private and public), higher VM specs and [much more](https://codesandbox.io/pricing). - -### Creating a new Pro workspace - -1. Go to the [Dashboard](https://codesandbox.io/dashboard). -2. Open the workspace selector and click on the `Create a Pro workspace` button at the bottom. -3. Select `Start Trial` or `Create a Pro workspace` depending on your eligibility for a trial. -4. Choose a **workspace name**. -5. Add **members** by inviting them via email or searching for their CodeSandbox username. - -![Manage your team](../images/teams-new.png) - -### Add or remove people from a workspace - -1. Go to the [Dashboard](https://codesandbox.io/dashboard). -1. In the top left corner, select the **team** you'd like to edit in the dropdown. -1. Click on the **settings** icon next to the team. -1. Add or remove people through the **Members** section by inviting them via email or searching for their CodeSandbox username. diff --git a/packages/projects-docs/pages/learn/plans/plans.mdx b/packages/projects-docs/pages/learn/plans/plans.mdx new file mode 100644 index 00000000..e003416e --- /dev/null +++ b/packages/projects-docs/pages/learn/plans/plans.mdx @@ -0,0 +1,42 @@ +--- +title: Plans +description: Learn about the different pricing plan options for using CodeSandbox. +--- + +import { Callout } from 'nextra-theme-docs' + +# Plans + + +## Free +Our Free tier is designed to make it very easy to start using CodeSandbox. +Every Free workspace gets 400 free monthly [credits](/learn/credit-usage/credits), providing a great option for hobbyists to run a small side project. For example, it's enough to develop a small React web app for 40 hours per month on a Nano VM. +The Free tier is also a good option for anyone wanting to evaluate how much VM usage they need before upgrading to a plan with more credits. + + +Sandboxes do not run on VMs, so any time spent on a Sandbox will not count toward your credit spend. + + +Note that if the free credits run out before the end of the billing cycle, all Devboxes and Repositories will enter into a [frozen state](#my-devbox-is-frozen-what-does-that-mean). + +In addition to the monthly free credits, the Free tier also provides access to 20 Sandboxes for the entire workspace and an additional 10 personal Sandbox drafts per workspace member. +Unlike Devboxes and repositories, Sandboxes do not run on credits. Instead, there are multiple options for accessing Sandboxes at a flat rate. This is described more in the following section. + +## Pro +Pro provides access to a higher baseline of usage as well as the option to customize your subscription with [add-ons](#addons) and [on-demand credits](/learn/credit-usage/credits#on-demand-credits). + +The Pro tier is ideal for professional development in the cloud, specifically for software development teams that want to achieve increased productivity and collaboration using the CodeSandbox cloud development environment. + +Typically, the Pro tier is recommended when: +- You need more than 5 members in your workspace. +- You expect your total monthly workspace usage to exceed 40 hours of VM runtime. +- You need additional VM storage (per each individual Devbox and Repository branch). +- You want access to higher VM specs. +- You want access to more Sandboxes and unlimited personal Sandbox drafts. + +The complete details of the Free and Pro plans can be found in our [Pricing](/pricing) page. + +### Add-ons +The Pro plan can be extended with add-ons, which allow you to customize your workspace to meet your unique needs. There is a range of add-ons for both credits and Sandboxes with savings included for bulk purchases. + +Specific add-on details can be found in our [Pricing](/pricing) page. \ No newline at end of file diff --git a/packages/projects-docs/pages/learn/plans/pricing-faq.mdx b/packages/projects-docs/pages/learn/plans/pricing-faq.mdx index bb19eb10..87887d2d 100644 --- a/packages/projects-docs/pages/learn/plans/pricing-faq.mdx +++ b/packages/projects-docs/pages/learn/plans/pricing-faq.mdx @@ -1,33 +1,71 @@ --- title: Pricing FAQs -description: +description: Explore frequent questions about the CodeSandbox pricing model. --- import { Callout } from 'nextra-theme-docs' # Pricing FAQs -## Can I purchase more than one seat at a time? -Yes, bulk purchasing of seats is possible on annual subscriptions. -If you are creating a workspace for the first time, select `Custom upgrade` from the button dropdown. -![Custom upgrade](../images/subscribe-prepurchase.png) +### How do I know how many credits I need? -This will take you to a checkout page where you can set the number of workspace members you would like to allot to the workspace. +Credit use depends on the time spent on a VM and the type of VM a project runs on. For example, a single developer working on a small react prototype for 40 hours on a Nano VM might use around 400 credits. However, a team of three developers building a full-stack web app might benefit from the added performance of Mirco VM. If this team uses a total of 60 hours of VM runtime, that will be 1200 credits. Meanwhile, a Rust application requires higher compute for a good experience, so a single developer working for 10 hours on a Small VM would accrue 400 credits. -If you have already created a workspace, you can find the same option available on the [workspace settings](/learn/introduction/workspace#managing-teams-and-subscriptions) page. -![Custom upgrade from the workspace settings](../images/pre-purchase-seats-team-settings.png) +### Do credits apply to Sandbox use? -And you can also find this option on the [Pro page](https://codesandbox.io/pro?team) as shown below. -![Custom upgrade from Pro page](../images/pre-purchase-seats-pro-page.png) +No. Credits are used to measure VM use. Sandboxes run in the browser and therefore don't require VMs, making them free to use. -## Can I try a Pro subscription before I commit? -Yes. Trials are available for Pro. You can learn more on our [Trials page](/learn/plan-billing/trials). +### Can I always use CodeSandbox for free? -## Can I switch my billing to annual or monthly after I subscribe? -When you sign up for a subscription, you can choose between monthly and annual billing. If you select one and are unhappy with your choice, you will have the option to change it at the start of the next billing cycle. Please contact [support](mailto:support@codesandbox.io) to make this request. +Yes, Free plans never expire. -## Can I sign up for a trial without adding my credit card information? -No, if you wish to get started with a Pro trial you will need to enter credit card details. These details may be switched out for different details at later date, if needed. +### Is it possible to change my subscription? + +Yes, you can upgrade or downgrade your plan at any time. + +### What if I need private projects? + +Private Sandboxes, Devboxes and repositories are available on all subscription tiers, including the Free tier. + +### My Devbox or repository is frozen. What does that mean? +The VM will become frozen if the workspace does not have enough available credits to run a VM. You may encounter a frozen state if: +- you are on a Free workspace and have run out of credits; +- you are on a Pro workspace but your credit spend has hit the spending limit. + +To get out of the frozen state, you can either [upgrade](/upgrade) to Pro (if you are on Free) or adjust your spending limit. Otherwise, you must wait until the start of the next billing cycle for your credits to renew. + +### The Sandbox that I want to use is restricted. What do I do? +If you have Sandboxes over the limit of your subscription, you can regain access to the Sandboxes in two ways: +- by upgrading your workspace to Pro; +- by converting your Sandbox to a Devbox (all plans include unlimited Devboxes). + +### How much does a credit cost? + +Credits are priced at $0.018 each. You can conveniently purchase them as add-ons to your base package, starting at $9 for a bundle of 500 credits. Discounts are available for packages with more credits. + +### How can I add more credits, Sandboxes or storage? + +Adding more credits is a breeze. Head over to your subscription settings in your account and navigate to billing. You'll find the option to add or upgrade your plan effortlessly. + +### What is the difference between subscription credits and add-on credits? + +Subscription credits are a monthly allocation that comes bundled with your base plan. On the other hand, add-on credits are available for purchase at any time, don't renew automatically, and remain accessible until you've used them all. + +### Can I add a repository to multiple workspaces? + +Repositories can only be added to one workspace at a time. Please note that there is a 30-day pause on moving repositories to different workspaces to prevent misuse of the platform. + +### Can I get more than 20 members? + +Absolutely! Explore our [enterprise](/enterprise) plan, which offers unlimited members. + +### How can I get a refund or cancel my subscription? + +**Canceling Plans**: While we may have to bid farewell, you may need to cancel your subscription at some point. Your subscription is linked to your workspace. If you have multiple workspaces with subscriptions, you'll need to cancel them individually. Charges will cease after the current billing cycle once all subscriptions are canceled via the billing page of each workspace. + +**Refunds**: We typically do not offer refunds. However, users in the EU or Turkey can request a refund within 14 days of their initial purchase. Please note that the refund option is no longer available if you've used up to 50 credits after your Pro subscription or add-on. + +### Can I keep my legacy per-user Pro plan? + +Absolutely! To ensure a smooth transition, your current plan will continue to operate until May 31st, 2024. If you wish to upgrade, follow the straightforward guide in the billing section of your account. -## Why can't I see my subscription information on my workspace settings page? -Only workspace admins have access to subscription details and the option to manage a subscription. Non-admins (workspace members with editor and viewer roles) will not see the same options on the workspace settings page. \ No newline at end of file diff --git a/packages/projects-docs/pages/learn/plans/trials.mdx b/packages/projects-docs/pages/learn/plans/trials.mdx deleted file mode 100644 index b1ca3aa4..00000000 --- a/packages/projects-docs/pages/learn/plans/trials.mdx +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Trials -description: ---- - -import { Callout } from 'nextra-theme-docs' - -# Trials - - -Trials provide a way for teams to try out a Pro subscription before committing to a plan. If you are curious about the impact of increased VM specs or want to test out collaboration with more of your team members, a Pro trial is the perfect way to go. - -## About Trials - -When you sign up for a trial, you are starting a Pro subscription with a 14-day free test period. - -Only workspace admins have permission to start a trial. Trial-related notifications and actions are customized to the role of the user. Non-admins may see notifications to upgrade to Pro for more options, but only users with an admin role will be able to start or cancel a trial or subscription. -As soon as the admin has completed the Stripe registration for a trial, all the Pro features will become available to the team. - -You can view the full list of Pro features on our [Pricing page](https://codesandbox.io/pricing). - -## Getting the most out of the trial -Each team has different needs and use cases. By starting a trial, team members can experience all the Team Pro features and determine what best facilitates their work. - -Below, you can find out more about the Pro features our users appreciate the most. - -### Increased editor seats -By adding your team members to CodeSandbox, you can experience the possibilities of CodeSandbox collaboration without compromise. - -This means that you can simply share the link of a PR or branch with anyone from your workspace to get timely feedback and shorten the review cycle. - -### More VM specs -Our Pro trial allows teams to work with higher VM specs, thereby reducing potential frustration with speed or memory limits. This is especially important when you are working with more complex codebases. - -### Access to private repositories -If you are working on a private project, the best way to evaluate if Pro is right for you is to import that private repo (or create a private sandbox) and work on it using CodeSandbox. - -Importing private repositories is fast and secure and allows your team to accelerate how they code and review in an everyday context. - -## End of trial - -If at the end of the trial you decide Pro isn't right for you, it's no sweat. That is what trials are for. - -As the team draws close to the end of the trial period, everyone will see notifications letting them know that the trial will end soon. Admins will see this as well as a call to action to 'Manage Subscription', where they will have the chance to end the trial if they desire. - -Once the trial has been canceled, the works will become inactive. This measn that all sandboxes and repositories will be restricted to read-only. - -However, if the trial is not ended, billing for the Pro subscription will start right after so that the team can keep on working without interruption. Don't worry, admins will get an email notification in advance of this as well. - -### Changes after canceling a subscription -Collaboration is limited to Pro workspaces. Once a Pro workspace subscription has been canceled, all members will lose write access to sandboxes and repositories in the workspace. -Depending on permissions for a sandbox, members may move sandboxes to other workspaces. -Once the workspace is reactivated, all the sandboxes and repositories will become active again. \ No newline at end of file diff --git a/packages/projects-docs/pages/learn/plans/ubb.mdx b/packages/projects-docs/pages/learn/plans/ubb.mdx deleted file mode 100644 index 98d28c77..00000000 --- a/packages/projects-docs/pages/learn/plans/ubb.mdx +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: Beta Usage-Based Billing -description: Overview of the CodeSandbox Usage-Based Billing model. ---- - -# Usage-based billing - -Our usage-based billing system is designed to provide a flexible and cost-effective approach to managing your workspace. It's based on a credit system, where credits translate virtual machine (VM) runtime per hour into precise costs. - -## Key components -### Virtual Machines -Our Devboxes and Repositories run on VMs, which allow you to develop, review and preview your software projects. As such, VMs are the backbone of our usage measurement. - -### Credits - -Credits serve as the unit of measurement for VM runtime. They simplify understanding and managing the costs of running your Devboxes and Repositories. One credit equates to a specific amount of resources used per hour, which ensures clarity and transparency in your billing. - -There are three types of credits: - -**Subscription credits:** the allocation of monthly credits provided to a workspace according to the subscription tier. Unused credits do not roll over month-to-month. - -**On-demand credits**: credits that are automatically billed to the user once the subscription credits have been used. - -**Purchased credits**: credits that can be purchased at any time. These credits are available in packages of 500 credits and will be invoiced separately from the subscription. Purchased credits do not expire. - -| VM size | Credits / hour | Cost / hour | CPU | RAM | -| ------ | -------------- | ----------- | -------- | ------ | -| Nano | 10 credits | $0.18 | 2 cores | 4 GB | -| Micro | 20 credits | $0.36 | 4 cores | 8 GB | -| Small | 40 credits | $0.72 | 8 cores | 16 GB | -| Medium | 80 credits | $1.44 | 16 cores | 32 GB | -| Large | 160 credits | $2.88 | 32 cores | 64 GB | -| XLarge | 320 credits | $5.76 | 64 cores | 128 GB | - -### Storage -Each subscription tier has a specific storage limit. The storage refers to the VM disk space limit of _each_ Devbox or Repository branch running in that workspace. -For example, the Free tier includes 30 GB of storage. So, every Devbox or Repository branch running on a VM will have 30 GB of storage. -If the storage included in your subscription tier isn't enough, you can upgrade to a higher tier of Pro or purchase a storage [add-on](#add-ons). - -## Pricing -### Free tier -Our Free tier is designed to make it very easy to start using CodeSandbox. Every Free workspace gets 400 free monthly credits, providing a great option for hobbyists to run a small side project. For example, it's enough to develop a small React web app for 40 hours per month on a Nano VM. - -The Free tier is also a good option for anyone wanting to evaluate how much VM usage they need before upgrading to a plan with more credits. - -Note that if the free credits run out before the end of the billing cycle, all Devboxes and Repositories will enter into a [frozen state](#my-devbox-is-frozen-what-does-that-mean). - -### Pro tiers -There are several Pro tiers to choose from. Every Pro tier includes subscription credits. The higher the tier, the more you save on these credits. Once these credits are used, the VMs will start running on `on-demand` credits. These credits will be aggregated and added to the end-of-month invoice. - -To prevent any surprise expenses, each workspace is required to set a max-spend limit. Once the on-demand credits hit that limit, all Devboxes and Repositories will enter a [frozen state](#my-devbox-is-frozen-what-does-that-mean) until more credits have been added or the next billing cycle begins. - -### Sandboxes -Sandboxes do not run on VMs, so any time spent on a Sandbox will not count toward your credit spend. -However, every subscription tier has a Sandbox limit. If you want access to more Sandboxes, you can upgrade to a higher tier of Pro or purchase a Sandbox add-on. - -### Add-ons -Add-ons allow you to customize your workspace to meet your unique needs. If, for example, you want more Sandboxes but don't want to upgrade your subscription, you can purchase more through the add-ons. - -The following add-ons are available: - -| Add-on | Cost / month | -| ------ | -------------- | -| 50 extra Sandboxes | $9 | -| 20 GB additional storage | $12 | - -### Old pricing plans -Starting Jan 30th, 2023, all new and existing Free workspaces will transition to usage-based billing. Existing Pro workspaces may opt to switch to usage-based billing but will not be required to do so for the time being. - - - -## FAQs -### My Devbox is frozen. What does that mean? -The VM will become frozen if the workspace does not have enough available credits to run a VM. You may encounter a frozen state if: -- you are on a Free workspace and you have run out of credits; -- you are on a Pro workspace but your credit spend has hit the spending limit. - -To get out of the frozen state, you can either upgrade to Pro (if you are on Free) or adjust your spending limit. Otherwise, you must wait until the start of the next billing cycle for your credits to renew. - -### The Sandbox that I want to use is restricted. What do I do? -If you have Sandboxes over the limit of your subscription, you have two choices. You can regain access to the Sandboxes in two ways: -- by upgrading your workspace to Pro; -- by converting your Sandbox to a Devbox (all plans include unlimited Devboxes). \ No newline at end of file diff --git a/packages/projects-docs/pages/learn/plans/usage-based-billing.mdx b/packages/projects-docs/pages/learn/plans/usage-based-billing.mdx new file mode 100644 index 00000000..9a3ab655 --- /dev/null +++ b/packages/projects-docs/pages/learn/plans/usage-based-billing.mdx @@ -0,0 +1,28 @@ +--- +title: Usage-based Billing +description: Learn more about our usage-based billing system and how VM credits work. +--- + +import { Callout } from 'nextra-theme-docs' + +# Usage-based Billing + +Our usage-based billing system is designed to provide a flexible and cost-effective approach to managing your workspace and using our Devboxes and Repositories. It's based on a credit system, where credits translate virtual machine (VM) runtime per hour into precise costs. + +## Key components +### Virtual Machines +Our Devboxes and Repositories run on VMs, which allow you to develop, review and preview your software projects. As such, VMs are the backbone of our usage measurement. + +### Credits + +Credits serve as the unit of measurement for VM runtime. They simplify understanding and managing the costs of running your Devboxes and Repositories. One credit equates to a specific amount of resources used per hour, which ensures clarity and transparency in your billing. +More details can be found [here](/learn/credit-usage/credits). + +### Storage +Each subscription tier has a specific storage limit. The storage refers to the VM disk space limit of _each_ Devbox or Repository branch running in that workspace. +For example, the Free tier includes 20 GB of storage. So, every Devbox or Repository branch running on a VM will have 20 GB of storage. +If the storage included in your subscription tier isn't enough, you can upgrade to a higher tier of Pro. + + + +Further details on how usage-based billing is used in our pricing can be found on the [Plans](/learn/plans/plans) page. \ No newline at end of file diff --git a/packages/projects-docs/pages/learn/sandboxes/_meta.json b/packages/projects-docs/pages/learn/sandboxes/_meta.json index d8d7235d..5f791fd4 100644 --- a/packages/projects-docs/pages/learn/sandboxes/_meta.json +++ b/packages/projects-docs/pages/learn/sandboxes/_meta.json @@ -1,5 +1,6 @@ { "editor-features": "Editor Features", + "drafts": "Drafts", "templates": "Templates", "cli-api": "CLI & API", "embedding": "Embedding", diff --git a/packages/projects-docs/pages/learn/sandboxes/custom-npm-registry.mdx b/packages/projects-docs/pages/learn/sandboxes/custom-npm-registry.mdx index 3c724755..dab7c099 100644 --- a/packages/projects-docs/pages/learn/sandboxes/custom-npm-registry.mdx +++ b/packages/projects-docs/pages/learn/sandboxes/custom-npm-registry.mdx @@ -9,11 +9,13 @@ import { Callout } from 'nextra-theme-docs' # Using a Custom NPM Registry -The custom private npm registry setting makes it possible for sandboxes in your -team settings to retrieve npm packages from your own npm registry. This setting -is available for all Team Pro accounts, you can access the settings +The custom private npm registry setting makes it possible for Sandboxes in your +workspace portal to retrieve npm packages from your own npm registry. You can access the settings [here](https://codesandbox.io/dashboard/settings/npm-registry). + +This setting is only available on enterprise plans. + ## Configuration You can configure your private npm registry in your diff --git a/packages/projects-docs/pages/learn/sandboxes/drafts.mdx b/packages/projects-docs/pages/learn/sandboxes/drafts.mdx new file mode 100644 index 00000000..ee691675 --- /dev/null +++ b/packages/projects-docs/pages/learn/sandboxes/drafts.mdx @@ -0,0 +1,16 @@ +--- +title: Drafts +description: How CodeSandbox personal Sandbox drafts work. +--- + +# Drafts +Workspace members have access to a personal Sandbox drafts section in every workspace to which they belong. Drafts are intended to provide a private space to test ideas before sharing them with the workspace. + +All drafts are private and only editable by their creator. Once a draft is moved out of the drafts folder, it becomes editable by anyone in the workspace. + +## Subscriptions and limits +Members of Free workspaces can create up to 10 Sandbox drafts, while in Pro workspaces, every workspace member has access to an unlimited number. + +**Note**: +If you had more than 10 drafts in the drafts folder when the draft restrictions were put in place, all old drafts would be marked as `restricted`, meaning that they are `read-only` until their owner updates their privacy. +This ensures that any Sandboxes that have been shared via embeds do not break until the owner has time to move the Sandbox to a workspace folder where sharing is encouraged. \ No newline at end of file