As a self-service engineering platform, Meshery enables collaborative design and operation of cloud and cloud native infrastructure.
Overview & Installation
- π Quick Start , Overview, and FAQs
Installation
- Getting Started
- Accessing Meshery UI - Accessing Meshery's web-based user interface
- Advanced Configuration - Advanced installation and runtime configuration topics for Meshery.
- Install on Docker - Install Meshery on Docker
- Install on Kubernetes - Install Meshery on Kubernetes. Deploy Meshery in Kubernetes in-cluster or outside of Kubernetes out-of-cluster.
- Install using mesheryctl - Use Meshery CLI to install Meshery on supported platforms.
- Installation
- Overview - Meshery is the self-service engineering platform, enabling collaborative design and operation of cloud and cloud native infrastructure.
- Production Deployment - Considerations, best practices, security hardening, performance bounds, and operational readiness guidance for deploying Meshery in production.
- Upgrading Meshery - How Meshery's components version together, and the step-by-step procedure for upgrading the CLI, Server, Operator, MeshSync, and Broker on Docker and Kubernetes deployments.
- Using Meshery Playground - Try Meshery in your browser, connected to live Kubernetes clusters, without installing anything.
Concepts
Logical
- Getting Started
- Components - Meshery Components identify and characterize infrastructure under management.
- Connections - Meshery Connections are managed and unmanaged resources that either through discovery or manual entry are managed by a state machine and used within one or more Environments.
- Credentials - Meshery uses one or more Credentials when authenticating to a managed or unmanaged Connection.
- Designs - Meshery Designs are descriptive, declarative characterizations of how your Kubernetes infrastructure should be configured.
- Environments - Environments are how you organize your deployment targets (whether on-premises servers or cloud services) into resource groups.
- Models - Meshery uses a set of resource models to define concrete boundaries to ensure extensible and sustainable management.
- Organizations - Organizations are the unit of tenancy in Meshery β they group users together and own all of the resources those users create.
- Patterns - Meshery Patterns are descriptive, declarative characterizations of how your Kubernetes infrastructure should be configured.
- Policies - Meshery Policies enable you with a broad set of controls and governance of the behavior of systems under Meshery's management.
- Registry - Meshery Registry is a database acting as the central repository for all capabilities known to Meshery. These capabilities encompass various entities, including models, components, relationships, and policies.
- Relationships - Meshery Relationships identify and facilitate genealogy between Components.
- Workspaces - Meshery Workspaces act as central collaboration point for teams.
Architectural
- Getting Started
- Adapters - Adapters extend Meshery's management capabilities in any number of ways, including lifecycle, configuration, performance, governance, identity...
- Broker - Meshery broker component facilitates data streaming between kubernetes cluster components and outside world.
- Catalog - Browsing and using cloud native patterns
- Database - Meshery offers support for internal caching with the help of file databases. This has been implemented with several libraries that supports different kinds of data formats.
- Deployment Engine - How Meshery fulfills a design - resolving the registrant behind each component and routing that component either to Meshery Server itself or to a Meshery Adapter.
- MeshSync - MeshSync ensures Meshery Server is continuously in-sync with the state of infrastructure under management.
- Operator - Meshery Operator controls and manages the lifecycle of components deployed inside a kubernetes cluster
Guides & Tutorials
Using Meshery CLI Guides
- Getting Started
- Authenticating Meshery via CLI - Log in to Meshery Server from mesheryctl and get an authentication token.
- Configuring Autocompletion for `mesheryctl` - Bash, Zsh, Oh My Zsh, and fish autocompletion for `mesheryctl` commands.
- Mesheryctl system commands - Use mesheryctl system commands to start, stop, update, and inspect your Meshery deployments.
- Running mesheryctl in a CI Pipeline - Install mesheryctl on a CI runner, authenticate it without a browser, point it at a Meshery Server, and run commands non-interactively.
- Running system checks using Meshery CLI - Run pre-flight and post-deployment system health checks using Meshery's CLI, mesheryctl.
- Using Meshery CLI - Guides for common tasks while using Meshery's CLI, mesheryctl.
π§βπ¬ Tutorials
Infrastructure Management
- Getting Started
- Bringing Existing Infrastructure Under Meshery Management - What happens when you point Meshery at a cluster that is already running workloads - how brownfield discovery works, what to evaluate before you connect, the end-to-end process, and the caveats.
- Configuring Meshery Operator, MeshSync, and Broker - Tune how Meshery deploys and operates Meshery Operator, MeshSync, and Meshery Broker on your clusters - deployment modes, discovery scope, secret handling, service networking, and the behavioral impact of every setting.
- Deploying a Design - Validate, dry-run, deploy, and undeploy a Meshery Design on the Kubernetes clusters in your Environments, and read the deployment results.
- Envoy WASM Filter Management - Import, inspect, publish, and remove Envoy WebAssembly (WASM) filters with Meshery UI and mesheryctl.
- GitOps with Meshery - Add Meshery's GitHub Actions to your pipelines to render a visual snapshot of your infrastructure on each pull request and to catch performance regressions before you merge.
- Kubernetes Connection Lifecycle - What happens end-to-end when Meshery manages a Kubernetes cluster - the connection states, the in-cluster components (Operator, Broker/NATS, MeshSync), MeshSync deployment modes, how Meshery reaches and authenticates to the Broker, the built-in Diagnostics, and how to operate and troubleshoot it all.
- Managing Connections - Find, inspect, transition, reconfigure, and remove the Connections Meshery manages, from Meshery UI or mesheryctl.
- Managing Events with Notification Center - Meshery tracks operations performed on your infrastructure and workloads, and provides notification of environment issues, application conflicts with infrastructure configuration, policy violations, and so on.
- Overview - Meshery provides the ability to manage infrastructure for agility, maintainability, diversity, reliability and isolation, security, and speed.
- Registering a Connection - Use the Connection Wizard to create and update Connections - Kubernetes clusters, Grafana, Prometheus, and more - in your Meshery deployment.
- Sharing a Cluster with Your Team - Give your teammates access to a Kubernetes cluster you manage in Meshery by grouping it into an Environment, attaching the Environment to a Workspace, and assigning teams to the Workspace.
Performance Management
- Getting Started
- Interpreting Performance Test Results - Read the latency and throughput results of a Meshery performance test, and compare runs in a way that produces useful conclusions.
- Managing Performance - Organize load tests into performance profiles, choose and configure the load generator, and read infrastructure metrics alongside your results.
- Performance Management with Meshery - Run a load test against a service endpoint from Meshery UI, mesheryctl, or a CI pipeline, save it as a reusable performance profile, and compare results over time.
- Using Metrics in Meshery - How to view Prometheus and Grafana metrics in Meshery
Configuration Management
- Getting Started
- Create Models - A comprehensive guide on creating models in Meshery, covering both CLI and UI methods.
- Creating a Meshery Design - Learn how to create a Meshery Design using the built-in Design Configurator in Meshery UI or the mesheryctl CLI.
- Edge Styles Guide - Learn about the different edge styles and how to interpret their visual meaning in Meshery's component relationships.
- Exporting Models - Export a Meshery Model as an OCI image or a compressed archive.
- Identifying Meshery Components - A guide to help you identify and understand the various component icons, shapes, and visual styles used across the Meshery UI.
- Importing and Exporting Designs - Manage and transfer Meshery designs seamlessly through import and export using CLI and UI.
- Importing Models - Import an existing Meshery Model into Meshery's registry from a file, a directory, a URL, or CSV files.
- Push or Pull a Model Image - Push or pull a model image to or from an OCI-compatible image repository.
Troubleshooting Guides
- Getting Started
- Meshery Operator, MeshSync, Broker Troubleshooting Guide - Comprehensive guidance for troubleshooting Meshery Operator, MeshSync and Broker deployments under various scenarios.
- Troubleshooting Errors while running Meshery - Troubleshoot errors from mesheryctl system start and from running Meshery Server locally with make server.
- Troubleshooting Extensions for Local Development - A guide to troubleshooting Meshery extensions in a local development environment.
- Troubleshooting Meshery Installations - Troubleshoot Meshery installation and deployment
Integrations & Extensions
Extensions
- Getting Started
- Academies - Transform Meshery into an integrated learning platform.
- Adapters - Meshery architecture is extensible. Meshery provides several extension points for working with different cloud native infrastructure via adapters, load generators and providers.
- Extensions - Meshery architecture is extensible. Meshery provides several extension points for working with different cloud native infrastructure via adapters, load generators and providers.
- Models - Meshery architecture is extensible. Meshery provides several extension points for working with different cloud native projects via adapters, load generators and providers
Models
- Getting Started
- App Definition and Development (84)
- Provisioning (69)
- Observability and Analysis (56)
- Cloud Native Network (43)
- Orchestration & Management (35)
- Security & Compliance (30)
- Database (19)
- Runtime (18)
- Cloud Native Storage (10)
- Tools (8)
- Serverless (7)
- Machine Learning (6)
- Platform (6)
- Analytics (2)
- See all 393 models
Contributing & Community
Community
- Getting Started
- Community - Meshery's open source, cloud native community
- Compatibility Matrix
- Contributing - How to contribute to the Meshery project and any of its components.
- Project
- Releases - List of released Meshery versions and their release notes.
- Security Vulnerabilities - How the Meshery team handles security vulnerabilities.
Contributing
- Getting Started
- Build & Release (CI) - Details of Meshery's build and release strategy.
- Build Environment Gotchas - Local build and dependency failures in Meshery that report a cause other than their own.
- Contributing Relationships - Testing and Best Practices - How to test, validate, and debug relationship definitions before contribution
- Contributing to Meshery Adapters - How to contribute to Meshery Adapters
- Contributing to Meshery CLI - How to contribute to the Meshery CLI and its commands.
- Contributing to Meshery Docker Extension - How to contribute to Meshery Docker Extension
- Contributing to Meshery Docs - How to contribute to Meshery Docs.
- Contributing to Meshery Models - How to contribute to the Meshery models and their components.
- Contributing to Meshery Operator - How to build, test, and deploy Meshery Operator from source
- Contributing to Meshery Policies - How to contribute to Meshery Policies
- Contributing to Meshery Schemas - How to contribute to Meshery Schemas
- Contributing to Meshery Server - How to contribute to Meshery Server
- Contributing to Meshery Server Events - Guide is to help backend contributors send server events using Golang.
- Contributing to Meshery UI - How to contribute to the Meshery UI and its components.
- Contributing to Meshery using git - How to contribute to Meshery using git
- Contributing to MeshSync - How to build, run, test, and contribute to MeshSync from source
- Contributing to Operator, MeshSync & Broker Settings - The complete surface of settings that govern Meshery Operator, MeshSync and Meshery Broker behavior: where each one lives, what it writes, what reads it, and what happens when it changes.
- Go Lint Rules - The repo-specific Go lint gates Meshery enforces in CI, what each one is protecting, and what to do when one fires.
- How to write MeshKit compatible errors - How to declare errors in Meshery components.
- HTTP Error Response Contract - How Meshery Server responds to error conditions over HTTP, and how clients should parse those responses.
- Meshery Documentation Structure and Organization - Audience, high-Level outline & information architecture for Meshery Documentation
- Setting up Meshery Development Environment on Windows - How to set up Meshery Development Environment on Windows
Extensibility & Reference
Reference
- Getting Started
- Command Line Reference - A guide to Meshery's CLI: mesheryctl
- Error Codes - Meshery Error Code Reference for all Meshery components so that you can troubleshoot issues.
- GraphQL API Reference - Meshery GraphQL API Documentation and Reference
- Meshery Operator CRDs - Details of the Custom Resource Definitions included in Meshery Operator and used by its custom controllers.
- Permission Keys - List of default permissions.
- REST API - Meshery REST API documentation
Extensibility
- Getting Started
- Ensuring Extension Compatibility - A guide for Meshery extension developers on maintaining compatibility with the Meshery platform, covering shared frameworks, dependencies, and build tooling.
- Extensibility: APIs - Meshery architecture is extensible, offering an array of extension points and REST and GraphQL APIs.
- Extensibility: Authorization - Meshery architecture is extensible. Meshery provides several extension points for working with different cloud native projects via authorization, adapters, load generators and providers.
- Extensibility: Build-time - System integrators can supply build-time configuration, data, packages, and other extensions to Meshery's container image.
- Extensibility: Load Generators - Meshery offers support for more types of Kubernetes and cloud native infrastructure than any other project or product in the world. Meshery uses adapters for more deeply managing specific types of infrastructure.
- Extensibility: Providers - Meshery uses providers to enrich the level of depth by which it manages cloud native infrastructure.
- Extensibility: Schemas - Meshery schemas support x-* vendor extensions as an intentional extensibility mechanism for remote providers to attach provider-specific metadata.
- Extensibility: UI - Meshery offers support for more adapters than any other project or product in the world. Meshery UI has a number of extension points that allow users to customize their experience with third-party plugins.
Follow on X or subscribe to our newsletter for the latest updates. Get support on our forum. Join our Slack to interact directly with other users and contributors.