Code Monkey home page Code Monkey logo

service-mesh-patterns / service-mesh-patterns Goto Github PK

View Code? Open in Web Editor NEW
88.0 88.0 59.0 24.84 MB

Templates of service mesh configurations imbued with best practices.

Home Page: https://service-mesh-patterns.github.io/service-mesh-patterns

License: Apache License 2.0

Shell 0.25% JavaScript 91.54% CSS 3.62% Makefile 4.59%
consul hacktoberfest istio kuma meshery open-service-mesh service-mesh service-mesh-interface service-mesh-patterns service-mesh-performance

service-mesh-patterns's Introduction

Service Mesh Patterns

Shows an illustrated light mode mesh pattern logo in light color mode and a dark mode mesh pattern dark color mode.

If you’re using this project or simply like its concept, please β˜… this repository to show your support! 🀩

This repository contains a collection of functional examples to be used as patterns for operationalizing cloud native infrastructure and application deployments and applying best practices.

A service mesh is a layer in your infrastructure that facilitates communication between services… and so much more. Its value is enormous, and the value you derive from one is very much related to what role you play in the design, implementation, and operations of your cloud native applications and infrastructure. Service mesh patterns help you get the most out of Linkerd, Consul, App Mesh, Istio, Kuma, Open Service Mesh or any service mesh, including those using Envoy and use of WebAssembly. Each pattern can be used as a template and is customizable.

What are Service Mesh Patterns?

This feature area is under active development. Until additional documentation is published, see the Meshery and Service Mesh Patterns design specification for further details.

Prototyping Pattern Files and their Orchestration

Interpreting Pattern files in Meshery

Β 

Using Meshery to Deploy a Service Mesh Pattern

You can use Meshery to deploy a service mesh pattern. Service mesh patterns are detailed as a YAML file. See the Configuration Management guide.

Pattern Repository

You may bring your own patterns or find them available through your chosen provider. Each service mesh pattern carries a unique identifier for reference.

For Further detailed information, you can have a look at Pattern Repository Section

Importing Patterns

You can import a pattern using mesheryctl or Meshery UI. Patterns can be imported from your local filesystem, an HTTP/S endpoint, or from GitHub. When provided a GitHub location (org/repo), Meshery will recursively search the given directory (or the entire repository) for existing pattern files.

Using Meshery CLI

To import a pattern,execute this command:

$ mesheryctl pattern import -f <path to the pattern>
Importing pattern…
Pattern successfully imported.

Using Meshery UI:

From Meshery UI, patterns can be imported from your local filesystem or imported from a remote URL.

To upload from url click the link icon

In case of any doubts and clarifications, you can always have a look at the Meshery Documentation

Join the service mesh community!

Our projects are community-built and welcome collaboration. πŸ‘ Be sure to see the Layer5 Newcomers' Guide for a tour of resources available to you and jump into our Slack!

MeshMates

Find your MeshMate

MeshMates are experienced Layer5 community members, who will help you learn your way around, discover live projects and expand your community network. Become a Meshtee today!

Find out more on the Layer5 community.

Β 

Layer5 Service Mesh Community

Layer5 Service Mesh Community

βœ”οΈ Join any or all of the weekly meetings on community calendar.
βœ”οΈ Watch community meeting recordings.
βœ”οΈ Access the Community Drive by completing a community Member Form.
βœ”οΈ 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.

service-mesh-patterns's People

Contributors

alphax86 avatar aminoxix avatar bhavyastar avatar chadha93 avatar ciphertron avatar cpepper96 avatar deepansharora27 avatar eeshaansa avatar gr455 avatar hershd23 avatar jameshorton2337 avatar jonathan-foo avatar kamalbuilds avatar karmpatel960 avatar killbotxd avatar l5io avatar leecalcote avatar mohiit70 avatar nakulbh avatar nikhil-ladha avatar ple98 avatar revolyssup avatar rohith-raju avatar senali-d avatar sudhanshutech avatar tangledbytes avatar thebeginner86 avatar utkarshmishra12 avatar warunicorn19 avatar zanda256 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

service-mesh-patterns's Issues

[Site] Add a Hero section

Desired State of the Service Mesh Patterns site

A Hero section needs to be added to the site as per this Figma design.


Contributor Resources

This website uses React and GitHub Pages. Site content is found under the master branch.

Replace the Logo of Layer5 with Service-Mesh-Patterns in config.yml workflow

Description

Currently, we are using the Logo of Layer5 instead of service-mesh-patterns. This repository is under the organization service-mesh-patterns, so, there should be the image of service-mesh-patterns.

How to resolve this?

  • Go to .github and replace this welcome image with the new one:

Service-Mesh-Patterns-celebration

  • Download this image, and upload with the correct name for future reference. The name of the image should be Service-Mesh-Patterns-celebration
  • After uploading the image, and removing the previous image, go to .github/config.yml folder and update the reference to previous image to the new image in the following part:
