Giter Club home page Giter Club logo

meshery / meshery-cpx Goto Github PK

View Code? Open in Web Editor NEW
28.0 11.0 19.0 231 KB

Meshery adapter for Citrix Service Mesh

Home Page: https://meshery.layer5.io/docs/service-meshes/adapters/cpx

License: Apache License 2.0

Dockerfile 2.05% Makefile 0.84% Go 95.69% Shell 1.42%
meshery service-mesh service-mesh-performance multi-mesh-management service-mesh-management citrix-cpx cpx multi-mesh-manager service-mesh-manager service-mesh-performance-benchmark

meshery-cpx's Introduction

Meshery Logo

If youโ€™re using Meshery or if you like the project, please โ˜… this repository to show your support! ๐Ÿคฉ

MESHERY IS A CLOUD NATIVE COMPUTING FOUNDATION PROJECT


A self-service engineering platform, Meshery, is the open source, cloud native manager that enables the design and management of all Kubernetes-based infrastructure and applications (multi-cloud). Among other features, As an extensible platform, Meshery offers visual and collaborative GitOps, freeing you from the chains of YAML while managing Kubernetes multi-cluster deployments.



Try Meshery in the Cloud Native Playground (teaser video)


ย 

Functionality

Cloud Native Lifecycle Management

Meshery manages the provisioning, configuration and operation of your Kubernetes clusters while supporting hundreds of different types of cloud native infrastructure integrations. Meshery also offers a catalog of curated design templates filled with configuration best practices.

Using a GitOps-centric approach, visually and collaboratively design and manage your infrastructure and microservices. Extend Meshery as your self-service engineering platform by taking advantage of its vast set of extensibility features, including gRPC adapters, hot-loadable Reactjs packages and Golang plugins, subscriptions on NATS topics, consumable and extendable API interfaces via REST and GraphQL.

Meshery cloud native management

Multi-Cluster Kubernetes, Multi-Cloud, and Cloud Native Configuration Management

Meshery supports 250+ integrations.

Assess your cloud native infrastructure configuration against deployment and operational best practices with Meshery's configuration validator. Manage your workloads with confidence. Check your Kubernetes configuration for anti-patterns and avoid common pitfalls.

Layer5 Service Mesh Configuration Management



OPA Logo

Context-Aware Policies For Applications



Leverage built-in relationships to enforce configuration best practices consistently from code to Kubernetes. Enhance development process by building custom rules in Open Policy Agent's Rego query language. Meshery and Open Policy Agent Integration



WebAssembly Logo

Manage data plane intelligence with WebAssembly filters

Dynamically load and manage your own WebAssembly filters in Envoy-based service meshes.



WebAssembly filters

See Image Hub.



Performance Management

Adhering to Cloud Native Standards

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

In an effort to produce service mesh agnostic tooling, Meshery uses the Service Mesh Performance specification as a common format to capture and measure your infrastructure's performance against a universal cloud native performance index. As an implementation of Service Mesh Interface (SMI), Meshery participates in advancing cloud native infrastructure adoption through the standardization of APIs.

Standardized Cloud Native Performance Management

Meshery is the cloud native utility for uniformly managing the performance of microservices and the infrastructure that run them. As an implementation of the Service Mesh Performance (SMP), Meshery enables you to measure the value provided by Docker, Kubernetes, or a service mesh in the context of the overhead incurred.

Performance Management

Meshery Architecture

You may deploy Meshery internal to your cluster or external to your cluster.

Learn more about Meshery's architecture.

Get Started with Meshery

Using `mesheryctl`

Meshery runs as a set of containers inside or outside of your Kubernetes clusters.

curl -L https://meshery.io/install | bash -

Use the quick start guide.

See all supported platforms

See the getting started section to quickly deploy Meshery on any of these supported platforms:

Platform Supported?
Docker โœ”๏ธ
ย ย ย  Docker - Docker App โœ”๏ธ
ย ย ย  Docker - Docker Extension โœ”๏ธ
Kubernetes โœ”๏ธ
ย ย ย  Kubernetes - AKS โœ”๏ธ
ย ย ย  Kubernetes - Docker Desktop โœ”๏ธ
ย ย ย  Kubernetes - EKS โœ”๏ธ
ย ย ย  Kubernetes - GKE โœ”๏ธ
ย ย ย  Kubernetes - Helm โœ”๏ธ
ย ย ย  Kubernetes - kind โœ”๏ธ
ย ย ย  Kubernetes - Minikube โœ”๏ธ
ย ย ย  Kubernetes - OpenShift In Progress
Linux โœ”๏ธ
Mac โœ”๏ธ
ย ย ย  Mac - Homebrew โœ”๏ธ
Windows โœ”๏ธ
ย ย ย  Scoop โœ”๏ธ
ย ย ย  WSL2 โœ”๏ธ
Raspberry Pi In Progress

Meshery documentation offers thorough installation guides for your platform of choice.

ย 

ย 

Join the Meshery community!

Our projects are community-built and welcome collaboration. ๐Ÿ‘ Be sure to see the Contributor Journey Map and Community Handbook for a tour of resources available to you and the Repository Overview for a cursory description of repository by technology and programming language. Jump into community Slack or discussion forum to participate.

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. Connect with a Meshmate today!

