Glasskube is an Open Source package manager for Kubernetes. It makes deploying, updating, and configuring packages on Kubernetes 20 times faster than tools like Helm or Kustomize. Inspired by the simplicity of Homebrew and npm. You can decide if you want to use the Glasskube UI, CLI, or directly deploy packages via GitOps.
We have been working in the Kubernetes ecosystem for over five years. During this time, we have consistently struggled with package management, configuration, and distribution. We've spent countless hours templating and writing documentation for commands and concepts that were difficult to grasp.
In contrast, tools like Homebrew, apt, and dnf felt easy to use and rarely caused problems. While we worked on other cloud-native projects, our users consistently highlighted several common pain points. This realization prompted us to tackle the larger issue of package management in Kubernetes, leading to the development of Glasskube.
- Features
- Quick Start
- How to install your first package
- Supported Packages
- Architecture Diagram
- Need help?
- Related projects
- How to Contribute
- Supported by
- Activity
- License
Focusing on simplicity and reliability with our CLI and UI Easily install packages in your cluster via the Glasskube UI, where all packages are conveniently located, eliminating the need to search for a Helm repository. |
|
Package configurations Configure packages with typesafe input values via the UI or interactive CLI questionnaire. Inject values from other packages, ConfigMaps, and Secrets easily. No more untyped and undocumented values.yaml files. |
|
Dependency Management Glasskube packages are dependency aware, so they can be used and referenced by multiple other packages. They will also get installed in the correct namespace. This is how umbrella charts should have worked from the beginning. |
|
Safe Package Updates Preview and perform pending updates to your desired version with a single click (or CLI command). All updates are pre-tested by the Glasskube test suite. |
|
Reactions and comments Discuss and upvote your favorite Kubernetes package on GitHub or right inside the Glasskube UI. |
|
GitOps Integration All Glasskube packages are custom resources, manageable via GitOps. We're also integrating with renovate |
|
Multiple Repositories and private packages Use multiple repositories and publish your own private packages. This could be your companies internal services packages, so all developers will have up-to-date and easily configured internal services. |
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! 🎉
Glasskube already supports a wide range of packages, including, but not limited to:
- Kubernetes Dashboard
kubernetes/dashboard
- cert-manager
cert-manager/cert-manager
- Ingress-NGINX Controller
kubernetes/ingress-nginx
- Kube Prometheus Stack
prometheus-operator/kube-prometheus
- Cloud Native PG
cloudnative-pg/cloudnative-pg
You can find all supported and planned packages on glasskube.dev/packages.
---
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
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.
- Glasskube Apps Operator
glasskube/operator
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 everyone, that is supporting this project. We are thankful, for every contribution, no matter its size!
The Glasskube is licensed under the Apache 2.0 license. For more information check the LICENSE file for details.