Skip to main content
The Meshery Design Catalog is a curated collection of reusable infrastructure patterns, configurations, and best practices for Kubernetes and cloud native technologies. Browse pre-built designs, import them into your workspace, and deploy to your clusters with a single click.

Overview

The Design Catalog provides:
  • Curated Patterns: Pre-built infrastructure designs following best practices
  • Community Contributions: Patterns shared by the Meshery community
  • One-click Deploy: Deploy catalog patterns directly to your clusters
  • Customizable Templates: Use as starting points for your own designs
  • Version Control: Track pattern versions and updates
  • OCI Artifacts: Patterns packaged as OCI artifacts for distribution

300+ Patterns

Browse hundreds of pre-configured infrastructure patterns

Best Practices

All patterns follow cloud native best practices and standards

Quick Start

Deploy complete stacks in minutes instead of hours

Community Driven

Contribute and benefit from community knowledge

Browsing the Catalog

Accessing the Catalog

1

Navigate to Catalog

Go to Configuration > Catalog in the Meshery UI
2

Browse Patterns

Scroll through available patterns or use search and filters
3

View Details

Click on a pattern to see detailed information and preview
4

Import or Deploy

Import to workspace for customization or deploy directly
Access the catalog online: https://meshery.io/catalog

Pattern Categories

Patterns are organized into categories:
Complete application deployments including frontend, backend, database, and caching layers
Pre-configured service mesh setups for Istio, Linkerd, Consul, and others
Monitoring, logging, and tracing stack configurations (Prometheus, Grafana, Jaeger)
Security policies, RBAC configurations, network policies, and certificate management
Continuous integration and deployment pipelines (ArgoCD, Flux, Jenkins)
Database deployments for PostgreSQL, MySQL, MongoDB, Redis, and others
Ingress controllers, load balancers, service meshes, and network policies
Persistent storage configurations, CSI drivers, and backup solutions

Search and Filters

Find patterns efficiently:
  • Search by Name: Search for patterns by name or description
  • Filter by Technology: Filter by Kubernetes, Istio, Prometheus, etc.
  • Filter by Type: Application, configuration, policy, etc.
  • Filter by Complexity: Simple, intermediate, advanced
  • Sort Options: By popularity, recent updates, name, or rating

Using Catalog Patterns

Importing Patterns

Import catalog patterns to your workspace:
1

Select Pattern

Find and click on the pattern you want to use
2

Review Details

Examine the pattern components and configuration
3

Click Import

Click “Import” to add the pattern to your workspace
4

Customize

Modify the imported pattern in Kanvas to fit your needs
5

Save

Save your customized version with a new name
Using mesheryctl:
# Browse catalog patterns
mesheryctl pattern catalog list

# View pattern details
mesheryctl pattern catalog view <pattern-id>

# Import pattern to workspace
mesheryctl pattern catalog import <pattern-id>

# Search catalog
mesheryctl pattern catalog search "istio"

Deploying from Catalog

Deploy catalog patterns directly without importing:
1

Select Pattern

Choose the pattern you want to deploy
2

Click Deploy

Click the “Deploy” button on the pattern detail page
3

Select Target

Choose which Kubernetes context(s) to deploy to
4

Configure Options

Set deployment namespace and any required parameters
5

Confirm Deploy

Review and confirm the deployment

Pattern Details

Pattern Information

Each catalog pattern includes: Metadata:
  • Pattern name and description
  • Author and publisher information
  • Version and last updated date
  • Technology stack (Kubernetes version, integrations)
  • Complexity level
Documentation:
  • Overview and use cases
  • Architecture diagram
  • Component descriptions
  • Configuration instructions
  • Prerequisites and dependencies
Visual Preview:
  • Visual representation in Kanvas format
  • Component relationships
  • Network topology
  • Resource organization

Pattern Components

View what’s included in each pattern:

Resources

List of all Kubernetes resources (Deployments, Services, etc.)

Dependencies

Required CRDs, operators, or external services

Configuration

