meshery / meshery-traefik-mesh Goto Github PK
View Code? Open in Web Editor NEWMeshery adapter for Maesh
Home Page: https://docs.meshery.io
License: Apache License 2.0
Meshery adapter for Maesh
Home Page: https://docs.meshery.io
License: Apache License 2.0
Issue Description
Create contributing.md that points to the central contributing.md in the Meshery repo.
Create a stub CONTRIBUTING.md in each of the repos that essentially say:
“You want to contribute to the project? Yay! We want you to! Visit our centralized instructions for contributing.", where the “contributing” is a hyperlink to the CONTRIBUTING.md in the main meshery repo.
Future Effort
In time, as more contributors join the project, we may need a meshery-community repo that has all this and much more info or to have a community / contributing section in the meshery docs.
To generate the workflow of getting the manifest from the Traefik-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
The meshery.io website uses Jekyll and GitHub Pages. Site content is found under the master branch.
Enhancement Description
Use MeshKit and Meshery Adapter Library architecture to do so.
Description
README.md is the first file one should read when starting a new project. For attractive look, we added some badges also.
But, there's a Slack badge failing, need to fix that.
Current Behavior
Environment:
Current State of the README site
Maesh has a new logo - https://traefik.io/static/traefik-mesh-logo-1a85e104816d54531d55c520369bddc1.svg
Desired State of the README
A new section in the README can be created like that of the readme in https://github.com/layer5io/meshery-osm. Description of Maesh - https://traefik.io/traefik-mesh/
Contributor Resources
Similar to how this is done for other repos.
Enhancement Description
The issue templates in this repo are outdated.
Related Challenges
Copy the issue templates from the layer5io/meshery repo to this repo.
This golang security check is failing - https://github.com/meshery/meshery-traefik-mesh/runs/4581108903?check_suite_focus=true with the following details:
[/github/workspace/internal/config/releases.go:70] - G107 (CWE-88): Potential HTTP request made with variable url (Confidence: MEDIUM, Severity: MEDIUM)
69: // #nosec`
> 70: resp, err := http.Get(releaseAPIURL)
71: if err != nil {
The workflow that comments on first-time contributor PR merges has a broken image link. See #222 (comment) for an example.
Meshery users, particularly those running Docker Desktop can benefit from multi-platform images of Meshery Server.
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:
Description
Logs:
mkdir /home/appuser/.meshery: permission denied
in README.md update
link to new welcome guide (https://docs.google.com/document/d/17OPtDE_rdnPQxmk2Kauhm3GwXF1R5dZ3Cj8qZLKdo5E/edit#)
Enhancement Description
The list of service mesh adapters on https://layer5.io/meshery should list Maesh (alpha).
Implementation
Update meshery.html to include an entry for the Maesh adapter.
model name should be SMP enum and display-model-name should be human readable sourced from the spreadsheet
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:
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)
	 	 	 	 :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.
The following end-to-end integration test workflow has an incomplete definition of test assertions -
meshery-traefik-mesh/.github/workflows/e2etest.yaml
Lines 93 to 95 in 43f30dc
Define end-to-end integration test assertions
Passing/failing results should show in Meshery Docs compatibility matrix - https://docs.meshery.io/project/compatibility-matrix (this portion of the workflow is complete already).
Description
Logs:
docker logs meshery_meshery-traefik-mesh_1
mkdir /home/appuser: permission denied
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
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.
When running this adapter (make run
), log output says that components for version 2.5.6 is completed. However, this version doesn't appear to be valid.
Adapter Output
➜ meshery-traefik-mesh git:(master) ✗ make run
DEBUG=true go run main.go
INFO[2022-01-24T20:08:12-06:00] Adaptor Listening at port: 10006 app=traefik-mesh-adapter
INFO[2022-01-24T20:08:12-06:00] Components available statically for version 2.5.6. Skipping dynamic component registeration app=traefik-mesh-adapter
Traefik Mesh Releases:
$ curl https://api.github.com/repos/traefik/mesh/releases\?per_page | grep tag_name
"tag_name": "v1.4.5",
"tag_name": "v1.4.4",
"tag_name": "v1.4.1",
"tag_name": "v1.4.0",
"tag_name": "v1.4.0-rc1",
"tag_name": "v1.3.2",
"tag_name": "v1.3.1",
"tag_name": "v1.3.0",
"tag_name": "v1.2.0",
"tag_name": "v1.1.0",
"tag_name": "v1.1.0-rc2",
"tag_name": "v1.1.0-rc1",
"tag_name": "v1.0.0",
"tag_name": "v0.8.0",
"tag_name": "v0.7.0",
"tag_name": "v0.6.0",
"tag_name": "v0.5.0",
"tag_name": "v0.4.0",
"tag_name": "v0.3.0",
"tag_name": "v0.2.1",
"tag_name": "v0.2.0",
"tag_name": "v0.1.0",
Current Behaviour
Error codes utility runner workflow is not present.
Desired Behavious
Add the error codes utility runner workflow.
Instructions in meshery/meshery-linkerd#213
Description
Running docker pull layer5/meshery-traefik-mesh
results in:
Using default tag: latest
Error response from daemon: manifest for layer5/meshery-traefik-mesh:latest not found: manifest unknown: manifest unknown
Running docker pull layer5/meshery-traefik-mesh:stable-latest
results in:
Error response from daemon: manifest for layer5/meshery-traefik-mesh:stable-latest not found: manifest unknown: manifest unknown
Expected Behavior
docker pull layer5/meshery-traefik-mesh:stable-latest
should be able to pull in the image successfully.
Many of places in the workflows still mention go version 1.16 yet the adapters use go version 1.17
Workflows shouls also use go version 1.17
Verify that the Slack notifier still works. Fix, if broken.
Description:
This repository should have the label commenter workflow.
It would run whenever an issue/pr is labelled with one of the targeted labels and comment down any relevant information.
Contributor Reference:
The workflow would use: https://github.com/peaceiris/actions-label-commenter
A sample workflow is defined in: https://github.com/meshery/meshery/blob/master/.github/workflows/label-commenter.yml.
It would also need a sample configuration which is defined in: https://github.com/meshery/meshery/blob/master/.github/label-commenter-config.yml
NOTE:
Current Behavior
No Pattern Support
Desired Behavior
Add Pattern Support
Refer: meshery/meshery-osm#103
The meshery.io website uses Jekyll and GitHub Pages. Site content is found under the master
branch.
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"
Resources
Refer to the Contributing guide
Environment:
Description
README.md is the first file one should read when starting a new project. Our community launched Discussion forum
for help seekers; needs to publish it officially on README.md for convenience.
Note:
Need to add only last line for Community Forum
Environment:
Reference:
Description
A Meshery logo is available. The old version of the logo used in the README should be displaced.
Expected Behavior
New Meshery logo should displace old logo with:
<a href="https://layer5.io/meshery"><img align="left" src="https://raw.githubusercontent.com/layer5io/meshery/master/ui/static/img/meshery-logo/meshery-logo-light-text.png" width="25%" /></a>
Current State:
The Meshery logo used in the README is outdated.
Desired State:
Use the new logo as seen in https://github.com/layer5io/meshery-istio's README.
See https://github.com/meshery/meshery-traefik-mesh/runs/4768181351?check_suite_focus=true#step:4:22.
This might have to be fixed in MeshKit.
Displace Istio references with references to Maesh. Remove Istio specific code.
Current Situation
A brief description of what the current circumstance is.
As you see the current logo is quite big and is not consistent.
Desired Situation
A brief description of the necessary action to take.
Make it consistent with github.com/meshery/meshery 's readme logo.
Contributor Resources
The adapter gets deployed but panics and dies.
Adapter should not panic and work.
time="2021-09-30T20:32:05Z" level=info msg="Adaptor Listening at port: 10006" app=traefik-mesh-adaptor
time="2021-09-30T20:32:05Z" level=info msg="lstat /.meshery/templates/oam/traits: no such file or directory" app=traefik-mesh-adaptor
time="2021-09-30T20:32:07Z" level=info msg="Registering latest workload components for version v1.3.2" app=traefik-mesh-adaptor
Looking for kubeopenapi-jsonschema in /root/.meshery/bin
panic: runtime error: index out of range [0] with length 0
goroutine 32 [running]:
github.com/layer5io/meshkit/utils/manifests.getApiVersion(0xc00081d590, 0x29, 0xc000ab86a0, 0x1c, 0xc0009ee1c2, 0xd, 0x1bf5ff3, 0x4, 0x1c0157f, 0xc, ...)
/go/pkg/mod/github.com/layer5io/[email protected]/utils/manifests/utils.go:172 +0x772
github.com/layer5io/meshkit/utils/manifests.getDefinitions(0xc0009ee1c2, 0xd, 0x0, 0x1c0157f, 0xc, 0xc0006a23c0, 0x6, 0xc0006c9bc0, 0x1, 0x1, ...)
/go/pkg/mod/github.com/layer5io/[email protected]/utils/manifests/utils.go:22 +0x198
github.com/layer5io/meshkit/utils/manifests.GenerateComponents(0xc000ac0600, 0x5d6, 0x0, 0x1c0157f, 0xc, 0xc0006a23c0, 0x6, 0xc0006c9bc0, 0x1, 0x1, ...)
/go/pkg/mod/github.com/layer5io/[email protected]/utils/manifests/generateComponent.go:87 +0x4b8
github.com/layer5io/meshkit/utils/manifests.GetFromHelm(0xc0007d33b0, 0x2c, 0x0, 0x1c0157f, 0xc, 0xc0006a23c0, 0x6, 0xc0006c9bc0, 0x1, 0x1, ...)
/go/pkg/mod/github.com/layer5io/[email protected]/utils/manifests/getComponents.go:25 +0xb8
github.com/layer5io/meshery-adapter-library/adapter.RegisterWorkLoadsDynamically(0xc000044baf, 0x13, 0xc000940e20, 0x1a, 0xc000717e08, 0x1bf6290, 0x5)
/go/pkg/mod/github.com/layer5io/[email protected]/adapter/oam.go:176 +0x79f
main.registerWorkloads(0x1bf6290, 0x5, 0x1e68200, 0xc0000100c0)
/build/main.go:184 +0x4fa
main.registerDynamicCapabilities(0x1bf6290, 0x5, 0x1e68200, 0xc0000100c0)
/build/main.go:165 +0x4d
created by main.main
/build/main.go:114 +0x6ce
Current situation
Each of the layer5 repositories needs releaseDrafter automation as had been done in the meshery project which takes care of drafting release notes.
Desired Situation
Add ReleaseDrafter configuration yaml file & GitHub Action.
Additional context
ReleaseDrafter Configuration File
ReleaseDrafter GitHub Action
Current Behavior
See meshery/meshery#1270 for additional details and the meshery/meshery#284 epic.
Desired Behavior
Implement in the same fashion that has been done in layer5io/meshery repo.
The slack Logo is not redirecting to the slack link but to the meshery.io/community page
https://github.com/meshery/meshery-traefik-mesh/runs/4937601237?check_suite_focus=true#step:4:481
Description
Maesh changed it's name to Traefik Mesh. This repo and name of the Meshery adapter needs updated to reflect this change.
Description
Component generation is failing.
Expected Behavior
Components should dynamically generate and register with Meshery Server
Screenshots/Logs
time="2021-09-29T17:48:14Z" level=info msg="Listing Operations" app=traefik-mesh-adaptor
time="2021-09-29T17:48:14Z" level=info msg="Creating instance" app=traefik-mesh-adaptor
time="2021-09-29T21:10:46Z" level=info msg="Adaptor Listening at port: 10006" app=traefik-mesh-adaptor
time="2021-09-29T21:10:46Z" level=info msg="lstat /.meshery/templates/oam/traits: no such file or directory" app=traefik-mesh-adaptor
time="2021-09-29T21:10:48Z" level=info msg="Registering latest workload components for version v1.3.2" app=traefik-mesh-adaptor
Looking for kubeopenapi-jsonschema in /root/.meshery/bin
time="2021-09-29T21:10:49Z" level=info msg="exit status 1" app=traefik-mesh-adaptor
time="2021-09-29T21:11:24Z" level=info msg="Creating instance" app=traefik-mesh-adaptor
time="2021-09-29T21:11:24Z" level=info msg="Listing Operations" app=traefik-mesh-adaptor
Environment:
The meshery.io website uses Jekyll and GitHub Pages. Site content is found under the master
branch.
Currently e2e tests in the adapter only run tests for vanilla service mesh installation and for addons.
The link below is of an example patternfile that should also be deployed and assertions should be made.
https://github.com/service-mesh-patterns/service-mesh-patterns/blob/master/samples/minimalistiobookinfo.yaml
In v0.6.0-rc-4, this adapter's logs state that it has registered with Meshery Server. Meshery Server, though, shows no signs of this registration either in the UI or in the /api/system/adapters
response.
➜ ~ k logs -n meshery meshery-traefik-mesh-59c748d8f4-n96x5
time="2022-01-19T22:39:07Z" level=info msg="Adaptor Listening at port: 10006" app=traefik-mesh-adaptor
time="2022-01-19T22:39:07Z" level=info msg="lstat /.meshery/templates/oam/traits: no such file or directory" app=traefik-mesh-adaptor
time="2022-01-19T22:39:08Z" level=info msg="Registering latest workload components for version 2.5.6" app=traefik-mesh-adaptor
Looking for kubeopenapi-jsonschema in /root/.meshery/bin
time="2022-01-19T22:39:14Z" level=info msg="Latest workload components successfully registered." app=traefik-mesh-adaptor
Description
This repo (the Meshery adapter for Maesh) is currently being built by Docker Hub (repo)on merge to master.
Once ready, this repo should be configured with GitHub Actions for building and pushing the image to Docker Hub.
Description
Details
error applying helm chart: Error applying helm chart: Error applying helm chart: rendered manifests contain a resource that already exists. Unable to continue with install: ClusterRole "prometheus" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "traefik-mesh"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "default"
Environment:
➜ ~ mesheryctl version
Client Version: 0.5.0-rc3 GitSHA: e6d67a91d0004a3a6a8ba92a8aeb83d9018c4f2a
Server Version: edge-latest GitSHA: d624ec5
Checking for latest version of Meshery...
0.5.0-rc3 is the latest Meshery release.
Enhancement Description
A new placeholder page needs to be created to show upcoming support for Maesh on https://meshery.layer5.io/docs/adapters. A new Maesh adapter page needs to be created.
Implementation
See these instructions for contributing to Meshery Docs - https://github.com/layer5io/meshery/blob/master/CONTRIBUTING.md#documentation-contribution-flow
Description
Create Docker Hub repo for Maesh adapter --> https://cloud.docker.com/u/layer5
The tests in https://github.com/meshery/meshery-traefik-mesh/.github/workflows/e2etests.yaml use Kubernetes manifests to deploy Meshery .
Edit the workflow to use mesheryctl in deploying meshery.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.