Skip to main content
In this guide you’ll learn how to use the Glasskube GitOps template to manage Kubernetes packages via a GitOps workflow. The template deploys Argo CD, Glasskube controllers, and any package manifests you add — enabling automated, declarative package lifecycle management (install, update, reconcile) driven by Git. Below is the high-level GitOps flow: push changes to Git, Argo CD continuously reconciles the cluster to match Git, and packages (for example, kube-prometheus-stack and CloudNativePG) are installed automatically.
The image depicts a simplified GitOps flow using a Glasskube GitOps template repository, with code being pushed and updates pulled into a local Kubernetes cluster with components like ArgoCD and applications such as Kube-Prometheus-stack.
Key points
  • The template bootstraps Argo CD, Glasskube components, and the package manifests you store in Git.
  • The demo template includes kube-prometheus-stack, a sample web app, and CloudNativePG.
  • Renovate can be integrated to automatically open pull requests for package upgrades.
Getting started — overview
  1. Create a repository from the Glasskube GitOps template.
  2. Replace placeholder repository URLs inside the template (under bootstrap/) with your repository URL.
  3. Run the Glasskube bootstrap command in GitOps mode to push manifests and install Argo CD + Glasskube in your cluster.
The template expects a pre-bootstrapped cluster; the Glasskube UI will indicate whether the cluster still needs bootstrapping.
The image shows a three-step process for setting up a GitOps repository using a template, replacing a placeholder repo URL, and running a bootstrapping command. The second step includes specific line references for file modifications.
Bootstrap and package lifecycle commands Use these Glasskube CLI commands for bootstrapping, installing packages, and previewing updates. Renovate integration (automated package upgrade PRs)
  • Renovate can scan YAML manifests in your GitOps repo and open PRs when newer package versions exist.
  • The Renovate regex manager in the template extracts depName and currentValue from package YAML and uses a Glasskube datasource to compute available upgrades.
Example Renovate snippet (matches package name/version in YAML files):
When Renovate opens a PR, review and merge it — Argo CD will then reconcile the updated manifest into the cluster. Add your repository URL to the GitOps template After creating a repo from the template (for example, gitops-kodekloud), replace the placeholder repoURL entries in the bootstrap manifests. Files to update Example excerpt (update https://github.com/TODO/TODO to your repo URL):
and
Save, commit, and push these changes to main. Create the repo and clone the template
  • On GitHub, click “Use this template”, create a repository (for example gitops-kodekloud), then clone it:
    • git clone https://github.com/<your-org>/gitops-kodekloud.git
  • Open and edit the bootstrap manifests described above.
The image shows a GitHub repository page titled "gitops-template," containing a list of files and folders. The repository includes details about commits, an "About" section, and various tags related to the project.
Example: commit changes and bootstrap
  1. Commit your repoURL changes:
  1. Run the Glasskube GitOps bootstrap:
Check Glasskube CLI version and pre-checks:
Example output (environment-specific):
When bootstrapping in GitOps mode you may see warnings like:
  • “Couldn’t prepare manifests: no matches for kind ‘PackageRepository’ in version ‘packages.glasskube.dev/v1alpha1’”
This is expected during the GitOps bootstrap flow; Glasskube will push manifests to your Git repo and install Argo CD and Glasskube controllers into the cluster.
Tip: Argo CD startup and the first Application sync can take a few minutes. Use the Argo CD UI to monitor Application sync status and logs for troubleshooting.
After Argo CD is installed, view the Glasskube UI to inspect available packages and installation status.
The image shows a dashboard interface for "Glasskube," featuring a list of software packages available for installation or management in a Kubernetes environment. Each package has a brief description and options to install, open, or manage settings.
Add a package to the GitOps repository (example: cert-manager) Follow these steps to add cert-manager as a ClusterPackage via GitOps:
  1. Generate the cluster package manifest (dry-run):
Dry-run will print a summary, for example:
  1. The generated cert-manager.yaml will contain a ClusterPackage resource. Example:
  1. Add the manifest into your GitOps repository under packages/cert-manager/clusterpackage.yaml, commit, and push:
Argo CD (via the ApplicationSet generator) will detect the new package manifest and reconcile it into the cluster. Allow a few minutes for the package to be installed. You can confirm the commit appears in your GitHub repository.
This image shows a GitHub repository page named "gitops-kodekloud" by the user "jakepage91". It features directories, files, recent commits, and information on the repository status, such as branches and stars.
Automated package updates with Renovate To enable automated PRs for package upgrades:
  1. Install the Renovate GitHub App: https://github.com/apps/renovate
  2. Configure access: Click Configure → select “Only select repositories” → choose your GitOps repo (for example, gitops-kodekloud) → Save.
The image shows a GitHub repository access settings page where the user can select specific repositories for access. It includes options for "All repositories" and "Only select repositories," with two repositories currently selected.
The template includes a renovate.json that uses a regex manager to locate packageInfo.name and packageInfo.version entries in YAML files. When Renovate opens an update PR, merging the PR updates Git; Argo CD then applies the updated package version automatically. Confirming installed packages After reconciliation completes you should see packages such as cert-manager, kube-prometheus-stack, and cloud-native-pg installed and managed by Argo CD/Glasskube in the UI. Updating Glasskube bootstrap manifests To refresh the Glasskube manifests that bootstrapped your cluster (for example to pick up new versions or config changes), generate a new bootstrap YAML and commit it:
Argo CD will apply the updated bootstrap manifests during its reconciliation. Open Grafana and import the CloudNativePG dashboard After kube-prometheus-stack is provisioned, forward Grafana locally and import the CloudNativePG dashboard to visualize PostgreSQL metrics.
  1. Open Grafana for kube-prometheus-stack:
Example output when Grafana is port-forwarded:
  1. Log in to Grafana:
  • Username: admin
  • Password: prom-operator
  1. Import the CloudNativePG dashboard: Dashboard → New → Import → enter the dashboard ID → choose the Prometheus data source.
The dashboard will display metrics once Prometheus scrapes CloudNativePG exporters.
The image shows a PostgreSQL dashboard setup, featuring various database health metrics such as CPU and memory utilization, replication lag, storage usage, and server health status.
The image shows a detailed PostgreSQL dashboard displaying various metrics like health status, replication lag, CPU and memory utilization, and server health across multiple database clusters. There is also a guide on setting up the dashboard using Grafana.
Access Argo CD to inspect managed applications Retrieve the initial Argo CD admin password and log in to the Argo CD UI to see applications managed by Glasskube and the ApplicationSet. The Argo CD login looks like this:
The image shows a login screen for "Argo" with a cartoon octopus in a helmet, accompanied by the text "Let's get stuff deployed!"
Summary — GitOps package management with Glasskube
  • Use the Glasskube GitOps template to keep package definitions and cluster state in Git.
  • Update repoURL placeholders, bootstrap in GitOps mode, and add packages/* manifests to install packages.
  • Use Renovate for automated package upgrade PRs.
  • Argo CD continuously reconciles cluster state to match Git — merge changes to deploy updates.
Tip: After pushing changes, allow a few minutes for Argo CD to detect and reconcile new manifests. If an application fails to sync, check the Argo CD application logs and the Glasskube controller logs for details.
Next steps Customize the ApplicationSet generators, add your own packages, tune Renovate rules, and practice making Git-driven changes to provision a production-ready GitOps-managed cluster with Glasskube. Links and references

Watch Video

Practice Lab