Glasskube is an open-source package manager designed to simplify the deployment, configuration, and updating of applications on Kubernetes. Inspired by the ease of use of Homebrew and npm, it addresses long-standing pain points in Kubernetes package management—such as untyped values.yaml files, manual dependency resolution, and complex Helm templating. Glasskube introduces a unified experience through both a command-line interface (CLI) and a web-based GUI, enabling developers and DevOps teams to install and manage packages with minimal friction. It is built for teams looking to reduce the operational overhead of managing Kubernetes applications while maintaining full GitOps compatibility and enterprise-grade control over package sources.
What You Get
- CLI and GUI for package management - Install, configure, and update Kubernetes packages using either an interactive CLI or a visual web interface. The GUI provides a centralized dashboard to browse, install, and manage all packages without searching through Helm repositories.
- Typesafe package configuration - Configure packages via interactive CLI questionnaires or the GUI with typesafe input fields. Values can be injected from ConfigMaps and Secrets, eliminating brittle, undocumented values.yaml files.
- Automatic dependency resolution - Glasskube automatically resolves and installs package dependencies in the correct namespaces, ensuring consistent and reliable deployments without manual dependency tracking.
- Safe, previewable updates - Preview pending package updates before applying them. Updates are pre-tested using Glasskube’s built-in test suite to reduce the risk of breaking changes.
- GitOps-ready custom resources - All packages are Kubernetes Custom Resources (Package and PackageInfo), making them fully manageable via GitOps tools like Argo CD or Flux, with native support for Renovate bot.
- Multi-repo and private package support - Configure multiple repositories, including private ones, to host and manage internal or proprietary packages across your organization.
- Community-driven package discovery - Discuss, upvote, and comment on packages directly in the UI or via GitHub Discussions to help surface high-quality, community-vetted packages.
Common Use Cases
- Building a multi-tenant SaaS dashboard with monitoring - Use Glasskube to install Kube Prometheus Stack and Kubernetes Dashboard in separate namespaces, with automatic dependency resolution for cert-manager and ingress-nginx—reducing setup time from hours to minutes.
- Creating a mobile-first e-commerce platform with 10k+ SKUs - Deploy internal microservices as private Glasskube packages, centrally managed via a corporate package repository with typesafe configuration and GitOps synchronization across dev/staging/prod clusters.
- Problem: Managing Helm charts across 20+ teams → Solution: Glasskube - Teams previously spent days writing and maintaining Helm templates with inconsistent values. With Glasskube, they install pre-packaged apps via GUI or CLI, auto-inject secrets from Vault, and get automatic update notifications with previews.
- DevOps teams managing microservices across multiple cloud providers - Centralize package management with private repositories, apply consistent configurations via GitOps, and ensure all clusters receive the same validated package versions with dependency guarantees.
Under The Hood
Glasskube is a Kubernetes-native package manager that enables declarative deployment and management of applications within Kubernetes clusters. It leverages operator patterns and Custom Resource Definitions (CRDs) to provide a unified interface for package lifecycle handling.
Architecture
Glasskube adopts a layered architecture centered on Kubernetes operator principles, emphasizing controller-driven reconciliation and CRD-based resource management.
- Utilizes a declarative model for package configuration and deployment
- Separates API definitions from controller logic and reconciliation mechanisms
- Implements a clear module structure with distinct concerns for package handling and cluster interaction
Tech Stack
Built with Go as the primary language, Glasskube integrates deeply with Kubernetes-native tooling and patterns.
- Developed using Go 1.24 and Kubernetes operator frameworks such as controller-runtime
- Relies on client-go and custom CRDs for seamless integration with Kubernetes APIs
- Employs kustomize, Docker, and goreleaser for configuration, containerization, and release workflows
- Incorporates testing practices focused on controller-runtime and Kubernetes API interactions
Code Quality
Code quality reflects a mature development approach with consistent patterns and maintainable structures.
- Error handling is applied in key components, though depth varies across modules
- Naming conventions and architectural choices show strong consistency and readability
- Testing is present but not extensively detailed in the sampled files
- Some technical debt is evident in API and controller implementation layers
What Makes It Unique
Glasskube distinguishes itself through its integration of package management with Kubernetes operator patterns.
- Offers a unified, declarative approach to managing applications across Kubernetes environments
- Provides built-in repository support and streamlined lifecycle management for packages
- Supports extensibility through CRD-based configuration and operator-driven workflows