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.
Table of Contents
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.
- 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.
To install the Meshery Snapshot Helm Plugin, use the following steps:
helm
must be [installed]( helm plugin install https://github.com/meshery/helm-kanvas-snapshot) on your system.- (Optional) A free Layer5 Cloud user account.
- Environemnt Variables:
- ...?
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).
Once the plugin is installed, you can generate a snapshot using either a packaged or unpackaged Helm chart.
helm snapshot -f <chart-URI> [-n <snapshot-name>] [-e <email>]
-f
,--file
: (required) path or URL to the Helm chart (required).-n
,--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 -n meshery-chart
Please do! Thank you for your help in improving this Meshery extension! 🎈
Start by forking the repository.
1. Fork the Repository
To get started, you'll first need to clone the Meshery Snapshot Helm Plugin repository from GitHub. Run the following command in your terminal:
git clone https://github.com/layer5labs/meshery-extensions-packages.git
2. Navigate to the Plugin Directory
Once the repository is cloned, navigate to the helm-kanvas-snapshot
directory.
cd helm-kanvas-snapshot
3. Replace the placeholder values with your actual credentials.
4. Build the binary
make
5. Install the Snapshot plugin
helm plugin install kanvas-snapshot
6. Test the Plugin Locally
Once the plugin is built, you can test it locally. For example, to generate a snapshot for a Helm chart, run the following command:
helm kanvas-snapshot -f https://meshery.io/charts/v0.8.0-meshery.tar.gz -n meshery-chart
This command will trigger the snapshot generation process. If everything is set up correctly, you should see a visual snapshot URL or receive the snapshot via email, depending on the options you specified.
7. Debugging
If you encounter any issues during testing, check the log file generated in the snapshot-plugin
directory. The logs can provide more insight into any errors that may occur.
To check the logs, open the log file in your preferred text editor:
cat snapshot.log
This file contains a timestamped log of operations performed during the snapshot generation process.
Our projects are community-built and welcome collaboration. 👍 Be sure to see the Contributor Journey Map and Community Handbook for a tour of resources available to you and the Repository Overview for a cursory description of repository by technology and programming language. Jump into community Slack or discussion forum to participate.
MeshMates are experienced Layer5 community members, who will help you learn your way around, discover live projects, and expand your community network. Connect with a Meshmate today!
Find out more on the Layer5 community.
✔️ Join any or all of the weekly meetings on community calendar.
✔️ Watch community meeting recordings.
✔️ Fill-in a community member form to gain access to community resources.
✔️ Discuss in the Community Forum.
✔️ Explore more in the Community Handbook.
Not sure where to start? Grab an open issue with the help-wanted label.
Please do! We're a warm and welcoming community of open source contributors. Please join. All types of contributions are welcome. Be sure to read the Contributor Guides for a tour of resources available to you and how to get started.
If you like Meshery, please ★ star this repository to show your support! 🤩
This repository and site are available as open-source under the terms of the Apache 2.0 License.