Changelog

v0.2.0

A new CPS1 release is available today!

Here are the highlights.

Gateway

We've made some improvements and fixed some bugs in the gateway:

  • The user now connects into their home instead of /
  • The SSH gateway doesn't close a connection after a couple of minutes
  • The gateway now uses less memory for both HTTP and SSH
  • Making an SSH connection to the gateway is faster
  • HTTP requests to the gateway are faster
  • The gateway consumes less resources from the Kubernetes API Server

Packages

The Package CRD was updated from v1alpha1 to v1alpha2.

Now they support custom images. You can either embed an SVG or set an URL to an image on your custom packages.

The following example spec:

(...)
spec:
  label: Microsoft .NET
  icon:
    svg: <svg fill="#512BD4" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>.NET</title><path
      d="M24 8.77h-2.468v7.565h-1.425V8.77h-2.462V7.53H24zm-6.852 7.565h-4.821V7.53h4.63v1.24h-3.205v2.494h2.953v1.234h-2.953v2.604h3.396zm-6.708
      0H8.882L4.78 9.863a2.896 2.896 0 0 1-.258-.51h-.036c.032.189.048.592.048 1.21v5.772H3.157V7.53h1.659l3.965
      6.32c.167.261.275.442.323.54h.024c-.04-.233-.06-.629-.06-1.185V7.529h1.372zm-8.703-.693a.868.829
      0 0 1-.869.829.868.829 0 0 1-.868-.83.868.829 0 0 1 .868-.828.868.829 0 0 1
      .869.829Z"/></svg>
    url: null
(...)

Renders the purple .NET logo in the UI.


Packages now support properties of the tag type. They're useful for properties that receive a list of values, such as a list of APT packages.

The following example spec:

(...)
  properties:
    - name: packages
      label: APT Packages
      tip: |
        You can write only the <package name> to install their latest version,
        but this can lead to distinct results each time the template is built.
        Prefer to use the syntax <package name>=<version> to specify each
        package version.
      kind: tag
      required: true
(...)

Renders as follows in the UI:

And the value is available as a list in the setup script.

Check the new apt package in the contrib CRD for a complete usage example:


Note: installed packages will automatically be updated from v1alpha1 to v1alpha2 when you update CPS1. No manual migration is required.

Contrib

We included two new packages in the contrib Helm Chart:

  • apt (to pre-install arbitrary APT packages in your template)
  • kubectl

v0.1.0

CPS1 is now publicly available!

CPS1 (Cloud Programming Shell) is a new CDE (Cloud Development Environment) system.

Features

Templates

Organize and standardize development environments with the template system:

Workspaces

Start to work under a minute with ready to use workspaces based on your templates:

Web or Desktop IDE

Work on your projects the way you want.

Through the browser in a Web IDE:

Or on your desktop IDE, connected to the remote workspace:

Preview URLs

Share your work with colleagues to collect feedback faster. Skip slow CI/CD pipelines. The preview URLs are available only to users signed in your CPS1 instance:

Start to use right now

CPS1 is installable in any Kubernetes cluster with Helm. It takes only a minute. To install refer to our Helm chart: https://helm.cps1.tech/

You can use it for free up to 5 users. For more details refer to our EULA (End-user License Agreement): https://www.cps1.tech/eula

Customize

CPS1 is extensible to your organization by design. Packages and Resources are configurable with simple Kubernetes objects. Our "cps1-contrib" Helm chart contains some ready-to-go examples: https://github.com/cps-1/helm-charts/tree/main/charts/cps1-contrib

More coming soon!

This is just our first release. We still have a lot of features and improvements planned ahead. Watch this repository.

Made in 🇧🇷

Copyright © 2025. All rights reserved.