DEV Community

Cover image for Cyclops Launch Week #1 Recap
Juraj for Cyclops UI

Posted on • Originally published at cyclops-ui.com

Cyclops Launch Week #1 Recap

Last week, we celebrated a major milestone with our first-ever Launch Week, revealing five exciting features - one each day! But that’s not all, Cyclops launched on DevHunt and took home the #1 Tool of the Week award! Thank you to everyone who supported us 🧡

We kicked off the launch week with a teaser the week before, showcasing five hidden urns to represent the features. Each day during Launch Week, the urns evolved as we revealed their secrets. For a closer look at how it all unfolded, check out our socials (LinkedIn and X) and follow #cyclopslaunchweek for highlights.

To get things started, we hosted a community call on Discord on Monday, giving an exclusive sneak peek at all five features before the daily reveals began. It was a fantastic way to connect with our growing community and share our excitement!

Let’s dive into what was revealed during Launch Week…

But wait… what is Cyclops? 💭

We know that Kubernetes can be difficult. That is why we created Cyclops, an open-source framework for building developer platforms on Kubernetes. Abstract the complexities of Kubernetes, and deploy and manage your applications through a customizable UI that you can fit to your needs.

We're developing Cyclops as an open-source project. If you're keen to give it a try, here's a quick start guide available on our repository. If you like what you see, consider showing your support by giving us a star ⭐

⭐ Star Cyclops on GitHub

support-us-with-gh-stars

#1 Helm Releases ⚡

With the release of this feature, Cyclops will pick up on any installed Helm releases in your cluster and showcase them in our new tab - Helm Releases.

Besides reviewing all of your installed Helm releases in a cluster, through this tab you can inspect them as well. You can view all the resources your Helm release is made up of, edit the releases through the UI, and delete them.

helm-releases

Although Cyclops Modules are a more powerful way of managing your applications in the cluster, the Helm releases manager offers a good starting point since it does not require you to change your current CI/CD pipelines or workflows. We also found them great for environments with short lifecycles - such as testing or staging clusters!

#2 GitOps 🦑

We know this was a highly requested feature, and we are happy to announce that Cyclops now supports a GitOps workflow!

All applications within Cyclops are defined as CRs called Modules. Each time a Module is created, the Cyclops controller picks it up, creates other Kubernetes resources from it, and applies them to the cluster. Since Modules are CRDs, you can define them via the YAML manifest. Those manifests allow you to define everything you need for your application in a single place.

Since a Module can be defined through a manifest, it can be stored on a git repo and included in your GitOps workflow!

Through the Module manifest, you can also define which values you want to make editable through Cyclops and which values should be handled only with GitOps. For example, the image version should only be handled with GitOps, but you want to enable developers to scale the number of replicas through Cyclops.

We created a guide you can follow to get started, check it out here!

#3 Namespace Scoped Cyclops 🔬

We know this was a thorn in your side, but from now on, you can restrict Cyclops to a single namespace to limit the permissions needed for your Cyclops installation!

Firstly, we introduced three new environment variables WATCH_NAMESPACE, MODULE_TARGET_NAMESPACE and WATCH_NAMESPACE_HELM, which will help you configure your Cyclops instance to act only in specific namespaces.

...
- name: cyclops-ctrl
  image: cyclopsui/cyclops-ctrl:v0.15.2
  ports:
    - containerPort: 8080
  env:
    - name: PORT
      value: "8080"
    - name: WATCH_NAMESPACE
      value: "my-namespace"
    - name: MODULE_TARGET_NAMESPACE
      value: "my-namespace"
    - name: WATCH_NAMESPACE_HELM
      value: "my-namespace"
...
Enter fullscreen mode Exit fullscreen mode

Secondly, we created a Helm chart that utilizes these env variables to create Roles and RoleBindings for Cyclops to be scoped to a single namespace of your choosing. And, of course, we made a guide on how to use these env variables and how to easily get set up - check it out here!

#4 Private Repositories 🔐

Most companies do not store their configurations & Helm charts in open repositories, so this feature was a MUST-have! However, accessing private repositories requires authentication.

We did not want to bloat Cyclops with a database, so we introduced a new custom resource called TemplateAuthRule! This resource defines which templates you want to authorize and points Cyclops to the authorization data that is stored securely in Kubernetes secrets.

tar_arch

Of course, we created a tutorial on how to enable Cyclops access to your private repos here.

#5 Streaming 🌊

If you've used Cyclops recently, you may have noticed a more responsive and smoother experience. This improvement comes from our latest enhancements: streaming resource status updates and real-time app logs.

You can now rest comfortably knowing that the resources are getting their status (health) updated live from the cluster!

REACT_APP_ENABLE_STREAMING: true
Enter fullscreen mode Exit fullscreen mode

Of course, if your bandwidth is not allowing you to keep an SSE connection open (or you just don’t care about having the state streamed to the UI), we introduced a new environment variable in cyclops-ui that allows you to disable this feature ⬆️

Launch Week Wrap Up 🎁

This wraps up Cyclops Launch Week! We’re thrilled to have shared these five amazing features with you, each designed to make your Kubernetes experience more efficient, secure, and user-friendly.

Thank you for being a part of our journey! If you are interested in keeping up to date, be sure to join our Discord community, where we always share the latest news!

Looking forward to our next launch week 🚀

👾 Join our Discord 👾

Top comments (6)

Collapse
 
chorizzard profile image
Domagoj • Edited

Christmas came earlier this year!

Collapse
 
karadza profile image
Juraj

🎅

Collapse
 
lmercep profile image
Luka

Great week, great work

Collapse
 
karadza profile image
Juraj

Thanks! 🚀

Collapse
 
fengmeizuo profile image
FengMeizuo

Great insights! Excited to see what’s next for Cyclops!

Collapse
 
karadza profile image
Juraj

Be sure to follow us on our socials X and LinkedIn to keep up to date!