Helm Kanvas Snapshot
Extension Overview
The Kanvas Snapshot Helm Plugin allows users to generate a visual snapshot of their Helm charts directly from the command line. It simplifies the process of creating Meshery Snapshots, providing a visual representation of packaged Helm charts. This plugin integrates with Meshery Cloud and GitHub Actions to automate the workflow of snapshot creation, which is especially useful for Helm users who need to quickly visualize their chart configurations.
Helm charts can be complex, especially when custom configurations are applied via values.yaml
files. This Meshery extension bridges the gap between Helm chart configurations and their visual representation by converting Helm charts into Kanvas Snapshots. These snapshots can be received either via email or as a URL displayed directly in the terminal.
Features
- Snapshot Generation: Create visual snapshots of Helm charts, complete with associated resources.
- Synchronous/Asynchronous Delivery: Choose between receiving snapshots via email or directly in the terminal.
- Seamless Integration: Leverages Meshery Cloud and GitHub Actions to handle snapshot rendering.
- Support for Packaged Charts: Works with both packaged
.tar.gz
charts and unpackaged Helm charts.
Installation and Use
To install the Meshery Snapshot Helm Plugin, use the following steps:
Prerequisites
helm
must be installed on your system.- (Optional) A free Layer5 Cloud user account.
Plugin Installation
-
Run the following command to install the Helm Kanvas Snapshot plugin:
helm plugin install https://github.com/meshery/helm-kanvas-snapshot
-
Verify the installation by running:
helm plugin list
You should see the Kanvas Snapshot listed as
snapshot
. -
Set up the required environment variables (see the Environment Variables section).
Usage
Once the plugin is installed, you can generate a snapshot using either a packaged or unpackaged Helm chart.
helm snapshot -f <chart-URI> [--name <snapshot-name>] [-e <email>]
-f
,--file
: (required) path or URL to the Helm chart (required).--name
: (optional) name for the snapshot. If not provided, a name will be auto-generated based on the chart name.-e
,--email
: (optional) email address to notify when snapshot is ready. If not provided, a link to the snapshot will be displayed in the terminal.
Example
To generate a snapshot for a Helm chart located at https://meshery.io/charts/v0.8.0-meshery.tar.gz
, you can use:
helm snapshot -f https://meshery.io/charts/v0.8.0-meshery.tar.gz --name meshery-chart
About Meshery Extensions
Meshery Extensions are plugins or add-ons that enhance the functionality of the Meshery platform beyond its core capabilities. Meshery supports different types of extensions (docs):
- Adapters: Adapters allow Meshery to interface with the different cloud native infrastructure.
- Load Generators: for performance characterization and benchmarking
- Integrations: model-based support for a broad variety of design and orchestration of cloud and cloud native platforms, tools, and technologies.
- Providers: for connecting to different cloud providers and infrastructure platforms
- UI Plugins: Meshery UI has a number of extension points that allow users to customize their experience with third-party plugins.
Suggested Reading
- Component Shape Guide - Kubernetes architecture deployment and architecture diagramming tool for cloud native applications - Kanvas.
- Edges Style Guide - Visualize and manage complex cloud-native relationships with Kanvas' dynamic edge styling in Kubernetes architecture.
- Importing existing applications - Import your existing applications into Meshery.
- Importing a Design - Import your existing application definitions and infrastructure configuration into Meshery.
- kubectl Kanvas Snapshot - Screenshot service provided via Kanvas to capture a snapshot of your infrastructure at any given time.
- kubectl MeshSync Snapshot - A native kubectl plugin for conveniently synchronizing the state of your cluster with Meshery Server.
- Kanvas Snapshot - Screenshot service provided via Kanvas to capture a snapshot of your infrastructure at any given time.
- Kanvas - Collaborative cloud native visual designer to design and manage infrastructure and applications.
- Merging Designs - Treat other designs as templates or building blocks and combine your designs with others and power-up your designs.
- Publishing a Design - Publishing a design lets you make your content visible to any anonymous visitor with the link.
- Sharing a Design - Sharing a design lets you make your content visible to any anonymous visitor of meshery.io/catalog and any Meshery Cloud user.
- Working with Tags - Tags can be used to visually group components.