/cyclops

Developer Friendly Kubernetes ๐Ÿ‘๏ธ

Primary LanguageGoApache License 2.0Apache-2.0

CNCF Badge Docker Pulls Go Report Card GitHub Actions CI GitHub Actions web GitHub License Discord

Cyclops - Developer Friendly Kubernetes | Product Hunt


Developer Friendly Kubernetes

Webpage - Discord - X - LinkedIn

๐ŸŸ  What is Cyclops?

Cyclops is an open-source dev tool that simplifies Kubernetes with an easy-to-use UI, making it less intimidating. Instead of creating and configuring your Kubernetes manifests with YAML, use Cyclops to painlessly configure and deploy your applications - validations included!

Thanks to the templates system, Cyclops's UI is highly customizable when defining configurations. Our templates turn hours and days of configuring applications into a few clicks.

๐Ÿ’ก How it works?

Cyclops is a platform that allows DevOps teams to quickly and without coding create custom UIs for developers, QA teams, product managers, and other team members who do not necessarily have experience working with Kubernetes.

But donโ€™t worry! If you do not have a DevOps team with you, Cyclops comes with a bunch of predefined templates to get you started!

Under the hood, Cyclops uses Helm charts to create your desired UIs. This means you can try Cyclops with any of your existing Helm charts or any public Helm charts you can find!

Read more about it here

โš™๏ธ Install

โš ๏ธ Before installing Cyclops, make sure you have all the prerequisites โš ๏ธ

Cyclops can either be installed manually by applying the latest manifest, by using cyctl, or with the Glasskube Kubernetes Package Manager.

To install Cyclops using kubectl into your cluster, run the commands below:

kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.8.2/install/cyclops-install.yaml && kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.8.2/install/demo-templates.yaml

It will create a new namespace called cyclops and deploy everything you need for your Cyclops instance to run.

Now, all that is left is to expose the Cyclops server outside the cluster:

kubectl port-forward svc/cyclops-ui 3000:3000 -n cyclops

You can now access Cyclops in your browser on http://localhost:3000.

๐Ÿ’พ Templates

Every Cyclops instance comes with a couple of predefined templates. Feel free to use and abuse them!

Helm charts used for these templates can be found here. You can use this repo as a guide to create your own templates. More information on making your own can be found on our web.

๐Ÿšง cyctl

The Cyclops command line interface! You can install it with Homebrew:

brew install cyctl

What are you able to do with cyctl?

Besides the basic commands like getting all modules or templates, you can integrate it with GitHub actions to automate some of the Cyclops processes.

For example, once you create a template and publish it on GitHub, GitHub actions could automatically connect the template to your Cyclops instance using our CLI. This would allow your developers instant access to each new template or any update the template receives.

๐Ÿ’ช Contributing

Cyclops is open-source and open to external contributors. There are plenty of ways you can contribute to the Cyclops project - with code, feedback, content and GitHub starsโญ

Start your contributing journey at our CONTRIBUTING.md and join our wall of fame ๐Ÿ‘

๐Ÿงญ Roadmap

โš ๏ธ This is not set in stone and may change in the future โš ๏ธ

  • Support for private GitHub repos -> access templates saved on your private repositories โœ…
  • Authentification -> secure login
  • Role-based access control -> limit the resources your devs have access to
  • GitOps -> integrate with GitOps tools
  • Support for Kustomize -> currently, only Helm is supported for creating templates
  • cyctl for Windows -> Chocolatey
  • Customizable Module details page -> create custom views of resources that your module uses