ConfigMaps, Secrets (templates), and environment variables

Policies

Network policies, RBAC rules, and security policies

Publishing to Catalog

Sharing Your Patterns

Contribute your designs to the community catalog:
1

Create Design

Build and test your design in Meshery
2

Add Documentation

Write clear description, use cases, and instructions
3

Set Metadata

Add tags, category, and complexity level
4

Publish

Click “Publish to Catalog” in the design menu
5

Review Process

Pattern enters review queue for catalog approval

Publication Requirements

To publish patterns to the catalog:
  • Design must deploy successfully
  • All components properly configured
  • No hard-coded credentials or secrets
  • Follows Kubernetes best practices

Publishing via API

mutation PublishPattern($input: PublishCatalogItemInput!) {
  publishCatalogItem(input: $input) {
    id
    name
    visibility
    catalog_data {
      published_version
      content_class
    }
  }
}

Application Patterns

Bookinfo Application (Istio)
  • Complete microservices demo application
  • Product page, details, reviews, ratings services
  • Istio service mesh integration
  • Traffic management and observability
NGINX Ingress with TLS
  • NGINX Ingress Controller deployment
  • TLS certificate management
  • Virtual host configurations
  • Backend service routing
WordPress with MySQL
  • WordPress application deployment
  • MySQL database with persistent storage
  • Service exposure configuration
  • Resource limits and requests

Observability Patterns

Prometheus Stack
  • Prometheus server deployment
  • Node exporter for metrics
  • kube-state-metrics
  • Service monitors configuration
Grafana Dashboard
  • Grafana deployment
  • Prometheus datasource
  • Pre-configured dashboards
  • Authentication setup
Jaeger Tracing
  • Jaeger operator deployment
  • Collector and query services
  • Storage configuration
  • Service mesh integration

Security Patterns

Network Policies
  • Default deny all traffic
  • Allow traffic between specific services
  • Namespace isolation
  • Egress controls
RBAC Configuration
  • Service accounts
  • Roles and cluster roles
  • Role bindings
  • Principle of least privilege examples

Catalog Integration

OCI Artifact Distribution

Catalog patterns are distributed as OCI artifacts:
# Pull pattern as OCI artifact
mesheryctl pattern pull oci://meshery.io/catalog/nginx-ingress:v1.0

# Deploy from OCI artifact
mesheryctl pattern deploy oci://meshery.io/catalog/nginx-ingress:v1.0

# List available versions
mesheryctl pattern versions oci://meshery.io/catalog/nginx-ingress

Private Catalogs

Organizations can maintain private catalogs:
1

Set Up Private Registry

Configure OCI-compliant registry for pattern storage
2

Configure Meshery

Add private registry credentials to Meshery
3

Publish Patterns

Publish organization patterns to private catalog
4

Access Control

Control access via registry authentication

Pattern Versioning

Version Management

Catalog patterns support semantic versioning:
  • Major Version: Breaking changes or significant redesigns
  • Minor Version: New features or enhancements
  • Patch Version: Bug fixes and minor updates
Example versions:
  • v1.0.0 - Initial release
  • v1.1.0 - Added monitoring components
  • v1.1.1 - Fixed resource limits
  • v2.0.0 - Redesigned for Kubernetes 1.28+

Updating Patterns

Keep deployed patterns up to date:
# Check for pattern updates
mesheryctl pattern update check <pattern-id>

# Update to latest version
mesheryctl pattern update <pattern-id>

# Update to specific version
mesheryctl pattern update <pattern-id> --version v2.0.0

Best Practices

Always review pattern components and configuration before deploying to production environments.
Deploy catalog patterns to development or staging environments first to verify compatibility.
Import patterns to your workspace and customize resource limits, replicas, and configurations.
Verify all prerequisites (CRDs, operators, storage classes) are met before deploying.
Pin to specific pattern versions in production to avoid unexpected changes.
Keep track of any customizations made to catalog patterns for future reference.
Share improvements and fixes back to the catalog to benefit the community.