coder.cncf.io Roadmap

POC using coder.com w/ pair.sharing.io concepts

What is it?

Pulling from - sharingio/pair/#173 :: pair.sharing.io alternative POC using coder.com + VSCode ::

What if your CNCF project could click to create a working ingress *.GITHUBUSER.PROJECT.coder.cncf.io on a live Kubernetes cluster where your your project comes up fully deployed, and a shared editor on the web to quickly demonstrate ideas and co-create PRs?

It would help us mentor, onboard, and help create more contributors globally, even if they don't have local computers or infrastructure to develop locally.

This issue is to track a Proof Of Concept migrating some core principles @ii has learned creating pair.sharing.io to coder.com workspaces hosted on CNCF infrastructure.

User experience

Open Issues w/ coder/coder

403 issue

Pair Features to Port to Coder

Instant Clusters

Quick made workspace clusters (or a warm set to allocate) via coder template:

  • cluster-api vcluster (for speed)
  • kubevirt+talos (for isolation and speed on any cluster supporting KubeVirt)
  • cluster-api talos + equinix (for isolation)
  • command to download kubeconfig locally

In Cluster Pod containing Cloud Native IDE

While a local editor should be able connect to cluster/pod/code, something hosted:

  • code-server
  • humacs (ssh / coder_app)

SSL ingress

Ability to reach cluster services for exposed via ingress:

  • SERVICE-GITHUBUSER.PROJECT.coder.{sharing,cncf}.io
  • SERVICE-GITHUBUSER-guid.PROJECT.coder.{sharing,cncf}.io
    Could possible reuse the coder_app based wildcard access url:
--wildcard-access-url string
  Specifies the wildcard hostname to use for
  workspace applications in the form
  "*.example.com".
  Consumes $CODER_WILDCARD_ACCESS_URL

Outer cluster using *.USER.coder.sharing.io

Outer Cluster Features

DNS similar to pair

coder.sharing.io on outer cluster

  • configure coder.sharing.io NS record on dnsimple to external IP
  • deploy
  • the coder template can create a subdomain for the user
  • by default *.user.coder.sharing.io will be an A record for coder.sharing.io

Pairing

Multiple eyes on the same IDE, at a cursor level via coder_app:

  • VSCode (LiveShare or equivalent)
  • humacs (tmate or equiv)

From SRC to pairing w/ working ingress

Eventually we'd like to be able to add a button (click-to-contribute), similar to features available in gitpod and codespaces. But for the Coder PoC lets create some example templates specific to a couple projects:

example CNCF Projects

  • X
  • Y
  • Z

templates should

  • check out needed src and dependencies for project
  • configure coder to open src repo
  • compile / bring up ingress service

Out of Scope (for now)

dns

I think this is now lower priority. Cool, but not broad need if we get ingress clean / automatic.

Org-Mode support

This will likely require open source of LiveShare or finding equivalent.

Select a repo