### Start Glasskube UI (Shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/09_cloudnativepg.mdx Starts the Glasskube web interface for managing packages. This is an alternative installation method to the CLI. ```Shell glasskube serve ``` -------------------------------- ### Start Glasskube UI (Shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/02_ingress-nginx.mdx This command starts the Glasskube user interface, which provides a web-based way to manage and install packages. Once started, you can access the UI in your browser to install ingress-nginx. ```shell glasskube serve ``` -------------------------------- ### Install kubectl Plugin using Krew Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx This command installs a kubectl plugin using the Krew plugin manager. Krew simplifies finding, installing, and managing kubectl plugins. Replace `` with the name of the plugin you want to install. ```bash kubectl krew install ``` -------------------------------- ### Starting Glasskube UI (Shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/01_cert-manager.mdx This command starts the Glasskube user interface, typically accessible via a web browser. It allows users to manage packages visually. -------------------------------- ### Installing kubectl on Windows using Chocolatey Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Command to install the kubectl CLI tool on Windows using the Chocolatey package manager. ```bash choco install kubernetes-cli ``` -------------------------------- ### Install Glasskube CLI and Bootstrap Cluster Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/06_quickwit.mdx Installs the Glasskube command-line interface using Homebrew, starts a local Kubernetes cluster with Minikube, and bootstraps Glasskube onto the cluster. ```bash brew install glasskube/tap/glasskube minikube start glasskube bootstrap ``` -------------------------------- ### Starting Minikube Cluster for Glasskube GitOps Template Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-08-07-gitops-template/index.mdx Starts a new Minikube cluster named 'glasskube' as a prerequisite for setting up the Glasskube GitOps template. This command ensures a clean environment for the installation process. ```shell minikube start -p glasskube ``` -------------------------------- ### Install Stern Kubectl Plugin Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Installs the Stern plugin for kubectl using Krew, allowing tailing of multiple pods and containers simultaneously with color-coded output. ```shell kubectl krew install stern ``` -------------------------------- ### Spring Boot Application Startup Time Output Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2025-02-18-from-java-to-go/index.mdx This snippet shows example output from a Spring Boot application startup log, indicating the time taken for the application to start and the process to run. ```Log ...Started CoreApplicationKt in 8.201 seconds (process running for 8.726) ``` -------------------------------- ### Installing Kubectl-neat using Krew Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Command to install the kubectl-neat plugin via the Krew plugin manager. Kubectl-neat helps remove clutter from Kubernetes manifests. ```Shell kubectl krew install neat ``` -------------------------------- ### Get Help for Glasskube PowerShell Completion Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/02_getting-started/01_install.mdx This command displays detailed information about persistent installation methods and usage of shell completion specifically for the PowerShell. ```PowerShell glasskube help completion powershell ``` -------------------------------- ### Verifying kubectl Client Installation Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Command to check the installed version of the kubectl client after installation. This confirms the tool is accessible and installed correctly. ```bash kubectl version --client ``` -------------------------------- ### Get Help for Glasskube Fish Completion Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/02_getting-started/01_install.mdx This command displays detailed information about persistent installation methods and usage of shell completion specifically for the Fish shell. ```Fish glasskube help completion fish ``` -------------------------------- ### Installing kubectl on Linux (Ubuntu/Debian) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Command to update package lists and install the kubectl CLI tool on Debian-based Linux distributions using apt-get. ```bash sudo apt-get update && sudo apt-get install -y kubectl ``` -------------------------------- ### Installing and Using kubectl tree Plugin (Shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx This snippet provides the commands to install the `kubectl tree` plugin using the Krew package manager for kubectl plugins and how to display its help information. The plugin is used to explore ownership relationships between Kubernetes objects. ```Shell kubectl krew install tree kubectl tree --help ``` -------------------------------- ### Get Help for Glasskube Subcommand (shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/index.md Prints detailed help information and usage examples for a specific Glasskube subcommand. ```shell glasskube help ``` -------------------------------- ### Templating kubectl Output with --template Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Shows how to use the `--template` flag with `kubectl get` to format the output using a Go template, extracting specific information like pod names. ```bash kubectl get pods --template='{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}' ``` -------------------------------- ### Installing kubectl on MacOS using Homebrew Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Command to install the kubectl CLI tool on macOS using the Homebrew package manager. ```bash brew install kubectl ``` -------------------------------- ### Kustomize Strategic Merge Patch Example Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-10-14-kustomize-guide/index.mdx An example YAML file demonstrating a strategic merge patch for a Kubernetes Deployment, updating the container image and adding an environment variable. ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: my-app # Matches the name in the base manifest spec: namespace: staging template: spec: containers: - name: my-app-container image: new-image:2.0.0 # Updates the container image env: - name: NEW_VAR # Adds a new environment variable value: "new value" ``` -------------------------------- ### Get Help for Glasskube Bash Completion Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/02_getting-started/01_install.mdx This command displays detailed information about persistent installation methods and usage of shell completion specifically for the Bash shell. ```Bash glasskube help completion bash ``` -------------------------------- ### Start Glasskube UI Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/07_kube-prom-stack.mdx This command launches the Glasskube graphical user interface in your web browser, allowing you to manage packages visually. ```shell glasskube serve ``` -------------------------------- ### Start Minikube Cluster Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/07_kube-prom-stack.mdx This command starts a local Kubernetes cluster using Minikube. It is a prerequisite for installing packages with Glasskube. ```shell minikube start ``` -------------------------------- ### Getting All Resources in Namespace with Kubectl Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Demonstrates how to retrieve all Kubernetes resources within the `glasskube-system` namespace using `kubectl get all`. The `-o yaml` flag specifies that the output should be in YAML format. ```Shell kubectl get all --namespace glasskube-system -o yaml ``` -------------------------------- ### Get Help for Glasskube Zsh Completion Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/02_getting-started/01_install.mdx This command displays detailed information about persistent installation methods and usage of shell completion specifically for the Zsh shell. ```Zsh glasskube help completion zsh ``` -------------------------------- ### Get Glasskube Bootstrap Help Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/02_getting-started/02_bootstrap.mdx Displays help information and available command-line options for the `glasskube bootstrap` command. ```shell glasskube help bootstrap ``` -------------------------------- ### Showing Container Logs Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Provides commands for viewing logs from a pod's container using `kubectl logs`. Includes examples for a specific pod and for a pod managed by a deployment, mentioning the `-f` flag for streaming. ```bash # Show container logs kubectl logs -n [namespace] [pod-name] kubectl logs -n [namespace] /deployment/[deployment-name] # Use -f flag for continuous streaming ``` -------------------------------- ### Example Kustomize Directory Structure Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-10-14-kustomize-guide/index.mdx Illustrates the standard Kustomize project layout with a base directory for common manifests and an overlays directory containing environment-specific configurations and patches. ```text |-- base ingress.yaml deployment.yaml kustomization.yaml |-- overlays |-- prod ingress-patch.yaml kustomization.yaml |-- dev ingress-patch.yaml kustomization.yaml ``` -------------------------------- ### Installing Kube-policy-advisor using Krew Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Command to install the kube-policy-advisor kubectl plugin via the Krew plugin manager. Krew is a package manager for kubectl plugins. ```Shell kubectl krew install advise-policy ``` -------------------------------- ### Getting Node Information Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Provides the basic command `kubectl get node` to list information about all nodes in the cluster. ```bash # Get node information kubectl get node ``` -------------------------------- ### Installing Kustomize Standalone via Homebrew Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-10-14-kustomize-guide/index.mdx This command demonstrates how to install the standalone Kustomize command-line interface using the Homebrew package manager on macOS or Linux. This method is an alternative to using the Kustomize functionality integrated directly into kubectl. ```Shell brew install kustomize ``` -------------------------------- ### Installing KubePug using Krew Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Command to install the KubePug tool, which is available as the 'deprecations' plugin via the Krew plugin manager. KubePug helps identify deprecated Kubernetes APIs in your cluster. ```Shell kubectl krew install deprecations ``` -------------------------------- ### Start Glasskube UI Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/05_rabbitmq.mdx This command starts the Glasskube user interface, typically accessible via a web browser, allowing for package management through a GUI. ```shell glasskube serve ``` -------------------------------- ### Start Glasskube UI Server (Bash) Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/index.md This command starts a local web server that hosts the Glasskube user interface. It typically opens a browser window to the default address (http://localhost:8580), allowing users to interact with Glasskube via a graphical interface. ```bash glasskube serve ``` -------------------------------- ### Interactive Git Rebase Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Starts an interactive rebase session to rearrange, edit, or squash commits. ```bash git rebase --interactive HEAD~3 ``` -------------------------------- ### Starting Glasskube Local Backend and UI (Bash) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/08_package-creation.mdx Starts the Glasskube operator and UI locally, making the UI accessible via a web browser, typically at https://localhost:8580. Used for testing package installations and the UI. ```bash glasskube serve ``` -------------------------------- ### Install bash-completion Package for kubectl Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx This command installs the `bash-completion` package on Debian/Ubuntu systems, which is a prerequisite for enabling kubectl tab completion in Bash. It uses `sudo` to gain necessary permissions. ```bash sudo apt-get install -y bash-completion ``` -------------------------------- ### Scaling a Deployment Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Illustrates using `kubectl scale deployment` with the `--replicas` flag to adjust the number of desired replicas for a deployment. ```bash # Scale a deployment to the specified number of replicas kubectl scale deployment/ --replicas=[number] # Scale a deployment to the specified number of replicas ``` -------------------------------- ### DNS A Record Example Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-11-11-kubeflow-setup/index.mdx This text snippet shows an example of a DNS A record configuration. It demonstrates how to map the chosen domain name ('kf.example-company.com') to the external IP address assigned to the GCP Ingress Load Balancer. ```Text kf.example-company.com. 60 IN A ``` -------------------------------- ### Example Output of Kubectl Edit Command Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Displays the structure of a Kubernetes resource (a Pod in this case) as presented in the text editor when using `kubectl edit`. It includes metadata, labels, owner references, and comments explaining the editing process. ```YAML # Please edit the object below. Lines beginning with a '#' will be ignored, # and an empty file will abort the edit. If an error occurs while saving this file will be # reopened with the relevant failures. # apiVersion: v1 kind: Pod metadata: annotations: kubectl.kubernetes.io/default-container: manager creationTimestamp: "2024-04-22T17:07:39Z" generateName: glasskube-controller-manager-556ff6fccf- labels: control-plane: controller-manager pod-template-hash: 556ff6fccf name: glasskube-controller-manager-556ff6fccf-4qlxz namespace: glasskube-system ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: glasskube-controller-manager-556ff6fccf uid: 430e90e9-32f3-45f6-92dc-4bae26ae1654 "/var/folders/2q/wjmbwg1n5vn8v7vlw17nsz0h0000gn/T/kubectl-edit-1306753911.yaml" 209L, 5898B ``` -------------------------------- ### Installing kubectl-Cilium Plugin (Shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx This snippet shows the command to install the `kubectl-Cilium` plugin using the Krew package manager. This plugin is designed to interact with Cilium, an eBPF-based networking solution for Kubernetes. ```Shell kubectl krew install cilium ``` -------------------------------- ### Example Custom Value Definitions File Content (Text) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/08_package-creation.mdx Provides an example of the content for a .test/config-values.txt file, used to pass custom values to a package during automated testing in the Glasskube CI pipeline. ```text --value "firstValue=false" --value "anotherDefinedValueDefinition=" ``` -------------------------------- ### Get Help for Glasskube Auto-Update (shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/index.md Displays detailed help information and usage examples for the auto-update command and its subcommands. ```shell glasskube help auto-update ``` ```shell glasskube help auto-update enable ``` -------------------------------- ### Debug Helm Install with Dry Run (shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-10-11-helm-guide/index.mdx Provides an example of using the `--debug` and `--dry-run` flags with `helm install` to troubleshoot chart deployment issues. `--debug` provides verbose output, and `--dry-run` renders templates without deploying. ```shell helm install my-release ./my-chart --debug --dry-run ``` -------------------------------- ### Get Pods by Labels Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Lists pods in a specified namespace and includes columns showing the values of the specified labels. ```shell kubectl get pods -n [namespace] -L [label1] -L [label2] ``` -------------------------------- ### Install CloudNativePG via Glasskube CLI (Shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/09_cloudnativepg.mdx Installs the CloudNativePG operator package using the Glasskube command-line interface. The command waits for the installation to complete. ```Shell glasskube install cloudnative-pg ``` -------------------------------- ### Listing Remote Repositories Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Shows how to list the remote repositories configured for your local Git repository, including their fetch and push URLs. ```Shell git remote -v ``` -------------------------------- ### Showing Pod Labels as Columns Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Explains how to use the `-L` flag with `kubectl get pods` to include specific labels as separate columns in the output table. ```bash # Show resource labels as columns # e.g. kubectl get pods -n [namespace] -L vault-active -L vault-sealed kubectl get pods -n [namespace] -L vault-active -L vault-sealed ``` -------------------------------- ### Example Minikube Status Output Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/07_kube-prom-stack.mdx This snippet shows the expected output when the Minikube cluster is running correctly, indicating the status of the control plane, host, kubelet, apiserver, and kubeconfig. ```shell ➜ ~ minikube status minikube type: Control Plane host: Running kubelet: Running apiserver: Running kubeconfig: Configured ``` -------------------------------- ### Install Glasskube CLI via Homebrew Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-08-07-gitops-template/index.mdx Use this command to install the Glasskube command-line interface on systems where Homebrew is available. This is a prerequisite for interacting with Glasskube from your local machine. ```Shell brew install glasskube/tap/glasskube ``` -------------------------------- ### Helm Install Command Syntax (Shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-10-11-helm-guide/index.mdx Provides the general command syntax for installing a Helm chart. It requires a release name, the chart reference (name, path, or URL), and optional flags to customize the installation. ```Shell helm install [RELEASE_NAME] [CHART] [flags] ``` -------------------------------- ### Installing a Packaged Helm Chart (Shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-10-11-helm-guide/index.mdx Uses the `helm install` command to deploy a release from a local `.tgz` chart archive. It assigns a release name (`my-tutorial-release`) and specifies the path to the chart archive. ```Shell helm install my-tutorial-release my-tutorial-chart-0.1.0.tgz ``` -------------------------------- ### Show Pod Resource Usage Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Displays CPU and memory usage for a specific pod in a given namespace. Requires the Metrics Server to be installed in the cluster. ```shell kubectl top pod -n [namespace] [pod-name] ``` -------------------------------- ### Show Node Resource Utilization Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Displays CPU and memory usage for a specific node. Requires the Metrics Server to be installed in the cluster. ```shell kubectl top node [node-name] ``` -------------------------------- ### Explain Kubernetes Resource Fields Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Prints documentation for fields of a specified resource type, useful for understanding resource structure and options. ```shell kubectl explain ``` -------------------------------- ### Access Glasskube UI Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/06_quickwit.mdx Starts the Glasskube UI server, making the dashboard accessible locally via a web browser. ```bash glasskube serve ``` -------------------------------- ### Fetch Git Changes Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Downloads commits, files, and refs from a remote repository into your local repository. ```bash git fetch ``` -------------------------------- ### Get Glasskube Help (shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/index.md Prints general help information about the Glasskube CLI and its available top-level commands. ```shell glasskube help ``` -------------------------------- ### Creating ArgoCD Applications via CLI Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-10-14-kustomize-guide/index.mdx Provides example `argocd` CLI commands to create ArgoCD Application resources from YAML files. The commands demonstrate how to create separate applications for staging and production environments by referencing their respective configuration files. ```bash # create the staging app argocd app create --file path/to/my-app-staging.yaml # create the production app argocd app create --file path/to/my-app-production.yaml ``` -------------------------------- ### Installing and Using the Helm Diff Plugin - Shell Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-10-11-helm-guide/index.mdx Provides commands to install the Helm diff plugin and then use it to preview the changes that an upgrade operation would make to Kubernetes resources before applying them. ```Shell helm plugin install https://github.com/databus23/helm-diff ``` ```Shell helm diff upgrade [RELEASE_NAME] [CHART] [flags] ``` -------------------------------- ### Install kube-prometheus-stack via Glasskube CLI Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/09_cloudnativepg.mdx This command installs the kube-prometheus-stack package using the Glasskube command-line interface. This stack includes Prometheus for metric collection and Grafana for visualization, enabling monitoring of the CloudNativePG cluster. The installation can also be performed via the Glasskube console. ```shell glasskube install kube-prometheus-stack ``` -------------------------------- ### Install Quickwit via Glasskube CLI Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/06_quickwit.mdx Installs the Quickwit package onto the Kubernetes cluster using the Glasskube command-line interface. ```bash glasskube install quickwit ``` -------------------------------- ### Use Glasskube temporarily via nix-shell (NixOS) Source: https://github.com/glasskube/glasskube.dev/blob/main/src/partials/_install.mdx Launches a temporary shell environment on NixOS or systems with Nixpkgs installed, making the Glasskube package available within that shell session without a global installation. ```shell nix-shell -p glasskube ``` -------------------------------- ### Bootstrap Glasskube and ArgoCD for GitOps Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-08-07-gitops-template/index.mdx Execute this command to initialize Glasskube and ArgoCD in your Kubernetes cluster, configuring them for GitOps management. Replace `` with the URL of your Git repository that will serve as the source of truth. ```Shell glasskube bootstrap git --url ``` -------------------------------- ### Install Dependencies using npm (shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/README.md This command installs all necessary project dependencies listed in the package.json file using the npm package manager. It is the first step required to set up the project locally. ```shell npm i ``` -------------------------------- ### Get Kubernetes Resources Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Retrieves and displays one or more resources by type or name. Replace `[name]` with the resource type (e.g., `pods`, `nodes`) or a specific resource name. ```shell kubectl get [name] ``` -------------------------------- ### Viewing Deployment Rollout History Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Provides the command `kubectl rollout history` to view the history of rollouts for a specific deployment. ```bash # View rollout history of a deployment kubectl rollout history deployment/[name] # View rollout history of a deployment ``` -------------------------------- ### Start Local Development Server using npm (shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/README.md This command starts a local development server for the Docusaurus website. It typically opens a browser window and provides live reloading for most changes, facilitating rapid development. ```shell npm start ``` -------------------------------- ### Watching Events for a Deployment Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Shows how to use `kubectl events` with the `--for` flag to watch for events specifically related to a deployment in a given namespace. ```bash # Watch events related to a deployment kubectl events -n glasskube-system --for=deployment/glasskube-controller-manager ``` -------------------------------- ### Install CloudNativePG Kubectl Plugin (Shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/09_cloudnativepg.mdx Downloads and installs the CloudNativePG kubectl plugin using a shell script from the project's GitHub repository. This plugin is required to interact with CloudNativePG resources via kubectl, including certificate generation. ```shell curl -sSfL \ https://github.com/cloudnative-pg/cloudnative-pg/raw/main/hack/install-cnpg-plugin.sh | \ sudo sh -s -- -b /usr/local/bin ``` -------------------------------- ### Add kubectl Completion Source to .bashrc Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx This command appends the necessary line to your `~/.bashrc` file to source the kubectl completion script whenever a new Bash session starts. This makes the completion permanent. ```bash echo "source <(kubectl completion bash)" >> ~/.bashrc ``` -------------------------------- ### List Kubectl API Resources Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Lists the API resources available in the Kubernetes cluster that kubectl can interact with. ```shell kubectl api-resources ``` -------------------------------- ### Running a Pod with Environment Variables Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Demonstrates how to use the `--env` flag with `kubectl run` to inject environment variables into the container of a new pod. ```bash kubectl run nginx-deployment --image=nginx --env="ENV_VARIABLE=value" ``` -------------------------------- ### Example Output of Listing Glasskube Repositories (Text) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/08_package-creation.mdx Shows the expected format and content when listing Glasskube repositories, including repository name, URL, default status, authentication method, status, and a message. ```text NAME URL DEFAULT AUTHENTICATION STATUS MESSAGE argo-workflows https://raw.githubusercontent.com/jakepage91/packages/add-argo-workflows-support/packages/ No None Ready repo has 17 packages glasskube https://packages.dl.glasskube.dev/packages ``` -------------------------------- ### Install Glasskube via Homebrew (Bash) Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/index.md This command uses Homebrew, a package manager for macOS and Linux, to install the Glasskube CLI from its tap. It's the recommended method for installing the client. ```bash brew install glasskube/tap/glasskube ``` -------------------------------- ### Show Deployment Logs Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Displays the logs for the pods associated with a specific deployment. ```shell kubectl logs -n [namespace] deployment/[deployment-name] ``` -------------------------------- ### Defining a Glasskube Package Manifest (YAML) Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/06_reference/package-manifest.md This YAML snippet provides a complete example of a Glasskube package manifest file. It defines various aspects of a package, including metadata, entrypoints, Helm chart configuration, dependencies, components, transitive resources, value definitions, and transformations. ```yaml name: example scope: Namespaced defaultNamespace: default iconUrl: https://example.com/logo.jpeg shortDescription: An example package for this documentation longDescription: | An extended description of this package. Markdown is **supported**. references: - label: GitHub url: https://github.com/example/example entrypoints: - name: ui serviceName: example-ui port: 443 localPort: 8443 scheme: https helm: repositoryUrl: https://charts.example.com/ chartName: example chartVersion: v1.0.0 values: config: database: driver: postgresql manifests: - url: https://github.com/example/example/releases/v1.0.0/example.yaml dependencies: - name: cloudnative-pg version: '1.x.x' components: - name: postgresql installedName: db version: '>=1.0.0' values: enableSuperuserAccess: value: 'true' transitiveResources: - apiVersion: v1 kind: Secret name: db-app valueDefinitions: someConfigAttribute: type: text metadata: label: Some text description: Longer text constraints: required: true minLength: 5 maxLength: 24 targets: - chartName: example patch: op: add path: /config/database/dbName - resource: apiVersion: v1 kind: ConfigMap name: example patch: op: add path: /data/DB_NAME transformations: - source: path: '{ $.metadata.name }' targets: - chartName: example patch: op: add path: /config/database/dbHost valueTemplate: '"{{.}}-db-rw"' ``` -------------------------------- ### Applying Kustomize Strategic Merge and JSON Patches Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-10-14-kustomize-guide/index.mdx A Kustomization file demonstrating how to apply both strategic merge patches (via file reference) and inline JSON patches to a base resource. ```yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization patches: # Strategic merge patch - path: deployment-patch.yaml target: group: apps version: v1 kind: Deployment name: my-app # JSON patch - target: group: apps version: v1 kind: Deployment name: my-app patch: |- - op: replace path: /spec/replicas value: 5 - op: add path: /metadata/annotations/app-version value: "v2.0" resources: - ../base ``` -------------------------------- ### Install Glasskube Shell Completion (Fish) Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/02_getting-started/01_install.mdx This command pipes the completion script generated by 'glasskube completion fish' directly into the 'source' command to enable autocomplete for Glasskube commands in the current Fish shell session. ```Fish glasskube completion fish | source ``` -------------------------------- ### Install Glasskube Package (Specific Repo) Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/05_design/repositories.mdx This command installs a package by name specifically from the repository identified by the provided name. ```Shell glasskube install foo --repository=private-repo ``` -------------------------------- ### Glasskube Renovate Configuration with File Match Example Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/04_integration/renovate.md This snippet provides an example of the `fileMatch` configuration for Renovate when using the Glasskube GitOps template structure. It tells Renovate to look for Glasskube resources in `.yaml` files within the `packages` directory and its subdirectories. ```json "glasskube": { "fileMatch": [ "^packages/.*\\.yaml$" ] } ``` -------------------------------- ### Install Glasskube Shell Completion (PowerShell) Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/02_getting-started/01_install.mdx This command generates the completion script, converts it to a string, and then executes it using 'Invoke-Expression' to enable autocomplete for Glasskube commands in the current PowerShell session. ```PowerShell glasskube completion powershell | Out-String | Invoke-Expression ``` -------------------------------- ### View Git Log Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Displays the commit history. ```bash git log ``` -------------------------------- ### Checking Deployment Rollout Status Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Shows how to use `kubectl rollout status` to monitor the progress and status of a deployment rollout. ```bash # Check the status of a deployment rollout kubectl rollout status deployment/[name] ``` -------------------------------- ### Scale Deployment Replicas Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Sets the desired number of replicas for a deployment. ```shell kubectl scale deployment/[name] --replicas=[replica-count] ``` -------------------------------- ### Install Glasskube Shell Completion (Bash) Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/02_getting-started/01_install.mdx This command sources the completion script generated by 'glasskube completion bash' to enable autocomplete for Glasskube commands in the current Bash shell session. ```Bash source <(glasskube completion bash) ``` -------------------------------- ### Show Pod Logs Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Displays the logs for a specific pod. ```shell kubectl logs -n [namespace] [pod-name] ``` -------------------------------- ### Stage Git Changes Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Stages changes in specified files for the next commit. Use '.' to stage all changes. ```bash git add ``` -------------------------------- ### Clone Git Repository Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Clones a remote Git repository into a new directory on your local machine. ```bash git clone ``` -------------------------------- ### Check Git Credential Helper Configuration Bash Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Displays the currently configured credential helper for Git. This command helps verify if the 'store' helper is active. ```bash git config --global credential.helper ``` -------------------------------- ### Listing Configured Glasskube Repositories (Bash) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/08_package-creation.mdx Displays a list of all package repositories currently configured in the local Glasskube backend, showing their name, URL, status, and other details. ```bash glasskube repo list ``` -------------------------------- ### Install Glasskube Package (Default Repo Search) Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/05_design/repositories.mdx This command searches all installed repositories for a package by name. It handles cases with no matches, a single match, or multiple matches, prompting the user to choose if necessary. ```Shell glasskube install foo ``` -------------------------------- ### Open Glasskube Package Entrypoint (shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/index.md Opens the default or a specific entrypoint URL for an installed package in your web browser. ```shell glasskube open ``` ```shell glasskube open ``` -------------------------------- ### View Git Reflog Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Shows a log of where HEAD and branches have been, useful for recovering lost commits. ```bash git reflog ``` -------------------------------- ### Get Secret Value (JSONPath) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Retrieves the base64-encoded value of a specific key from a secret using JSONPath and decodes it. ```shell kubectl get secret -n [namespace] [secret-name] -o=jsonpath='{.data.[key]}' | base64 --decode ``` -------------------------------- ### Restarting a Workload Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Explains how to use `kubectl rollout restart` to trigger a restart of all pods managed by a deployment, stateful set, or daemon set in a specified namespace. ```bash # Restart a workload (e.g. deployment, stateful set, daemon set) kubectl rollout restart -n [namespace] [workload-kind]/[workload-name] # Triggers a re-creation of all pods for this workload, adhering to the workload configuration ``` -------------------------------- ### Push Git Changes Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Uploads local branch commits to the remote repository. ```bash git push ``` -------------------------------- ### Get Secret Value (Template) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Retrieves the base64-encoded value of a specific key from a secret using a Go template and decodes it. ```shell kubectl get secrets -n [namespace] [secret-name] --template='{{ .data.[key-name] | base64decode }}' ``` -------------------------------- ### Bootstrap Glasskube with GitOps using ArgoCD Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-09-09-launch-week-2/index.mdx This command initiates the Glasskube bootstrap process, specifically configuring it for GitOps integration. It sets up the necessary components to manage Glasskube packages declaratively via a Git repository, typically used in conjunction with tools like ArgoCD. ```Shell glasskube bootstrap --gitops ``` -------------------------------- ### Preparing for Git Rebase - Checkout and Fetch Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Before performing a rebase, switch to the branch you intend to rebase and fetch the latest changes from the remote repository to ensure you have the most current state. ```shell git checkout your_branch git fetch ``` -------------------------------- ### Upgrading Glasskube Cluster Components Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/02_getting-started/03_upgrading.mdx Run this command to upgrade the Glasskube cluster components using the same configuration that was used for the initial installation. ```Shell glasskube boostrap ``` -------------------------------- ### Switch Git Branch Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Switches to the specified branch. ```bash git checkout ``` -------------------------------- ### Fetching and Pulling Changes from Remote Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Demonstrates how to fetch changes from a specified remote repository without merging them into the current branch, and how to pull changes which fetches and then merges them. ```Shell # By pulling the pulled changes will be merged into your working branch git pull # If you don't want to merge the changes use git fetch ``` -------------------------------- ### Watch Nodes (Old School) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Continuously watches the status of nodes using the standard Unix 'watch' command combined with 'kubectl get nodes'. ```shell watch kubectl get nodes -o wide ``` -------------------------------- ### List Kubernetes Namespaces Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/06_quickwit.mdx Displays the namespaces present in the Kubernetes cluster after installing Quickwit, showing the newly created 'quickwit' namespace. ```shell default flux-system glasskube-system kube-node-lease kube-public kube-system kubernetes-dashboard quickwit ``` -------------------------------- ### View Rollout History Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Displays the history of rollouts for a deployment, daemonset, or statefulset, including revision numbers. ```shell kubectl rollout history [kind]/[name] ``` -------------------------------- ### Create Git Branch Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Creates a new branch with the specified name. ```bash git branch ``` -------------------------------- ### Check Rollout Status Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Shows the status of the latest rollout for a deployment, daemonset, or statefulset. ```shell kubectl rollout status [kind]/[name] ``` -------------------------------- ### Create RabbitMQ User and VHost (rabbitmqctl) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/05_rabbitmq.mdx These commands demonstrate how to use the rabbitmqctl command-line tool to add a new user, assign administrator tags, set permissions on the default vhost, create a new vhost, and set permissions for the user on the new vhost. ```Shell rabbitmqctl add_user jake jakepassword rabbitmqctl set_user_tags jake administrator rabbitmqctl set_permissions -p / jake ".*" ".*" ".*" rabbitmqctl add_vhost vhost-1 rabbitmqctl set_permissions -p vhost-1 jake ".*" ".*" ".*" ``` -------------------------------- ### Describe Glasskube Package Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/05_design/repositories.mdx This command provides details about a package, showing the repositories it is available from and the specific repository used if it is installed. ```Shell glasskube describe ``` -------------------------------- ### Comparing Kustomize Changes with Kubectl Diff Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-10-14-kustomize-guide/index.mdx Shows how to use the `kubectl diff -k` command to compare the configuration generated by Kustomize against the current state of resources in the Kubernetes cluster. This command helps visualize the changes that Kustomize would apply. ```bash kubectl diff -k ``` -------------------------------- ### Show Git Commit Log Bash Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Displays a chronological list of commits in the current branch history, starting from the most recent. Useful for reviewing project history. ```bash git log ``` -------------------------------- ### Describe Node Resource Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Shows detailed information about a specific node, including conditions, capacity, allocated resources, and events. ```shell kubectl describe node [node-name] ``` -------------------------------- ### Commit Git Changes Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/03_git-guide.mdx Records staged changes to the repository with a descriptive message. ```bash git commit -m "Commit message" ``` -------------------------------- ### Filtering Resources with --field-selector Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Explains how to use the `--field-selector` flag to filter resources based on the value of a specific field, such as getting only pods with a 'Running' status. ```bash kubectl get pods --field-selector=status.phase=Running ``` -------------------------------- ### Running a Command in an Existing Container Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Shows how to use `kubectl exec` with `-it` to run a specific command interactively inside an existing container within a pod. ```bash # Run a command inside an existing container kubectl exec -it -n [namespace] [pod-name] -- [command...] ``` -------------------------------- ### Create Deployment with Kubectl Run Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Creates a new deployment named 'nginx-deployment' using the 'run' command with the specified image. Note: 'kubectl run' is often used for single pods or simple deployments. ```shell kubectl run nginx-deployment --image=nginx ``` -------------------------------- ### Helm Dependency Management Commands Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-10-11-helm-guide/index.mdx Provides examples of using the 'helm dependency' subcommand to update and list chart dependencies as defined in the Chart.yaml file. ```shell # Update dependencies helm dependency update [CHART] # List dependencies helm dependency list ``` -------------------------------- ### Edit Resource Imperatively Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Opens the configuration of a resource in your default editor, allowing you to modify and apply changes directly. ```shell kubectl edit -n [namespace] [resource-kind]/[resource-name] ``` -------------------------------- ### Show Cluster Resource Usage Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Displays overall CPU and memory usage for nodes and pods in the cluster. Requires the Metrics Server. ```shell kubectl top ``` -------------------------------- ### Base Kubernetes Deployment Manifest Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-10-14-kustomize-guide/index.mdx A standard Kubernetes Deployment manifest used as the base configuration for demonstrating Kustomize patching techniques. ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: my-app labels: app: my-app spec: replicas: 3 template: metadata: labels: app: my-app spec: containers: - name: my-app-container image: old-image:1.0.0 env: - name: EXISTING_VAR value: "existing value" ``` -------------------------------- ### Checking Kubernetes API deprecations with KubePug Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Example command demonstrating how to use KubePug to scan a cluster for deprecated APIs against a specific Kubernetes version (v1.22). The output shows deprecated and deleted APIs found in the cluster. ```Shell $ kubepug --k8s-version=v1.22 # Will verify the current context against v1.22 version [...] RESULTS: Deprecated APIs: PodSecurityPolicy found in policy/v1beta1 ├─ Deprecated at: 1.21 ├─ PodSecurityPolicy governs the ability to make requests that affect the Security Context that will be applied to a pod and container.Deprecated in 1.21. -> OBJECT: restrictive namespace: default Deleted APIs: APIs REMOVED FROM THE CURRENT VERSION AND SHOULD BE MIGRATED IMMEDIATELY!! Ingress found in extensions/v1beta1 ├─ Deleted at: 1.22 ├─ Replacement: networking.k8s.io/v1/Ingress ├─ Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give servicesexternally-reachable urls, load balance traffic, terminate SSL, offer namebased virtual hosting etc.DEPRECATED - This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the release notes for more information. -> OBJECT: bla namespace: blabla ``` -------------------------------- ### Updating Deployment Container Image Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Explains how to use `kubectl set image` to update the container image for a specific container within a deployment. ```bash #Update Deployment Image kubectl set image deployment/[deployment-name] [container-name]=new-image:tag ``` -------------------------------- ### Describe Glasskube Package (shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/index.md Shows additional information about a specific installed package, providing details like version, status, and configuration. ```shell glasskube describe ``` -------------------------------- ### Get Secret Value using JSONPath with kubectl Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx This command retrieves a specific key's value from a Kubernetes Secret using a JSONPath expression and then decodes it from base64. Replace `[secret-name]` and `key1` with the actual secret and key names. ```bash kubectl get secrets [secret-name] -o jsonpath="{.data.key1}" | base64 --decode ``` -------------------------------- ### Example Package Folder Structure with Test File (Text) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/08_package-creation.mdx Illustrates the required folder structure for a Glasskube package that includes custom value definitions, showing the location of the .test/config-values.txt file. ```text packages/ └── argo-workflows/ ├── versions.yaml └── v3.5.8+1/ ├── .test/ │ └── config-values.txt └── package.yaml ``` -------------------------------- ### Setting Labels and Annotations with Kustomize YAML Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-10-14-kustomize-guide/index.mdx This Kustomization snippet demonstrates how to apply common labels and annotations to all resources listed in the `resources` field. Existing keys will be overridden. ```yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization #setting labels commonLabels: someName: someValue owner: jake managed-by: gitops #setting annotations commonAnnotations: version: "v1.2.3" resources: - deployment.yaml ``` -------------------------------- ### Get Secret Value using Go Template with kubectl Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx This command retrieves a specific key's value from a Kubernetes Secret and decodes it from base64 using a Go template. It requires specifying the namespace, secret name, and the key name. Replace placeholders accordingly. ```bash kubectl get secrets -n [namespace] [secret-name] --template='{{ .data.[key-name] | base64decode }}' ``` -------------------------------- ### Showing Pod Resource Usage Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Uses `kubectl top pod` to display the CPU and memory usage for a specific pod in a given namespace. ```bash # Show resource usage of a pod kubectl top pod -n [namespace] [pod-name] ``` -------------------------------- ### Install kube-prometheus-stack via CLI Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/07_kube-prom-stack.mdx This command uses the Glasskube command-line interface to install the kube-prometheus-stack package directly. The process waits until the installation is complete. ```shell glasskube install kube-prometheus-stack ``` -------------------------------- ### Example Helm Chart Directory Structure Source: https://github.com/glasskube/glasskube.dev/blob/main/blog/2024-10-11-helm-guide/index.mdx Illustrates the standard file layout of a Helm chart, showing required and optional files and directories that constitute a chart package. ```text mychart/ Chart.yaml # Required: Chart metadata (name, version, description, etc.) LICENSE # Optional: License information README.md # Optional: Human-readable README file values.yaml # Default configuration values values.schema.json # Optional: JSON schema for values validation charts/ # Directory for chart dependencies if present templates/ # Kubernetes manifests and template files deployment.yaml service.yaml _helpers.tpl # Example of a partial template NOTES.txt # Optional: Usage notes displayed after installation ``` -------------------------------- ### Install Glasskube via Homebrew (macOS) Source: https://github.com/glasskube/glasskube.dev/blob/main/src/partials/_install.mdx Installs the Glasskube CLI tool on macOS using the Homebrew package manager by tapping the official Glasskube repository and then installing the package. ```shell brew install glasskube/tap/glasskube ``` -------------------------------- ### Installing cert-manager with Glasskube CLI (Shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/01_cert-manager.mdx This command uses the Glasskube command-line interface to install the cert-manager package into the Kubernetes cluster. The command waits for the installation process to complete successfully. -------------------------------- ### Install ingress-nginx via Glasskube CLI (Shell) Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/02_ingress-nginx.mdx This command uses the Glasskube command-line interface to install the ingress-nginx package directly into your Kubernetes cluster. The command will wait for the installation process to complete successfully before exiting. ```shell glasskube install ingress-nginx ``` -------------------------------- ### Install Glasskube via dnf (Linux RPM) Source: https://github.com/glasskube/glasskube.dev/blob/main/src/partials/_install.mdx Installs the Glasskube CLI tool on RPM-based Linux distributions (like RedHat, CentOS, Fedora) using the dnf package manager by directly installing the provided RPM package URL. ```shell dnf install https://releases.dl.glasskube.dev/glasskube_v0.26.1_amd64.rpm ``` -------------------------------- ### Example Glasskube Package Manifest YAML Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/08_package-creation.mdx Illustrates the basic structure of a Glasskube package manifest file using YAML, defining package metadata, dependencies (Helm, manifests), value definitions, and entrypoints. ```yaml # yaml-language-server: $schema=https://glasskube.dev/schemas/v1/package-manifest.json name: my-package scope: Cluster shortDescription: A short description of the package longDescription: | A longer description to be displayed in the UI iconUrl: https://avatars.githubusercontent.com/u/12345678 helm: chartName: my-chart chartVersion: repositoryUrl: https://helm.repo.url values: serviceAccount: name: my-service-account ingressController: config: {} manifests: - url: https://k8s.manifest.url valueDefinitions: automaticHTTPS: metadata: description: Add your email address for automatic HTTPS - "your@email.com" type: text targets: - chartName: chartName patch: op: add path: /ingressController/config/email references: - label: ArtifactHub url: https://artifacthub.url entrypoints: - serviceName: my-service port: 80 localPort: 8030 name: ui ``` -------------------------------- ### Bootstrap Glasskube (All-In-One) Source: https://github.com/glasskube/glasskube.dev/blob/main/docs/package-manager/02_getting-started/02_bootstrap.mdx Installs the Glasskube Package Operator and its associated CRDs in an All-In-One configuration, which includes a bundled subset of Flux. This is the default bootstrap method for most users. ```shell glasskube bootstrap ``` -------------------------------- ### Install Glasskube via curl/apk (Linux Alpine) Source: https://github.com/glasskube/glasskube.dev/blob/main/src/partials/_install.mdx Downloads the Glasskube APK package using curl and then installs it on Alpine Linux distributions using the apk package manager, allowing untrusted packages. ```shell curl -LO https://releases.dl.glasskube.dev/glasskube_v0.26.1_amd64.apk apk add --allow-untrusted glasskube_v0.26.1_amd64.apk ``` -------------------------------- ### Creating and Deleting Resources Imperatively with Kubectl Source: https://github.com/glasskube/glasskube.dev/blob/main/guides/package-manager/04_kubectl-guide.mdx Shows basic imperative commands for managing Kubernetes resources. `kubectl run` creates a new deployment with a specified image, while `kubectl delete pod` removes a pod by name from the default namespace. ```Shell # Create a new deployment named "nginx-deployment" with the nginx image kubectl run nginx-deployment --image=nginx # Delete a pod named "nginx-deployment" in the default namespace kubectl delete pod nginx-deployment ```