Find out more on the Layer5 community.



Layer5 Cloud Native Community

โœ”๏ธ Join any or all of the weekly meetings on community calendar.
โœ”๏ธ Watch community meeting recordings.
โœ”๏ธ Fill-in a community member form to gain access to community resources.
โœ”๏ธ 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.



ย 

Contributing

Please do! We're a warm and welcoming community of open source contributors. Please join. All types of contributions are welcome. Be sure to read the Contributor Guides for a tour of resources available to you and how to get started.

ย 

Stargazers

If you like Meshery, please โ˜… star this repository to show your support! ๐Ÿคฉ

License

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

meshery-cpx's People

Contributors

adeola-adesoba avatar anita-ihuman avatar arturba avatar ashiscs avatar dependabot-preview[bot] avatar dependabot[bot] avatar dheerajng avatar girishranganathan avatar goldfishdolphin avatar jesuslerma avatar jomefavourite avatar kushthedude avatar leecalcote avatar msaini28r avatar neeraj-2 avatar savio629 avatar sayantan1413 avatar shuklaritvik06 avatar shyam-12 avatar thebeginner86 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

meshery-cpx's Issues

[README] Need to add `Community Forum`

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.

Screenshots

Current behaviour:
image

Desired behaviour:
image

Note:
Need to add only last line for Community Forum

Environment:

  • OS: any [e.g. Ubuntu]
  • Browser: any [e.g. Chrome, Safari]
  • Version: any [e.g. 22]
  • Device: any [e.g. laptop, iPhone 8]

Reference:

[README] Need to fix Build & Slack badge

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 few badge like, Slack & Build are failing, need to fix that.

Note:
Build badge recognize for this repo only.

Example Screenshot :-

Current Behavior

image

Desired Behavior
image

Environment:

  • OS: any [e.g. Ubuntu]
  • Browser: any [e.g. Chrome, Safari]
  • Version: any [e.g. 22]
  • Device: any [e.g. laptop, iPhone 8]

[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

Upgrading Meshery-CPX adapter to install Citrix Service Mesh components

Enhancement Description
Meshery-CPX adapter should be able to install Citrix ADC as Ingress Gateway and automatic sidecar injector webhook

Related Challenges

  1. Automatic Sidecar Injector needs a signed certificate from kubeapiserver for proper functioning of the webhook service. It relies on OpenSSL and kubectl binaries to create certificate and CSR, get it approved and generate the secret for webhook service. Meshery-CPX container includes OpenSSL and kubectl binaries.
  2. webhook-certificate generation script relies on kubeconfig file which is available in Out of cluster environment. But this kubeconfig file is usually not available in In-Cluster environment. A script is written to generate this kubeconfig file and executed from the Adapter code.

[Optional] Alternatives
A brief description of any alternative solutions or features you've considered.

[Optional] Additional context
Add any other context or screenshots about the feature request here.

[CI] Update Multi Platform build and Release workflow

Current Behavior

Currently, the multiplatform.yml file is sending unwanted build arguments to docker build process because of which release tag and commit_sha are not being passed over to the image and hence the version of meshery adapter are not visible on-hovering adapters chips on Meshery UI Dashboard.

Desired Behavior

This would be fixed when correct build args are passed to the docker build step inside multiplatform workfow.
Required Args:

  • VERSION
  • GIT_COMMITSHA

Check this commit for reference:
meshery/meshery-consul@446ad17

related to: meshery/meshery#6245


Contributor Resources

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.

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

Meshery CPX adapter fails to connect to Meshery

Description
Cannot ping meshery CPX adapter from meshery dashboard

Expected Behavior
Meshery server should be able to communicate with the meshery CPX adapter.

Enviroment:

  • OS: Darwin
  • Browser: Safari

[Optional] To Reproduce
Steps to reproduce the behavior:

  1. Start Meshery using mesheryctl system start
  2. Visit http://localhost:9081
  3. Meshery CPX adapter chip is grayed out

Additional Context
Meshery is running in Docker

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

github.com/layer5io/meshery-cpx/cpx: cannot find module providing package github.com/layer5io/meshery-cpx/cpx
github.com/layer5io/meshery-cpx imports
	github.com/layer5io/meshery-cpx/meshes: cannot find module providing package github.com/layer5io/meshery-cpx/meshes

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Go dependency files

Dependabot can't resolve your Go dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

github.com/layer5io/meshery-cpx/cpx: cannot find module providing package github.com/layer5io/meshery-cpx/cpx
	github.com/layer5io/meshery-cpx/meshes: cannot find module providing package github.com/layer5io/meshery-cpx/meshes

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

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 shouls also use go version 1.17

Implementation

Acceptance Tests

Mockups


Contributor Guides and Resources

Upgrade to Citrix xDS Adapter v0.10.1

Current Behavior

The current Meshery Adapter for Citrix is running an older version of Citrix ADC with the xDS-API based service mesh.

Desired Behavior

Upgrade to Citrix xDS Adapter v0.10.1


Contributor Guides and Resources

[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

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.