Kanvas Snapshot

Render infrastructure files as Kanvas designs outside the canvas, in pull requests and from the command line, and see which platforms and inputs are supported.

Kanvas Snapshot turns an infrastructure-as-code file into a picture of the design it describes. It runs as a GitHub workflow or as a Helm plugin, not in the Kanvas canvas, so reviewers see the shape of a change (which components exist and how they connect) without reading YAML or opening Kanvas.

A snapshot is standalone. It never connects to your cluster and never deploys anything. It reads the file you point it at, builds a design from it, and renders that design to an image.

  1. Reads a Kubernetes manifest, a Docker Compose file, or a Helm chart.
  2. Builds a Kanvas design from it. The design imports the same way any file imported into Kanvas does.
  3. Renders the design to an image. The render runs on Layer5’s hosted Meshery Playground when it is reachable. Otherwise the workflow starts a temporary local Meshery on a KinD cluster inside the GitHub runner.
  4. Delivers the image: as a comment on the pull request, or as a URL printed in your terminal.

The pull request comment links the image to a copy of the design in the catalog and a copy you can edit in the Playground. Each later run of the workflow updates the same comment instead of adding another.

GoalMethodGuide
Add snapshots to pull requests in selected repositories, with the workflow installed for youLayer5 GitHub App and the Layer5 Cloud connection wizardVisualize Pull Requests with Kanvas Snapshot
Add snapshots to a workflow you maintain, or trigger one on events other than pull requestsThe Kanvas Snapshot GitHub Action used directlyVisualize Pull Requests with Kanvas Snapshot
Get a snapshot of a Helm chart from a terminal, with no repository involvedThe Helm pluginSnapshot a Helm Chart
CapabilityGitHub Action and Layer5 GitHub AppHelm plugin
Kubernetes manifestsYesNo
Docker Compose filesYes, set through the actionNo
Helm chartsYes, set through the actionYes, by chart URL
DeliveryComment on a pull requestURL in the terminal, or email
Needs a Layer5 Cloud accountYes. The workflow authenticates with a Layer5 Cloud API token.No
Needs access to your clusterNoNo
Source platformSupported
GitHub.com, with the Layer5 GitHub AppYes
GitHub.com, with your own workflow and a personal access tokenYes
GitHub Enterprise ServerNo
GitLabNo
BitbucketNo
ArtifactHubNo

A snapshot shows the current file only. Snapshots do not show a diff between the pull request and its base branch, and they do not create or deploy anything from a pull request.

Workspaces
CapabilityWhat it doesFreeTeam DesignerTeam OperatorEnterprise
GitOps SnapshotsVisual insights in your pull requests in GitHub. Verify your workload designs and Kubernetes cluster configurations prior to accepting and merging pull requests.Not includedIncludedNot includedIncluded

Connecting GitHub and generating the API token need a signed-in Layer5 Cloud account. Snapshots use no named permission. Running the action in your own workflow needs only the API token and a GitHub token that can comment on pull requests.

The API token is scoped to your user account. See Tokens.


Visualize Pull Requests with Kanvas Snapshot

Post a rendered snapshot of your infrastructure files as a comment on every GitHub pull request, using the Layer5 GitHub App or your own workflow.

Snapshot a Helm Chart

Generate a rendered image of a Helm chart from the command line with the Kanvas Snapshot Helm plugin, and receive it by URL or email.

Related Reading