diff --git a/README.md b/README.md index 7a58c9d84..22a7adf08 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,8 @@ Thanks goes to these wonderful people: + + diff --git a/assets/guides/coder-v2-dashboard.png b/assets/guides/coder-v2-dashboard.png new file mode 100644 index 000000000..623fdb0b5 Binary files /dev/null and b/assets/guides/coder-v2-dashboard.png differ diff --git a/guides/moving-to-oss.md b/guides/moving-to-oss.md index 04a6a716a..4159e8fc7 100644 --- a/guides/moving-to-oss.md +++ b/guides/moving-to-oss.md @@ -1,25 +1,26 @@ --- -title: "Moving to Coder OSS" -description: What you need to know about Coder OSS +title: "Moving to Coder v2" +description: What you need to know about Coder v2 --- -[Coder OSS](https://github.com/coder/coder) is Coder's open core remote -development platform first launched in June 2022. This document shares best -practices for moving your workflows from Coder v1 to Coder OSS. +Coder v2 is Coder's open core remote development platform first launched in June +2022. Coder v2 has an [open-source](https://github.com/coder/coder) "OSS" and an +[Enterprise paid edition](https://coder.com/docs/coder-oss/latest/enterprise). +This document shares best practices for moving your workflows from Coder v1 to +Coder v2. -![Coder OSS -Dashboard](https://raw.githubusercontent.com/coder/coder/main/docs/images/hero-image.png) +![Coder v2 +Dashboard](../assets/guides/coder-v2-dashboard.png) -> If you are current a Coder v1 customer and would like to try Coder OSS, -> [we'd like to hear from you](https://coder.com/contact) to help inform our -> roadmap and migration strategy. +> If you are current a Coder v1 customer and would like to try Coder v2, contact +> your account executive or [contact us](https://coder.com/contact). ## High-level concepts -Coder OSS introduces a number of new paradigms. We recommend reading the +Coder v2 introduces a number of new paradigms. We recommend reading the comparison table before you proceed. -| | Coder v1 | Coder OSS | +| | Coder v1 | Coder v2 | | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | | **Workspace** | Each user creates and develops on remote workspaces | Same as Coder v1 | | **Supported IDEs** | Web IDEs (code-server, Jupyter) + SSH-powered desktop IDEs (e.g. VS Code, JetBrains) | Same as Coder v1 | @@ -31,17 +32,17 @@ comparison table before you proceed. | **Architecture** | Control plane + PostgreSQL database + workspaces | Same as Coder v1 | Keep reading for an in-depth feature comparison. Also see the -[Coder OSS documentation](https://coder.com/docs/coder-oss/) +[Coder v2 documentation](https://coder.com/docs/coder-oss/) ## Migration Strategy -A separate control plane is necessary to run Coder OSS. A direct upgrade via -Helm is not possible since Coder OSS redefines some concepts (e.g. templates, +A separate control plane is necessary to run Coder v2. A direct upgrade via +Helm is not possible since Coder v2 redefines some concepts (e.g. templates, provisioners) and other features are still being developed (e.g. audit log, organization support). Short term, we recommend keeping your Coder v1 control plane and inviting a -pilot group to your Coder OSS control plane to reproduce their workflows and try +pilot group to your Coder v2 control plane to reproduce their workflows and try new features (e.g. Windows support, dynamic secrets, faster builds). ### Feature list key @@ -67,12 +68,12 @@ on a VM to avoid setting up a database, reverse proxy, and TLS. For production use, we recommend running Coder with an external PostgresSQL database and a reverse proxy for TLS. -- [Installing Coder OSS](https://coder.com/docs/coder-oss/latest/install) +- [Installing Coder v2](https://coder.com/docs/coder-oss/latest/install) -| | Coder v1 | Coder OSS | +| | Coder v1 | Coder v2 | | -------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | | Kubernetes | ✅ Helm chart | ✅ | -| Kubernetes (HA/multiple replicas) | ✅ | ⌛ [#3502](https://github.com/coder/coder/issues/3502) | +| Kubernetes (HA/multiple replicas) | ✅ | ✅ | | Docker control plane | ✅ | ✅ | | VM control plane | ❌ | ✅ | | Built-in PostgreSQL | ✅ | ✅ | @@ -82,31 +83,29 @@ database and a reverse proxy for TLS. | **Multi region/cloud (workspaces)** | ✅ [Workspace providers](https://coder.com/docs/coder/latest/admin/workspace-providers) support additional clusters. | ✅ [Templates](https://coder.com/docs/coder/latest/admin/templates) can provision resources in any clouds, clusters, or region | | **Multi region/cloud (tunnel/SSH)** | ✅ | ✅ | -Something missing, or have feedback? -[Let us know](https://coder.com/contact) ### CLI -Coder OSS uses a separate +Coder v2 uses a separate [command line utility](https://coder.com/docs/coder-oss/latest/install). To use -both CLIs on the same machine, you can install the Coder OSS CLI under a -different name (e.g. `codeross`): +both CLIs on the same machine, you can install the Coder v2 CLI under a +different name (e.g. `coderv2`): ```sh -curl -sL https://coder.com/install.sh | sh -s -- --method=standalone --binary-name=codeross > /dev/null +curl -sL https://coder.com/install.sh | sh -s -- --method=standalone --binary-name=coderv2 > /dev/null # Coder v1 CLI coder workspaces list -# Coder OSS CLI -codeross list +# Coder v2 CLI +coderv2 list ``` ### Users Like Coder v1, you can [enable SSO via OpenID Connect](https://coder.com/docs/coder-oss/latest/install/auth#step-2-configure-coder-with-the-openid-connect-credentials) -so that any user in your federation can log in. Coder OSS optionally supports +so that any user in your federation can log in. Coder v2 optionally supports [GitHub (Enterprise)](https://coder.com/docs/coder-oss/latest/install/auth#step-1-configure-the-oauth-application-in-github) and [username/password](https://coder.com/docs/coder-oss/latest/users) authentication. @@ -114,53 +113,48 @@ authentication. > If you are interested in a bulk user and/or workspace migration utility, > [we'd like to hear from you](https://coder.com/contact). -| | Coder v1 | Coder OSS | +| | Coder v1 | Coder v2 | | ----------------- | -------- | ----------------------------------------------------------------------------------------------- | | Dotfiles | ✅ | Per-workspace [(dotfiles docs)](https://coder.com/docs/coder-oss/latest/dotfiles) | | Generated SSH key | ✅ | ✅ | | Default shell | ✅ | Per-workspace [(with parameters)](https://coder.com/docs/coder-oss/latest/templates#parameters) | | Auto-start times | ✅ | Per-workspace | -| Git OAuth | ✅ | SSH key only [(#3078)](https://github.com/coder/coder/issues/3078) | +| Git OAuth | ✅ | ✅ | -Something missing, or have feedback? -[Let us know](https://coder.com/contact) User-wide settings (e.g. shell, autostart times, dotfiles URL) are not currently -supported in Coder OSS [(#3506)](https://github.com/coder/coder/issues/3506). +supported in Coder v2 [(#3506)](https://github.com/coder/coder/issues/3506). ### Workspaces -> If you are interested in a bulk user and/or workspace migration utility, -> [we'd like to hear from you](https://coder.com/contact). - To migrate Coder v1 workspaces, you'll need at least one template in your Coder -OSS deployment, specifically with the image(s) you support in Coder v1. +v2 deployment, specifically with the image(s) you support in Coder v1. - Docs: [Adding templates](https://coder.com/docs/coder-oss/latest/templates) -We recommend manually creating a new workspace in Coder OSS and using a utility +We recommend manually creating a new workspace in Coder v2 and using a utility such as `scp` or `rsync` to copy the home directory from your v1 workspace. Inside a v1 workspace, run the following commands to: -1. Download the Coder OSS CLI -1. Create a Coder OSS workspace +1. Download the Coder v2 CLI +1. Create a Coder v2 workspace 1. rsync your files to the new workspace ```sh -# Download the Coder OSS CLI (alias "codeross") -curl -sL https://coder.com/install.sh | sh -s -- --method=standalone --binary-name=codeross > /dev/null +# Download the Coder v2 CLI (alias "coderv2") +curl -sL https://coder.com/install.sh | sh -s -- --method=standalone --binary-name=coderv2 > /dev/null -# Log in to the Coder OSS deployment (e.g. coder-v2.example.com) -codeross login https://coder-v2.example.com +# Log in to the Coder v2 deployment (e.g. coder-v2.example.com) +coderv2 login https://coder-v2.example.com # Create a workspace -codeross create +coderv2 create # Gain SSH access to v2 workspaces -codeross config-ssh -y +coderv2 config-ssh -y -# Copy your home directory into the new Coder OSS workspace +# Copy your home directory into the new Coder v2 workspace rsync \ --recursive \ --itemize-changes \ @@ -170,10 +164,10 @@ rsync \ $HOME/. coder.$CODER_WORKSPACE_NAME:/home/coder/. ``` -Some workspace-level features are different in Coder OSS. Refer to this +Some workspace-level features are different in Coder v2. Refer to this comparison: -| | Coder v1 | Coder OSS | +| | Coder v1 | Coder v2 | | -------------------------------------------------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------- | | **Kubernetes workspaces** | ✅ Hardcoded spec | ✅ Any spec via the [template](https://github.com/coder/coder/tree/main/examples/templates/kubernetes-multi-service) | | **Docker workspaces** | ✅ Hardcoded spec | ✅ Any spec via the Terraform [template](https://coder.com/docs/coder-oss/latest/templates) | @@ -188,15 +182,13 @@ comparison: | **Resource provisoning rates** | ✅ Organization wide | ✅ Template wide [(needs docs)](https://github.com/coder/coder/issues/3519) | | **Manage workspaces through UI and CLI** | ✅ | ✅ | -Something missing, or have feedback? -[Let us know](https://coder.com/contact) ### Developer experience Some developer experience features are different, or still being worked on in -Coder OSS. Refer to this table: +Coder v2. Refer to this table: -| | Coder v1 | Coder OSS | +| | Coder v1 | Coder v2 | | ------------------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | | **Auto-start workspace (schedule)** | ✅ | ✅ | | **Auto-start workspace (SSH or visit app)** | ❌ | 🤔 [#2909](https://github.com/coder/coder/issues/2909) | @@ -207,28 +199,26 @@ Coder OSS. Refer to this table: | **Custom workspace applications** | ✅ | ✅ Defined in [templates](https://coder.com/docs/coder-oss/latest/templates#coder-apps) | | **Access ports (SSH/tunnel)** | ✅ | ✅ | | **Access ports (web UI)** | ✅ [Dev URLs](https://coder.com/docs/coder/latest/workspaces/devurls) | ✅ | -| **Share ports (web UI)** | ✅ [Dev URLs](https://coder.com/docs/coder/latest/workspaces/devurls) | ⌛ [(#3515)](https://github.com/coder/coder/issues/3515) | +| **Share ports (web UI)** | ✅ [Dev URLs](https://coder.com/docs/coder/latest/workspaces/devurls) | ✅ | | **Docker in workspaces (Kubernetes)** | ✅ [CVMs](https://coder.com/docs/coder/latest/workspaces/cvms) | ✅ | | **Manage workspaces through UI and CLI** | ✅ | ✅ | | **Open in Coder button** | ✅ | 🤔 [(needs docs)](https://github.com/coder/coder/issues/3981) | -Something missing, or have feedback? -[Let us know](https://coder.com/contact) ### Enterprise/management -Some enterprise features are different, or still being worked on in Coder OSS. +Some enterprise features are different, or still being worked on in Coder v2. Refer to this table: -| | Coder v1 | Coder OSS | -| ----------------------- | ----------------- | ------------------------------------------------------------------------------------------- | -| **Auto-stop workspace** | ✅ Activity-based | ✅ Schedule-based & ⌛ Activity-based [(#2995)](https://github.com/coder/coder/issues/2995) | -| **Audit logging** | ✅ | ✅ | -| **Organizations** | ✅ | ✅ Groups & template permissions | -| **User metrics** | ✅ | Template-wide metrics [(needs docs)](https://github.com/coder/coder/issues/3980) | -| **Resource quotas** | ✅ | ✅ Max workspace limit | -| **SDK** | ❌ | ✅ [codersdk](https://github.com/coder/coder/tree/main/codersdk) | -| **REST API** | ✅ | 🤔 [(needs docs)](https://github.com/coder/coder/issues/3522) | - -Something missing, or have feedback? -[Let us know](https://coder.com/contact) +| | Coder v1 | Coder v2 | +| ------------------------------------ | ----------------- | ------------------------------------------------------------------------------------------- | +| **Auto-stop workspace** | ✅ Activity-based | ✅ Schedule-based & ✅ Activity-based ) | +| **Audit logging** | ✅ | ✅ | +| **Organizations** | ✅ | ✅ Groups & template permissions | +| **Workspace Proccess Logging** | ✅ | ⌛ [#5314](https://github.com/coder/coder/issues/5314) | +| **User metrics** | ✅ | Template-wide metrics [(needs docs)](https://github.com/coder/coder/issues/3980) | +| **Resource quotas** | ✅ | ✅ Max workspace limit | +| **SDK** | ❌ | ✅ [codersdk](https://github.com/coder/coder/tree/main/codersdk) | +| **REST API** | ✅ | ✅ | + +> See the [v1 sunset frequently asked questions](./v2-faq.md) for more information. diff --git a/guides/v2-faq.md b/guides/v2-faq.md new file mode 100644 index 000000000..0c45ccf5a --- /dev/null +++ b/guides/v2-faq.md @@ -0,0 +1,133 @@ +--- +title: "Sunsetting Coder v1 and v2 Migration FAQ" +description: Frequently asked questions about sunsetting of Coder v1 and migrating to v2 +--- + +[Coder v2](https://github.com/coder/coder) is Coder's 2nd generation remote +development platform launched in June 2022. This document lists frequently asked +questions for customers planning to migrate from Coder v1 to v2. + +![Coder v2 Dashboard](../assets/guides/coder-v2-dashboard.png) + +
+When will Coder no longer support v1? + +Coder v1 will have 3 sunset or end-of-life dates. + +| Date | Support Sunset Parameters | Example | +| --------------- | ------------------------------------------------------------ | ---------------------------------------------- | +| 06/30/2023 | End of feature requests and enhancements | image tag decommissioning coming in `1.38.0` | +| 12/31/2023 | End of feature-related bug fixes | [organization sort order](../changelog/1.37.0.md) in in `1.37.0` | +| 03/31/2024 | End of security vulnerability fixes | malicious [DevURL redirect link fix](../changelog/1.37.1.md) in `1.37.1` | + +
+ +
+How will we continue to get v1 support? + +Yes. Continue to either work with your account executive at Coder or leverage +the [Slack](https://cdr.co/join-community) channel. + +
+ +
+Why did Coder build v2? + +Coder v2 addresses compute and integration limitations of Coder v1. In +particular, 100% control over a workspace's Kubernetes pod spec, flexibility to +make workspace compute a Kubernetes pod, a VM, or a Docker container, and an +open-source platform for the community to get the developer-centric benefits of +remote development without a license fee. See the blog post [Lessons learned +from +v1](https://coder.com/blog/lessons-learned-from-v1-and-oss-to-enterprise-editions) + +
+ +
+What Coder v2 features are open-source and paid? + +Functionality for a developer to be productive are in the open-source, while +scalability, governance and control features for DevOps teams are in the +Enterprise paid version. [See this page for feature +comparisons.](https://coder.com/pricing) + +
+ +
+Will I pay the same for Coder v2? + +[Contact Sales](https://coder.com/contact) to learn how your v1 license fee +converts to v2. + +
+ +
+Is v2 a different code base? + +Yes. Because we wanted to make v2 open-source and use Terraform as the workspace +provisioning engine, it was easier to re-build Coder's remote development +platform into a new code base. v2 also has a different Postgres database schema. + +
+ +
+How are the v2 concepts different than v1 at a high-level? + +In v1, workspaces are Kubernetes pods with an inner container based on [container +images](../images/index.md) with an optional configure script in the image that runs additional +configurations as the non-root user after the workspace is built. v1 has an +optional workspace template yaml spec to define compute and additional bash +scripting steps. + +In v2, workspaces are defined as [Terraform +templates](https://coder.com/docs/coder-oss/latest/templates) with Terraform +resources to define the compute type. e.g., Kubernetes pod, Docker container, or +VM. Docker or alternatively VM images are specified in the template. The +template includes a `startup_script` configuration that can run the configure +script in the image or additional steps like in v1 workspace templates. v1 +workspace applications are configured as `coder_app` resources in the Terraform +template. + +v1 [organizations](../admin/organizations/index.md) are +[groups](https://coder.com/docs/coder-oss/latest/admin/groups) in v2. + +Integration points remain like +[OIDC](https://coder.com/docs/coder-oss/latest/admin/auth) for single-sign-on +and specifying image registries in v2 templates. + +Out-of-the-box Git authentication in v1 is an OAuth app and SSH. In v2, [OAuth +is used as well](https://coder.com/docs/coder-oss/latest/admin/git-providers) +but Coder intercepts git actions, forcing the user to authenticate to their git +provider. Coder stores the user's OAuth token in the Coder database and using it +for subsequent git actions. In v2, Coder issues an SSH key to each user if that +is preferred. + +
+ +
+Are there migration scripts from v1 to v2? + +No. The database schema and architectural concepts are so different in v2, it is +not reasonable to build migration scripts that meet customer deployment +scenarios. See [the migration strategy](./moving-to-oss.md#migration-strategy) +and [recommendations on moving workspace +contents](./moving-to-oss.md#workspaces). + +
+ +
+Is there a community to support v2? + +Yes. In v1, Coder maintains a [Slack](https://cdr.co/join-community) channel. In +v2, customers can file [GitHub Issues](https://github.com/coder/coder/issues) or +use our [Discord](https://discord.gg/coder) or +[Slack](https://cdr.co/join-community) channels to ask questions to the +community. + +
+ +
+ +> For more information on v2 concepts, please review the [Moving to Coder +> v2](./moving-to-oss.md) guide. + diff --git a/index.md b/index.md index bb78ffdae..09f6e8616 100644 --- a/index.md +++ b/index.md @@ -3,10 +3,13 @@ title: "Home" description: "Explore our guides and examples to get started with Coder." --- -Coder is a self-hosted platform that allows organizations to securely provision +Coder v1 is a self-hosted platform that allows organizations to securely provision developer workspaces (featuring remote IDEs and all related resources) for DevOps, platform, and software engineering teams. +## News ✨ + Coder will sunset support for Coder v1 starting in mid-2023 and is encouraging customers to install and deploy Coder v2. [See Frequently Asked Questions](./guides/v2-faq.md). +

Workspaces

diff --git a/manifest.json b/manifest.json index 1e998ab7c..f16e09df3 100644 --- a/manifest.json +++ b/manifest.json @@ -592,7 +592,10 @@ }, { "path": "./guides/moving-to-oss.md" - } + }, + { + "path": "./guides/v2-faq.md" + } ] }, {

Mark Milligan

🖋 💡 🤔 🚧 👀

Eric Paulsen

🖋 💡 🤔 🚧 👀

Katie Horne

🖋 💡 🤔 🚧 👀

Charles Moog

🖋 🤔 🚧 👀

G r e y

🖋 💡 🤔 🚇 🚧 👀