Coder Social home page Coder Social logo

meshery / meshery-app-mesh Goto Github PK

View Code? Open in Web Editor NEW
38.0 14.0 32.0 1.07 MB

Meshery adapter for AWS App Mesh

Home Page: https://docs.meshery.io

License: Apache License 2.0

Dockerfile 1.77% Makefile 9.73% Go 88.51%
meshery service-mesh-playground service-mesh-benchmark service-mesh-performance aws-app-mesh app-mesh service-mesh-management hacktoberfest meshery-adapter service-mesh-manager

meshery-app-mesh's Introduction

readme/community.svg Shows an illustrated light mode meshery logo in light color mode and a dark mode meshery logo dark color mode.

Docker Pulls Go Report Card Build Status GitHub GitHub issues by-label Website Twitter Follow Slack CII Best Practices

Meshery Adapter for AWS App Mesh

Meshery Adapter for AWS App Mesh

AWS App Mesh makes it easy to monitor, control, and debug the communications between services. App Mesh uses Envoy, an open source service mesh proxy which is deployed alongside your microservice containers. App Mesh is integrated with AWS services for monitoring and tracing, and it works with many popular third-party tools. App Mesh can be used with microservice containers managed by Amazon ECS, Amazon EKS, AWS Fargate, Kubernetes running on AWS, and services running on Amazon EC2.

Meshery - the Service Mesh Management Plane Meshery is the multi-service mesh management plane offering lifecycle management of more types of service meshes than any other tool available today. Meshery facilitates adopting, configuring, operating and managing performance of different service meshes and incorporates the collection and display of metrics from applications running on top of any service mesh.

If you’re using Meshery or if you like the project, please β˜… star this repository to show your support! 🀩

Our projects are community-built and welcome collaboration. πŸ‘ Be sure to see the Layer5 Community Welcome Guide for a tour of resources available to you and jump into our Slack! Contributors are expected to adhere to the CNCF Code of Conduct.

Layer5 Service Mesh Community

Layer5 Service Mesh Community

βœ”οΈ Join any or all of the weekly meetings on the community calendar.
βœ”οΈ Watch community meeting recordings.
βœ”οΈ To access the Community Drive, fill Community Member Form.
βœ”οΈ Discuss in the Community Forum.

Not sure where to start? Grab an open issue with the help-wanted label.

About Layer5

Community First

The Layer5 community represents the largest collection of service mesh projects and their maintainers in the world.

Open Source First

We build projects to provide learning environments, deployment and operational best practices, performance benchmarks, create documentation, share networking opportunities, and more. Our shared commitment to the open source spirit pushes Layer5 projects forward.

License

This repository and site are available as open source under the terms of the Apache 2.0 License.

meshery-app-mesh's People

Contributors

acald-creator avatar adeola-adesoba avatar adithyaakrishna avatar anandrkskd avatar anita-ihuman avatar arturba avatar ashiscs avatar ayushthe1 avatar b0id avatar delusionaloptimist avatar dependabot-preview[bot] avatar dependabot[bot] avatar girishranganathan avatar gr455 avatar gunjanmimo avatar invibeast avatar jesuslerma avatar leecalcote avatar lolverae avatar muzairs15 avatar revolyssup avatar rohith-raju avatar sanjana-98 avatar sayantan1413 avatar shreyas220 avatar swapnil-bhabal avatar tangledbytes avatar thebeginner86 avatar utkarsh-pro avatar wingclover 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

Watchers

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

meshery-app-mesh's Issues

Panic on unsupported operation: automatic sidecar injection

Current Behavior

Panicked when "Automatic sidecar injection" operation was run from Meshery UI.

➜  meshery-app-mesh git:(master) make run
DEBUG=true go run main.go
INFO[2021-10-18T18:19:30-05:00] Adaptor Listening at port: 10005              app=app-mesh-adapter
INFO[2021-10-18T18:22:11-05:00] Creating instance                             app=app-mesh-adapter
INFO[2021-10-18T18:22:11-05:00] Listing Operations                            app=app-mesh-adapter
INFO[2021-10-18T18:22:11-05:00] Creating instance                             app=app-mesh-adapter
INFO[2021-10-18T18:22:17-05:00] Creating instance                             app=app-mesh-adapter
INFO[2021-10-18T18:23:03-05:00] Creating instance                             app=app-mesh-adapter
INFO[2021-10-18T18:23:03-05:00] Applying operation label-namespace            app=app-mesh-adapter
panic: interface conversion: error is *errors.StatusError, not *errors.Error

goroutine 33 [running]:
github.com/layer5io/meshkit/errors.GetCode(0x5fbd600, 0xc000796a00, 0x0, 0x0)
	/Users/lee/code/go/pkg/mod/github.com/layer5io/[email protected]/errors/errors.go:90 +0xd1