firstPRMergeComment: >
  Thanks for your contribution to the Layer5 and Meshery community! :tada:
   
  ![Congrats!](https://raw.githubusercontent.com/meshery/meshery.io/master/.github/welcome/Layer5-celebration.png)
  &nbsp; &#9; &nbsp; &#9;  &nbsp; &#9;  &nbsp; &#9; :star: Please leave a [star on the project](../stargazers). :smile:
  • That's it.

Contributor Guides and Resources

Responsiveness in small screen

Description

On the small screen, there is a problem with responsiveness. It is not covering the full width.

Expected Behavior

It should cover the whole width, the heading should be aligned center and the font size should be slightly smaller

Screenshots/Logs

image

Environment:

  • Meshery Version:
  • Kubernetes Version:
  • Host OS:
  • Browser:

Issue Template Updates for Figma linkΒ 

Current Behavior

The project's current issue templates are missing an open invitation link where new contributors can join the community's Figma team and view user interface designs and other UX projects.

Desired Situation

Each template that has a reference to Figma in its resources section should have an invite link added.

Implementation

- 🎨 Wireframes and [designs for Layer5 site](https://www.figma.com/file/5ZwEkSJwUPitURD59YHMEN/Layer5-Designs) in Figma [(open invite)](https://www.figma.com/team_invite/redeem/qJy1c95qirjgWQODApilR9)

Acceptance Tests
All references to Figma include the "open invite" link.

Contributor Guide

Update slack.yml and add newcomer-alert GH workflow

Current Behavior
Currently the slack.yml is outdated. Also there is no automated way of notifying the slack channel when a "good first issue" has been created.

Desired Behavior
Update slack.yml and add newcomer-alert.yml to the Github workflow.


Resources
Add the updated slack.yml file and the newcomer-alert.yml file to the .github/workflow folder.

Files needed:
https://github.com/meshery/meshery-istio/blob/master/.github/workflows/slack.yml
https://github.com/layer5io/layer5/blob/master/.github/workflows/newcomers-alert.yml

[Site] Add the Navbar section

Desired State of the Service Mesh Patterns site

A NavBar section needs to be added to the site as per this Figma design.


Contributor Resources

This website uses React and GitHub Pages. Site content is found under the master branch.

Update the year in footer

Current State of the Service Mesh Patterns site
In the footer it is "Copyright 2022"
image

Desired State of the Service Mesh Patterns site
update it to "2023"
I would like to work on this issue.


Contributor Resources

This website uses React and GitHub Pages. Site content is found under the master branch.

[Docs] README: Replace community sign

Current State:
This repo's readme haas an old version of the Layer5 community sign.

Desired State:
Replace with the version from github.com/meshery/meshery.


Contributor Resources

[Site] Add Chapters of the book page

Current State of the Service Mesh Patterns site

Chapters of the book on the site need to be implemented .

Desired State of the Service Mesh Patterns site


Contributor Resources

This website uses React and GitHub Pages. Site content is found under the master branch.

Change Twitter Logo to Xi(New logo)

Current State of the Service Mesh Patterns site
Old logo is present on the website
image

Desired State of the Service Mesh Patterns site
Change twitter logo to X
image


Contributor Resources

This website uses React and GitHub Pages. Site content is found under the master branch.

[Chapters of the book] Improvements in CTA

Description

1> The icon is very small, make it bigger
image

2> There are 2 duplicate CTA's we need to keep only 1.

Expected Behavior

Screenshots/Logs

Environment:

  • Meshery Version:
  • Kubernetes Version:
  • Host OS:
  • Browser:

[Site] Add an About section

Desired State of the Service Mesh Patterns site

An About needs to be added to the site as per this Figma design.


Contributor Resources

This website uses React and GitHub Pages. Site content is found under the master branch.

[Site] Add Patterns In-Action Page

Current State of the Service Mesh Patterns site

Add Patterns In-Action page according to Figma designs.
https://www.figma.com/file/5ZwEkSJwUPitURD59YHMEN/Layer5-Designs?node-id=8856%3A14587

Desired State of the Service Mesh Patterns site


Contributor Resources

This website uses React and GitHub Pages. Site content is found under the master branch.

GitHub Action for Service Mesh Patterns

Current Behavior

There are a couple GitHub Actions for Meshery CLI interactions currently, but not a GitHub Action specifically for service mesh patterns.

Desired Behavior

It would be nice to have a GitHub Action dedicated to use cases of importing and applying service mesh patterns.

Implementation

Build a new action here - https://github.com/layer5io/mesheryctl-service-mesh-patterns-action

Acceptance Tests

  1. Users can import service mesh patterns.
  2. Users can apply service mesh patterns.

Contributor Guide

[Site] Initialize site framework

Current State of the Service Mesh Patterns site
Site and repo need initialized.


Contributor Resources

This website uses React and GitHub Pages. Site content is found under the master branch.

Deprecated resources found in pattern files

Description

From kubernetes version 1.22, usage of CRDs under apiextensions version vbeta1 is now deprecated and hence would cause error if applied to a cluster. This is happening now in pattern files of the repo too.

Expected Behavior

apiextensions version must be upgraded to v1 stable and also remove any kind of deprecated versions if detected further on pattern files

Screenshots/Logs

Environment:

  • Meshery Version: v0.6.0-rc-5r
  • Kubernetes Version: 1.24
  • Host OS: Ubuntu (WSL2)
  • Browser: Brave

[CI] Create CI job to have an automated check that fails if a pattern file has an issue, model data missing, etc. (mesheryctl or etc.)

Current Behavior

During today's Meshery Build & Release meeting, @theBeginner86 shared with audience there was a problem when he tried to test IstioSpire design in PR #109 because Custom Resource wasn't being handled properly in the UI:
CleanShot 2023-06-22 at 11 32 42

Desired Behavior

Since resolution is that there was a "bug" in the updates made to the samples/IstioSPIRE.yaml pattern file itself the suggestion is if we can create a Github Workflow CI job so we can smoke test changes made to these sample files in an automated and standard fashion

The idea is to simplify maintenance of sample pattern files and avoid false positive failures across meshery adapter or other CI runs across Meshery repos and end users that consume these samples.

Implementation

No idea yet but I'm sure contributors will have great recommendations here.

Acceptance Tests


Contributor Guides and Resources

[Site] Add the author section

Current State of the Service Mesh Patterns site

An author section needs to be added as per Figma design!

Desired State of the Service Mesh Patterns site


Contributor Resources

This website uses React and GitHub Pages. Site content is found under the master branch.

[Site] The site's footer could use an update to 2024

Current State of the Service Mesh Patterns site

Desired State of the Service Mesh Patterns site


Contributor Resources

This website uses React and GitHub Pages. Site content is found under the master branch.

[Site] Add the footer section

Desired State of the Service Mesh Patterns site

A Footer section needs to be added as per this Figma design.


Contributor Resources

This website uses React and GitHub Pages. Site content is found under the master branch.

[Pattern] can't apply book info paternfile

Description

I tried to apply bookInfoPattern.yaml but received error

mesheryctl pattern apply -f ./bookInfoPattern.yaml
rpc error: code = Unknown desc = no matches for kind "VirtualService" in version "networking.istio.io/v1alpha3"
rpc error: code = Unknown desc = no matches for kind "Gateway" in version "networking.istio.io/v1alpha3

Expected Behavior

Pattern file applied

Environment:

  • Meshery Version: stable-v0.6.0-rc.6fd
  • Kubernetes Version: v1.24.2

To Reproduce

Steps to reproduce the behavior:

  1. Download pattern file https://raw.githubusercontent.com/service-mesh-patterns/service-mesh-patterns/master/samples/bookInfoPattern.yaml
  2. mesheryctl pattern apply -f ./bookInfoPattern.yaml

About Layer5 section needed in the author's section

Description

The Service mesh patterns site needs a about layer5 section on the about authors page according to figma design!!

Expected Behavior

Screenshots/Logs

Environment:

  • Meshery Version:
  • Kubernetes Version:
  • Host OS:
  • Browser:

[Pattern] Add pattern files

Current Behavior

Service-mesh-patterns don't have any pattern files!!

Desired Behavior

Upload the tested/verified pattern files

  • RatelimitFilter Pattern
  • Bookinfo pattern

Implementation

Add files in a new folder /samples


Contributor Guide

want to add dark mode feature into website

Current Behavior

Desired Behavior

want to add dark mode feature into website

Implementation

Acceptance Tests

Mockups


Contributor Guides and Resources

This website uses React and GitHub Pages. Site content is found under the master branch.

[Pattern] Performance Test

Current Behavior

Users need a base pattern to describe a performance test and from which to customize their performance tests.

Desired Behavior

A common descriptor of what a Service Mesh performance-based performance test pattern is needed.

Implementation

SMP-compatible pattern

Acceptance Tests

  1. Meets SMP spec.
  2. Importable into Meshery.

Mockups

performance_test:
  duration: 200s
  rps: 10
  threads: 10
  success_conditions:
    - request_count["name=checkout"]:
        value: 2000
        tolerance: 0.01%
    - request_count["name=payments_v1, status=200"]:
        value: 1992
        tolerance: 0.01%
    - request_count["name=payments_v1, status!=200"]:
        value: 0
        tolerance: 0.01%
    - request_count["name=payments_v2, status=200"]:
        value: 0
    - request_count["name=payments_v2 status!=200"]:
        value: 8
        tolerance: 0.01%

Contributor Guide

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.