Skip to content

🧊 The next generation Package Manager for Kubernetes πŸ“¦ Featuring a GUI and a CLI. Glasskube packages are dependency aware, GitOps ready and can get automatic updates via a central public package repository.

License

glasskube/glasskube

GitHub Repo stars License Docs Downloads twitter CNCF Landscape


Glasskube Logo

🧊 The next generation Package Manager for Kubernetes πŸ“¦ (Beta Version)

Getting started Β»

Explore our website Β»

GitHub . Docker Hub . Artifact Hub . LinkedIn . Twitter / X





Glasskube GUI Mockup

πŸ“¦ What is Glasskube?

Glasskube is the next generation Kubernetes package manager, now available in its beta version. Glasskube empowers you to effortlessly install, upgrade, configure, and manage your Kubernetes cluster packages, all while streamlining repetitive and cumbersome maintenance tasks. We're excited to roll out the beta release and invite all users to test it out! Your feedback is incredibly valuable to us as we aim to shape Glasskube into the best Kubernetes package manager out there. So go ahead, dive in, play around, and shoot us your thoughts!

⭐️ Why Glasskube?

Using traditional package managers or applying manifests directly can be super confusing and doesn't scale. Therefore, Glasskube will help you to install your favorite Kubernetes packages using the Glasskube UI for reduced complexity and increased transparency. We are also providing a brew inspired CLI for advanced users. Our packages are dependency aware, as you would expect from a package manager. Designed as a cloud native application, so you can follow your GitOps approach.

✨ Features

  • πŸ’‘ Streamlined UI and CLI Experience:
    We've stripped away unnecessary complexities, providing a simple yet powerful user interface and command-line interface for easy package management.
  • πŸ”„ Automated Updates:
    Glasskube ensures your Kubernetes packages and apps are always up-to-date, minimizing the manual effort required for maintenance.
  • 🀝 Dependency Awareness:
    We understand the interconnected nature of Kubernetes packages. Glasskube intelligently manages dependencies.
  • πŸ› οΈ GitOps Ready with ArgoCD or Flux:
    Seamlessly integrate Glasskube into your GitOps workflow with support for popular tools like ArgoCD or Flux.
  • πŸ“¦ Central Package Repository:
    Keep track of all your packages in one central repository, with a planned feature for custom repositories.
  • πŸ” Cluster Scan (planned):
    Introducing the Cluster Scan feature in a future version, which allows you to detect packages in your cluster, providing valuable insights for better management and upgrade paths.
  • πŸ” Version Pinning:
    With a future version, Glasskube will introduce Version Pinning, giving you control over your package versions.

πŸ—„οΈ Table Of Contents

πŸš€ Quick Start - Install the Beta Version.

You can install Glasskube via Homebrew:

brew install glasskube/tap/glasskube

For other installation options check out our install guide.

Once the CLI is installed, the first step is to install the necessary components in your cluster. To do that, run

glasskube bootstrap

After successfully bootstrapping your cluster, you are ready to start the package manager UI:

glasskube serve

This command will open http://localhost:8580 in your default browser. Congratulations, you can now explore and install all our available packages! πŸŽ‰

πŸ“¦ Supported Packages

Coming Soon

In the next versions you will be able to install more packages like the Kube-Prometheus-Stack, Velero and the CloudNativePG. With v1.0.0 you will also be able to install apps like GitLab, Keycloak or Hashicorp Vault with the Glasskube Apps Operator. You can find the full list and release schedule in our roadmap

Can't find a package or want your app included in the list? We are always adding new supported packages & apps, so just join us on Discord or open up a new issue and let us know what is missing!

🎬 How to install you first package

cast

Architecture Diagram

---
title: glasskube install [package]
---
flowchart BT
  UI([UI])-- via local server<br>http://localhost:8580 ---Client(Client)
  CLI([CLI])-- cobra cli ---Client
  Client-- 1. validate package -->Repo[(Public Glasskube<br>Package Repo)]
  Client-- 2. create<br>`Package` CR -->Kubernetes(((Kubernetes API)))
  subgraph Cluster
    Kubernetes-- 3. reconcile<br>`Package` -->PackageController
    PackageController-- 4. create `PackageInfo`<br>if not present-->Kubernetes
    Kubernetes-- 5. reconcile<br>`PackageInfo`-->PackageInfoController
    end
  PackageInfoController<-- 6. update package manifest -->Repo
  subgraph Cluster
    PackageInfoController-- 7. update manifest<br>in `PackageInfo` -->Kubernetes
    Kubernetes-- 8. reconcile<br>`PackageInfo` -->PackageController
    PackageController-- 9. deploy package -->Kubernetes
  end

  Kubernetes-- 10. package status -->Client 

☝️ Need Help or Want to Provide Feedback?

If you encounter any problems, we will be happy to support you wherever we can on our Discord. For bugs, issues or feature requests fee free to open an issue. We are happy to assist you with anything related to the project.

πŸ“Ž Related Projects

🀝 How to Contribute to Glasskube Beta

Your feedback is invaluable to us as we continue to improve Glasskube. If you'd like to contribute, consider trying out the beta version, reporting any issues, and sharing your suggestions. See the contributing guide for detailed instructions on how you can contribute.

🀩 Thanks to all our Contributors

Thanks to everyone, that is supporting this project. We are thankful, for evey contribution, no matter its size!

πŸ‘Ύ Activity

Glasskube Activity

πŸ“˜ License

The Glasskube is licensed under the Apache 2.0 license. For more information check the LICENSE file for details.