Coder Social home page Coder Social logo

global-localhost / service-mesh-extensions Goto Github PK

View Code? Open in Web Editor NEW

This project forked from solo-io/service-mesh-extensions

0.0 0.0 0.0 641 KB

A public registry of all service mesh extensions and other content for the Service Mesh Hub.

License: Apache License 2.0

Go 95.45% Makefile 3.54% Shell 1.01%

service-mesh-extensions's Introduction

service-mesh-hub

For operators, the Service Mesh Hub provides a dashboard see the state of the service meshes on your cluster, and to discover, deploy, and manage extensions for those meshes.

For developers, the Service Mesh Hub provides the ability to write and distribute new service mesh extensions, solving problems related to enforcing dependency requirements and customizing installation manifests based on what meshes have been deployed to the cluster.

Repo Structure

├── api
│   └── v1
├── extensions
│   └── v1
│       ├── flagger
│       ├── gloo
│       ├── glooshot
│       └── kiali
└── pkg/
    └── render

Api

The api folder contains the API definitions for the service mesh hub resource CRDs. These resources are represented as .proto files for ease of use and understanding. The corresponding .go files contain generated go representations of the protobuf objects.

Extensions

The extensions folder is the main extension registry and the service-mesh-hub. What this means is that by default the service-mesh-hub will use this folder to search for available/installable meshes. This folder is where developers will define their application specs which tell the service-mesh-hub operator how to install the application. For more information on this spec see here. The v1 in this case corresponds to the version of the API. As the service-mesh-hub progresses the APIs may change, so to ensure consistency within a given API version, all of the application specs for that version will be kept in it's corresponding extensions folder.

To find out more about the structure of a mesh extension folder such as gloo or flagger above see our documentation here

pkg

Similar to other go projects, pkg houses all of the go code used within the project itself. Contained within are multiple utilities and libraries pertaining to the rendering and management of kubernetes resources and manifests.

Validate your extension before deploying

If you are creating a new extension or modifying an existing one, you can verify that your specification will be accepted prior to submission using the following command line tool.

Just specify the --name, --flavor, and --version.

If you want to see a preview of the corresponding chart, pass the --print-manifest flag.

Here are two examples:

GITHUB_TOKEN=`cat ~/github/token/file` go run pkg/cli/cmd/main.go validate \
    --name glooshot \
    --flavor istio \
    --version 0.0.2 \
    --print-manifest
GITHUB_TOKEN=`cat ~/github/token/file` go run pkg/cli/cmd/main.go validate \
    --name kiali \
    --flavor istio \
    --version 0.12 \
    --print-manifest

service-mesh-extensions's People

Contributors

joekelley avatar eitanya avatar marcogschmidt avatar ashleywang1 avatar mitchdraft avatar ilackarms avatar scranton avatar yuval-k avatar

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.