github.com/layer5io/meshkit/logger.(*Logger).Error(0xc000134088, 0x5fbd600, 0xc000796a00)
	/Users/lee/code/go/pkg/mod/github.com/layer5io/[email protected]/logger/logger.go:57 +0xaa
github.com/layer5io/meshery-adapter-library/adapter.(*Adapter).StreamErr(...)
	/Users/lee/code/go/pkg/mod/github.com/layer5io/[email protected]/adapter/stream.go:25
github.com/layer5io/meshery-app-mesh/app_mesh.(*AppMesh).ApplyOperation.func3(0xc0005a6060, 0xf, 0xc0005a6070, 0xe, 0xc0005a6058, 0x8, 0x0, 0x0, 0x0, 0xc0005dc030, ...)
	/Users/lee/code/meshery-app-mesh/app_mesh/app_mesh.go:94 +0x199
created by github.com/layer5io/meshery-app-mesh/app_mesh.(*AppMesh).ApplyOperation
	/Users/lee/code/meshery-app-mesh/app_mesh/app_mesh.go:85 +0x565
exit status 2
make: *** [run] Error 1

Contributor Guides and Resources

New workflows for app-mesh

Description
Currently this repository doesn't have any workflows, would be really nice to get some up and running

The following are needed

  • ci
  • build-and-release
  • error-ref-update
  • release-drafter
  • updating-aom-defs

we can take inspiration from other repos like Istio and Kuma


The meshery.io website uses Jekyll and GitHub Pages. Site content is found under the master branch.

README: Add hyperlinks to badges

Description
Some of the badges in this repos readme are missing informative hyperlinks.

Desired Behavior
The badges (and their links) that are used in the Meshery repo's README are a great example of how the badges in this repo can be improved.

Update go version in github actions workflows to 1.17

Current Behavior

Many of places in the workflows still mention go version 1.16 yet the adapters use go version 1.17

Desired Behavior

Workflows should also use go version 1.17

Implementation

Acceptance Tests

Mockups


Contributor Guides and Resources

Package static components with App Mesh adapter

Current Behavior

Static Components are not packaged with docker containers

Expected Behavior

Static components must be packaged with docker containers

Screenshots/Logs

Environment

  • Host OS: Linux
  • Platform: Docker
  • Meshery Server Version: any
  • Meshery Client Version: any
  • Meshery Adapter Version: any

Contributor Guides and Resources

Normalise Service Mesh Meshmodel model names to SMP enums

Current Behavior

Desired Behavior

model name should be SMP enum and display-model-name should be human readable sourced from the spreadsheet

Implementation

Acceptance Tests

Mockups


Contributor Guides and Resources

Empty versions returned by getlatestreleasenames causing failing installations

Current Behavior

Expected Behavior

Screenshots/Logs

Environment

  • Host OS: Mac Linux Windows
  • Platform: Docker or Kubernetes
  • Meshery Server Version: stable-v
  • Meshery Client Version: stable-v
  • Meshery Adapter Version: stable-v

Contributor Guides and Resources

Replace the Logo of Layer5 with Meshery in config.yml workflow

Description

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

How to resolve this?

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

  • Make sure to display the images conditionally, based on the theme selected by user.
    Here's the sample code:

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/GiorgosXou/Random-stuff/main/Programming/StackOverflow/Answers/70200610_11465149/w.png">
  <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/GiorgosXou/Random-stuff/main/Programming/StackOverflow/Answers/70200610_11465149/b.png">
  <img alt="Meshery Logo" src="">
</picture>

New images are:

Meshery-celebration-Light
Meshery-celebration-Dark

  • Download these images, and upload with an appropriate name. Make sure to use conditional rendering as described above.

  • 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:

Here, replace ![Congrats!](https://raw.githubusercontent.com/meshery/meshery.io/master/.github/welcome/Layer5-celebration.png) with the code

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/GiorgosXou/Random-stuff/main/Programming/StackOverflow/Answers/70200610_11465149/w.png">
  <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/GiorgosXou/Random-stuff/main/Programming/StackOverflow/Answers/70200610_11465149/b.png">
  <img alt="Shows a black logo in light color mode and a white one in dark color mode." src="https://user-images.githubusercontent.com/25423296/163456779-a8556205-d0a5-45e2-ac17-42d089e3c3f8.png">
</picture>

make sure to change the image sources with the path to image in the folder where you upload it.

  • That's it.

Contributor Guides and Handbook

[CI] Support multi-platform Docker images

Desired Behavior

Meshery users, particularly those running Docker Desktop can benefit from multi-platform images of Meshery Server.

Implementation

Refactor existing stable and edge build and release workflows to use docker-build-push actions. See https://github.com/meshery/meshery/blob/master/.github/workflows/build-and-release-dde.yml as an example.

Be aware of local binaries and their needs:

  1. layer5/kubeopenapi-json

Acceptance Tests

  1. platform: linux/amd64,linux/arm64 should both be supported.

Mockups


Contributor Guides and Resources

Dynamic Component Generation fails in docker container

Current Behavior

Dynamic component generation exits with status 127

Expected Behavior

Dynamic component generation should work without any issues

Environment

  • Host OS: Linux
  • Platform: Docker and Kubernetes
  • Meshery Server Version: any
  • Meshery Client Version: any
  • Meshery Adapter Version: any

Contributor Guides and Resources

Adding ProcessOAM method to support patternops

Current Behavior

Even though components are present, without implementing this method, they are useless

Expected Behavior

Screenshots/Logs

Environment

  • Host OS: Mac Linux Windows
  • Platform: Docker or Kubernetes
  • Meshery Server Version: stable-v
  • Meshery Client Version: stable-v
  • Meshery Adapter Version: stable-v

Contributor Guides and Resources

Add project badges

Akin to the other repos, show project badges for meshery-app-mesh adapter.

[README] Update README Community Section

Description
The Community section in the README says "Access the Community Drive". There is a new procedure of having this automated based on the individual filling in a community member form

Expected Behavior
Update "Access Community Drive" to "To Access Community Drive, fill Community Member Form"

Screenshots
img

Resources
Refer to the Contributing guide

Enviroment:

  • OS: [e.g. iOS]
  • Browser: [e.g. chrome, safari]
  • Version: [e.g. 22]
  • Device: [e.g. laptop, iPhone 8]

[CI] MeshKit errorutil build failure

Current Behavior

Build failure - https://github.com/meshery/meshery-app-mesh/runs/3956903570?check_suite_focus=true

Screenshots/Logs

Run echo '{ "errors_export": "" }' | jq --slurpfile export ./helpers/errorutil_errors_export.json '.errors_export = $export[0]' > ./meshery/docs/_data/errorref/app-mesh_errors_export.json

jq: Bad JSON in --slurpfile export ./helpers/errorutil_errors_export.json: Could not open ./helpers/errorutil_errors_export.json: No such file or directory

Error: Process completed with exit code 2.

Contributor Guides and Resources

Adapter not working

Current Behavior
image

Expected Behavior
Make sure the adapter is able to perform following operations

  • Installation
  • Installing sample apps
  • custom operation
  • SmiConformance

Contributor Resources

The meshery.io website uses Jekyll and GitHub Pages. Site content is found under the master branch.

[CI] Update Slack.yml and add newcomer-alert 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

Check & Review code errors

Issue Description
Currently, the Check & Review code step is failing with the following issues:

##[error]/home/runner/work/meshery-app-mesh/meshery-app-mesh/app-mesh/client.go:24:2: a blank import should be only in a main or test package, or have a comment justifying it
##[error]/home/runner/work/meshery-app-mesh/meshery-app-mesh/app-mesh/client.go:32:6: type name will be used as istio.IstioClient by other packages, and that stutters; consider calling this Client
##[error]/home/runner/work/meshery-app-mesh/meshery-app-mesh/app-mesh/install-istio.go:24:2: exported const URLSuffix should have comment (or a comment on this block) or be unexported
##[error]/home/runner/work/meshery-app-mesh/meshery-app-mesh/app-mesh/install-istio.go:40:6: exported type APIInfo should have comment or be unexported
##[error]/home/runner/work/meshery-app-mesh/meshery-app-mesh/app-mesh/install-istio.go:46:6: exported type Asset should have comment or be unexported
##[error]/home/runner/work/meshery-app-mesh/meshery-app-mesh/app-mesh/install-istio.go:237:10: if block ends with a return statement, so drop this else and outdent its block
##[error]/home/runner/work/meshery-app-mesh/meshery-app-mesh/app-mesh/install-istio.go:290:9: if block ends with a return statement, so drop this else and outdent its block
##[error]/home/runner/work/meshery-app-mesh/meshery-app-mesh/app-mesh/istio.go:38:1: exported method IstioClient.CreateMeshInstance should have comment or be unexported
##[error]/home/runner/work/meshery-app-mesh/meshery-app-mesh/app-mesh/istio.go:373:1: comment on exported method IstioClient.ApplyOperation should be of the form "ApplyOperation ..."
##[error]/home/runner/work/meshery-app-mesh/meshery-app-mesh/app-mesh/yaml.go:65:1: exported method YAMLDecoder.Close should have comment or be unexported
##[error]Process completed with exit code 123.

https://github.com/layer5io/meshery-app-mesh/pull/18/checks?check_run_id=324040340

Expected Behavior
We hope to fix this issue by having all the checks passing.

[CI] Patterns: Generate JSON Schema and Definitions for App Mesh components

Enhancement Description

To generate the workflow of getting the manifest from the App Mesh using the kubeopenapi-jsonschema to read and generate json schemas from those manifests and then also generating workload definitions from those schemas.

A sample workflow is here

crds -> https://github.com/aws/aws-app-mesh-controller-for-k8s/tree/master/config/crd

Contributor Resources

The meshery.io website uses Jekyll and GitHub Pages. Site content is found under the master branch.

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.