Skip to content

Latest commit

 

History

History
194 lines (147 loc) · 10.4 KB

README.md

File metadata and controls

194 lines (147 loc) · 10.4 KB

GitHub Repo stars License Docs PRs Downloads CNCF Landscape Go Reference Go Report Card


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 installation 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

Glasskube already supports a wide range of packages, including, but not limited to:

You can find all supported and planned packages on glasskube.dev/packages.

Coming Soon

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[(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 
Loading

☝️ 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 every 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.