@@ -125,7 +132,7 @@ See the [getting started](https://meshery.io/#getting-started) section to quickl
## Functionality
-
+
Service Mesh Lifecycle Management
Meshery manages the provisioning, configuration and operation your service mesh. While supporting different types of service meshes, Meshery also offers a simple way to explore each service mesh and compare them using bundled sample applications.
@@ -135,23 +142,23 @@ Interoperate multiple service meshes with service mesh adapters provision, confi
-
+
+
Service Mesh Configuration Management
Assess your service mesh configuration against deployment and operational best practices with Meshery's configuration validator.
-
Onboard your workload onto the service mesh with confidence. Check your service mesh configuration for anti-patterns and avoid common pitfalls.
Adhering to Service Mesh Standards
-
-In an effort to produce service mesh agnostic tooling, Meshery uses the [service mesh performance](https://smp-spec.io/) as a common format to capture and measure your mesh's performance against a universal service mesh performance index. As a partner of VMware's Multi-Vendor Service Mesh Interoperation (Hamlet) and Service Mesh Interface (SMI), Meshery participates in advancing service mesh adoption through the standardization of APIs.
+
+In an effort to produce service mesh agnostic tooling, Meshery uses the [service mesh performance](https://smp-spec.io) as a common format to capture and measure your mesh's performance against a universal service mesh performance index. As a partner of VMware's Multi-Vendor Service Mesh Interoperation (Hamlet) and Service Mesh Interface (SMI), Meshery participates in advancing service mesh adoption through the standardization of APIs.
-
-
+
+
Standardized Service Performance Management
Meshery is the service-mesh-neutral utility for uniformly managing the performance of services and the meshes that run them. As an implementation of the Service Mesh Performance ([SMP](https://layer5.io/performance)), Meshery enables you to measure the value provided by a service mesh in the context of the overhead incurred.
@@ -163,7 +170,7 @@ Meshery is the service-mesh-neutral utility for uniformly managing the performan
-Meshery provides tooling to validate any service mesh that claims to implement and conform to SMI specifications. Working in accordance with the [SMI Conformance project](https://layer5.io/projects/service-mesh-interface), it essentially provides:
+Meshery provides tooling to validate any service mesh that claims to implement and conform to SMI specifications. Working in accordance with the [SMI Conformance project](https://layer5.io/projects/service-mesh-interface), it essentially provides:
βοΈ Defines compliant behavior.
βοΈ Produces compatibility matrix.
@@ -182,8 +189,8 @@ Meshery provides tooling to validate any service mesh that claims to implement a
You may deploy Meshery internal to your cluster or external to your cluster.
-
MeshMates are experienced Layer5 community members, who will help you learn your way around, discover live projects, and expand your community network.
@@ -204,9 +211,9 @@ Find out more on the Layer5 commu
-
+
-
+
βοΈ Join any or all of the weekly meetings on community calendar.
@@ -227,7 +234,7 @@ We're a warm and welcoming community of open source contributors. Please join. A
- [Write an adapter](CONTRIBUTING.md/#adapter)
- [Build the project](CONTRIBUTING.md/#building)
-
+
@@ -240,7 +247,7 @@ We're a warm and welcoming community of open source contributors. Please join. A
- [Cloud Native Rejekts EU 2019](https://cfp.cloud-native.rejekts.io/cloud-native-rejekts-eu-2019/speaker/GZQTEM/) | [deck](https://calcotestudios.com/talks/decks/slides-cloud-native-rejekts-2019-evaluating-service-meshes.html)
- [DockerCon 2019 Open Source Summit](https://dockercon19.smarteventscloud.com/connect/sessionDetail.ww?SESSION_ID=309149&tclass=popup#.XJxH-TOcbjI.twitter) | [deck](https://calcotestudios.com/talks/decks/slides-dockercon-2019-establishing-an-open-source-office.html), [video](https://www.docker.com/dockercon/2019-videos?watch=open-source-summit-service-mesh)
- [Container World 2019](https://tmt.knect365.com/container-world/speakers/lee-calcote) | [deck](https://calcotestudios.com/talks/decks/slides-container-world-2019-service-meshes-but-at-what-cost.html)
-- [Service Mesh Day](https://servicemeshday.com/schedule/) | [deck](https://docs.google.com/presentation/d/1HwG03okX3DHgGKbma4PL-MO7Xr9zDrjQgd05PRi9i8E/edit?usp=sharing), [video](https://youtu.be/CFj1O_uyhhs)
+- [Service Mesh Day](https://servicemeshday.com/schedule.html) | [deck](https://docs.google.com/presentation/d/1HwG03okX3DHgGKbma4PL-MO7Xr9zDrjQgd05PRi9i8E/edit?usp=sharing), [video](https://youtu.be/CFj1O_uyhhs)
- [Innotech San Antonio](https://innotechsanantonio2019.sched.com/event/Lmlb/the-enterprise-path-to-service-mesh-architectures?iframe=no&w=100%&sidebar=yes&bg=no) | [deck](https://calcotestudios.com/talks/decks/slides-innotech-san-antonio-2019-the-enterprise-path-to-service-mesh.html)
- [CNCF Networking WG](https://github.com/cncf/wg-networking) | [deck](https://www.slideshare.net/leecalcote/benchmarking-service-meshes-cncf-networking-wg-141938576), [video](https://www.youtube.com/watch?v=2_JwCc-kLMA&list=PLYjO73_1efChX9NuRaU7WocTbgrfvCoPE)
diff --git a/ROADMAP.md b/ROADMAP.md
new file mode 100644
index 00000000000..76bb3e56c5b
--- /dev/null
+++ b/ROADMAP.md
@@ -0,0 +1,27 @@
+# Meshery Roadmap
+
+Milestones on Meshery's high-level roadmap-
+
+Milestone | Features
+--- | ---
+v0.6.0 |
+v1.0.0 | hardening, release process, integration tests, user acceptance testing
+v1.1.0 | distributed performance, notification center
+
+Refer the [Meshery Roadmap](https://docs.google.com/document/d/1kvcz8jdvFwXmYBBaY2-3fHHUUoy1GJLpZZXuoxZQoOk/edit#) document for detailed info.
+
+# mesheryctl Roadmap
+
+Milestones on mesheryctl's high-level roadmap-
+
+Milestone | Features
+--- | ---
+v0.6.0 |
pervasive kubernetes support
Create `patterns`
Refactoring `perf` to support SMP better
Confirm support for Linux, Windows, and MacOS across all current commands
+v0.7.0 |
Create `mesh` (adapter operations)
Confirm support for environment and multi-cluster
+v0.8.0 |
gRPC (streaming of status and events)
Colorizing output
+v0.9.0 | OAuth
+
+Refer the [Meshery Roadmap](https://docs.google.com/document/d/1kvcz8jdvFwXmYBBaY2-3fHHUUoy1GJLpZZXuoxZQoOk/edit#) document for detailed info.
\ No newline at end of file
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 00000000000..c516504d8ba
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,65 @@
+# Security Policy
+We are very grateful to the security researchers and users that report
+back Meshery security vulnerabilities. We investigate every report thoroughly.
+
+## Reporting a vulnerability
+To make a report, send an email to the private
+[meshery-security-vulns-reports@meshery.dev](mailto:meshery-security-vulns-reports@meshery.dev)
+mailing list with the vulnerability details. For normal product bugs
+unrelated to latent security vulnerabilities, please head to
+the appropriate repository and submit a [new issue](https://github.com/layer5io/meshery/issues/new/choose).
+
+### When to report a security vulnerability?
+
+Send us a report whenever you:
+
+- Think Meshery has a potential security vulnerability.
+- Are unsure whether or how a vulnerability affects Meshery.
+- Think a vulnerability is present in another project that Meshery
+depends on (Docker for example).
+
+### When not to report a security vulnerability?
+
+Don't send a vulnerability report if:
+
+- You need help tuning Meshery components for security.
+- You need help applying security related updates.
+- Your issue is not security related.
+
+## Evaluation
+
+The Meshery team acknowledges and analyzes each vulnerability report within 10 working days.
+
+Any vulnerability information you share with the Meshery team stays
+within the Meshery project. We don't disseminate the information to other
+projects. We only share the information as needed to fix the issue.
+
+We keep the reporter updated as the status of the security issue is addressed.
+
+## Fixing the issue
+
+Once a security vulnerability has been fully characterized, a fix is developed by the Meshery team.
+The development and testing for the fix happens in a private GitHub repository in order to prevent
+premature disclosure of the vulnerability.
+
+## Early disclosure
+
+The Meshery project maintains a mailing list for private early disclosure of security vulnerabilities.
+The list is used to provide actionable information to close Meshery partners. The list is not intended
+for individuals to find out about security issues.
+
+## Public disclosure
+
+On the day chosen for public disclosure, a sequence of activities takes place as quickly as possible:
+
+- Changes are merged from the private GitHub repository holding the fix into the appropriate set of public
+branches.
+- Meshery team ensures all necessary binaries are promptly built and published.
+- Once the binaries are available, an announcement is sent out on the following channels:
+ - The [Meshery blog](https://meshery.io/blog/)
+ - The [Meshery Twitter feed](https://twitter.com/mesheryio)
+ - The #announcements channel on Slack
+
+As much as possible this announcement will be actionable, and include any mitigating steps customers can take prior to
+upgrading to a fixed version.
+
diff --git a/cmd/main.go b/cmd/main.go
index 6b90f674bba..53a568e4370 100644
--- a/cmd/main.go
+++ b/cmd/main.go
@@ -2,17 +2,25 @@ package main
import (
"context"
+ "fmt"
"net/http"
+ "net/url"
"os"
"os/signal"
"path"
"time"
- "github.com/layer5io/meshery/helpers"
-
"github.com/layer5io/meshery/handlers"
+ "github.com/layer5io/meshery/helpers"
+ "github.com/layer5io/meshery/internal/graphql"
+ "github.com/layer5io/meshery/internal/store"
"github.com/layer5io/meshery/models"
+ "github.com/layer5io/meshery/models/oam"
"github.com/layer5io/meshery/router"
+ "github.com/layer5io/meshkit/database"
+ "github.com/layer5io/meshkit/logger"
+ mesherykube "github.com/layer5io/meshkit/utils/kubernetes"
+ meshsyncmodel "github.com/layer5io/meshsync/pkg/model"
"github.com/spf13/viper"
"github.com/sirupsen/logrus"
@@ -25,6 +33,12 @@ var (
globalTokenForAnonymousResults string
version = "Not Set"
commitsha = "Not Set"
+ releasechannel = "Not Set"
+)
+
+const (
+ // DefaultProviderURL is the provider url for the "none" provider
+ DefaultProviderURL = "https://meshery.layer5.io"
)
func main() {
@@ -32,6 +46,15 @@ func main() {
models.GlobalTokenForAnonymousResults = globalTokenForAnonymousResults
}
+ // Initialize Logger instance
+ log, err := logger.New("meshery", logger.Options{
+ Format: logger.SyslogLogFormat,
+ })
+ if err != nil {
+ logrus.Error(err)
+ os.Exit(1)
+ }
+
ctx := context.Background()
viper.AutomaticEnv()
@@ -40,6 +63,21 @@ func main() {
viper.SetDefault("ADAPTER_URLS", "")
viper.SetDefault("BUILD", version)
viper.SetDefault("COMMITSHA", commitsha)
+ viper.SetDefault("RELEASE_CHANNEL", releasechannel)
+
+ store.Initialize()
+
+ // Register local OAM traits and workloads
+ if err := oam.RegisterMesheryOAMTraits(); err != nil {
+ logrus.Error(err)
+ }
+ if err := oam.RegisterMesheryOAMWorkloads(); err != nil {
+ logrus.Error(err)
+ }
+ logrus.Info("Registered Meshery local Capabilities")
+
+ // Get the channel
+ logrus.Info("Meshery server current channel: ", releasechannel)
home, err := os.UserHomeDir()
if viper.GetString("USER_DATA_FOLDER") == "" {
@@ -104,14 +142,44 @@ func main() {
}
defer testConfigPersister.CloseTestConfigsPersister()
- saasBaseURL := viper.GetString("SAAS_BASE_URL")
+ dbHandler, err := database.New(database.Options{
+ Filename: fmt.Sprintf("%s/meshsync.sql", viper.GetString("USER_DATA_FOLDER")),
+ Engine: database.SQLITE,
+ Logger: log,
+ })
+ if err != nil {
+ logrus.Fatal(err)
+ }
+
+ kubeclient := mesherykube.Client{}
+ meshsyncCh := make(chan struct{})
+
+ err = dbHandler.AutoMigrate(
+ meshsyncmodel.KeyValue{},
+ meshsyncmodel.Object{},
+ )
+ if err != nil {
+ logrus.Fatal(err)
+ }
+
lProv := &models.DefaultLocalProvider{
- SaaSBaseURL: saasBaseURL,
+ ProviderBaseURL: DefaultProviderURL,
MapPreferencePersister: preferencePersister,
ResultPersister: resultPersister,
SmiResultPersister: smiResultPersister,
TestProfilesPersister: testConfigPersister,
+ GenericPersister: dbHandler,
+ GraphqlHandler: graphql.New(graphql.Options{
+ Logger: log,
+ DBHandler: &dbHandler,
+ KubeClient: &kubeclient,
+ MeshSyncChannel: meshsyncCh,
+ }),
+ GraphqlPlayground: graphql.NewPlayground(graphql.Options{
+ URL: "/api/system/graphql/query",
+ }),
}
+ lProv.Initialize()
provs[lProv.Name()] = lProv
cPreferencePersister, err := models.NewBitCaskPreferencePersister(viper.GetString("USER_DATA_FOLDER"))
@@ -120,21 +188,40 @@ func main() {
}
defer preferencePersister.ClosePersister()
- if saasBaseURL == "" {
- logrus.Fatalf("SAAS_BASE_URL environment variable not set.")
- }
- cp := &models.MesheryRemoteProvider{
- SaaSBaseURL: saasBaseURL,
- RefCookieName: "meshery_ref",
- SessionName: "meshery",
- TokenStore: make(map[string]string),
- LoginCookieDuration: 1 * time.Hour,
- BitCaskPreferencePersister: cPreferencePersister,
- ProviderVersion: "v0.3.14",
+ RemoteProviderURLs := viper.GetStringSlice("PROVIDER_BASE_URLS")
+ for _, providerurl := range RemoteProviderURLs {
+ parsedURL, err := url.Parse(providerurl)
+ if err != nil {
+ logrus.Error(providerurl, "is invalid url skipping provider")
+ continue
+ }
+ cp := &models.RemoteProvider{
+ RemoteProviderURL: parsedURL.String(),
+ RefCookieName: parsedURL.Host + "_ref",
+ SessionName: parsedURL.Host,
+ TokenStore: make(map[string]string),
+ LoginCookieDuration: 1 * time.Hour,
+ BitCaskPreferencePersister: cPreferencePersister,
+ ProviderVersion: "v0.3.14",
+ SmiResultPersister: smiResultPersister,
+ GenericPersister: dbHandler,
+ GraphqlHandler: graphql.New(graphql.Options{
+ Logger: log,
+ DBHandler: &dbHandler,
+ KubeClient: &kubeclient,
+ MeshSyncChannel: meshsyncCh,
+ }),
+ GraphqlPlayground: graphql.NewPlayground(graphql.Options{
+ URL: "/api/system/graphql/query",
+ }),
+ }
+
+ cp.Initialize()
+
+ cp.SyncPreferences()
+ defer cp.StopSyncPreferences()
+ provs[cp.Name()] = cp
}
- cp.SyncPreferences()
- defer cp.StopSyncPreferences()
- provs[cp.Name()] = cp
h := handlers.NewHandlerInstance(&models.HandlerConfig{
Providers: provs,
@@ -153,7 +240,7 @@ func main() {
PrometheusClient: models.NewPrometheusClient(),
PrometheusClientForQuery: models.NewPrometheusClientWithHTTPClient(&http.Client{Timeout: time.Second}),
- })
+ }, &kubeclient, meshsyncCh, log)
port := viper.GetInt("PORT")
r := router.NewRouter(ctx, h, port)
diff --git a/docker-compose.yaml b/docker-compose.yaml
index 4f7340bc464..a255b7fb726 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -5,8 +5,9 @@ services:
labels:
- "com.centurylinklabs.watchtower.enable=true"
environment:
+ - "PROVIDER_BASE_URLS=https://meshery.layer5.io"
- "SAAS_BASE_URL=https://meshery.layer5.io"
- - "ADAPTER_URLS=meshery-istio:10000 meshery-linkerd:10001 meshery-consul:10002 meshery-octarine:10003 meshery-nsm:10004 meshery-kuma:10007 meshery-cpx:10008 meshery-osm:10009"
+ - "ADAPTER_URLS=meshery-istio:10000 meshery-linkerd:10001 meshery-consul:10002 meshery-octarine:10003 meshery-nsm:10004 meshery-kuma:10007 meshery-cpx:10008 meshery-osm:10009 meshery-traefik-mesh:10006"
- "EVENT=mesheryLocal"
volumes:
- $HOME/.kube:/home/appuser/.kube:ro
@@ -42,6 +43,12 @@ services:
- "com.centurylinklabs.watchtower.enable=true"
ports:
- "10004:10004"
+ meshery-traefik-mesh:
+ image: layer5/meshery-traefik-mesh:stable-latest
+ labels:
+ - "com.centurylinklabs.watchtower.enable=true"
+ ports:
+ - "10006:10006"
meshery-kuma:
image: layer5/meshery-kuma:stable-latest
labels:
@@ -60,7 +67,13 @@ services:
- "com.centurylinklabs.watchtower.enable=true"
ports:
- "10009:10009"
- # TODO(Kush) : Revamp the nighthawk image inclusion approach
+ #meshery-nginx-sm:
+ # image: layer5/meshery-nginx-sm:stable-latest
+ # labels:
+ # - "com.centurylinklabs.watchtower.enable=true"
+ # ports:
+ # - "10010:10010"
+ # TODO (kushthedude): Revamp the nighthawk image inclusion approach
# nighthawk-lg:
# image: envoyproxy/nighthawk-dev:latest
watchtower:
diff --git a/docs/CNAME b/docs/CNAME
new file mode 100644
index 00000000000..3a603cfae5d
--- /dev/null
+++ b/docs/CNAME
@@ -0,0 +1 @@
+docs.meshery.io
\ No newline at end of file
diff --git a/docs/Gemfile b/docs/Gemfile
index 7c623b2818f..55b0510f10e 100644
--- a/docs/Gemfile
+++ b/docs/Gemfile
@@ -17,10 +17,8 @@ ruby '2.7.1'
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
gem "github-pages", group: :jekyll_plugins
-gem 'jemoji'
# If you have any plugins, put them here!
-# group :jekyll_plugins do
-# gem "jekyll-github-metadata", "~> 1.0"
-# end
-
+#group :jekyll_plugins do
+ # gem "jemoji"
+#end
diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock
new file mode 100644
index 00000000000..40283b64c25
--- /dev/null
+++ b/docs/Gemfile.lock
@@ -0,0 +1,268 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ activesupport (6.0.3.4)
+ concurrent-ruby (~> 1.0, >= 1.0.2)
+ i18n (>= 0.7, < 2)
+ minitest (~> 5.1)
+ tzinfo (~> 1.1)
+ zeitwerk (~> 2.2, >= 2.2.2)
+ addressable (2.7.0)
+ public_suffix (>= 2.0.2, < 5.0)
+ coffee-script (2.4.1)
+ coffee-script-source
+ execjs
+ coffee-script-source (1.11.1)
+ colorator (1.1.0)
+ commonmarker (0.17.13)
+ ruby-enum (~> 0.5)
+ concurrent-ruby (1.1.7)
+ dnsruby (1.61.5)
+ simpleidn (~> 0.1)
+ em-websocket (0.5.2)
+ eventmachine (>= 0.12.9)
+ http_parser.rb (~> 0.6.0)
+ ethon (0.12.0)
+ ffi (>= 1.3.0)
+ eventmachine (1.2.7)
+ execjs (2.7.0)
+ faraday (1.3.0)
+ faraday-net_http (~> 1.0)
+ multipart-post (>= 1.2, < 3)
+ ruby2_keywords
+ faraday-net_http (1.0.0)
+ ffi (1.14.2)
+ forwardable-extended (2.6.0)
+ gemoji (3.0.1)
+ github-pages (209)
+ github-pages-health-check (= 1.16.1)
+ jekyll (= 3.9.0)
+ jekyll-avatar (= 0.7.0)
+ jekyll-coffeescript (= 1.1.1)
+ jekyll-commonmark-ghpages (= 0.1.6)
+ jekyll-default-layout (= 0.1.4)
+ jekyll-feed (= 0.15.1)
+ jekyll-gist (= 1.5.0)
+ jekyll-github-metadata (= 2.13.0)
+ jekyll-mentions (= 1.6.0)
+ jekyll-optional-front-matter (= 0.3.2)
+ jekyll-paginate (= 1.1.0)
+ jekyll-readme-index (= 0.3.0)
+ jekyll-redirect-from (= 0.16.0)
+ jekyll-relative-links (= 0.6.1)
+ jekyll-remote-theme (= 0.4.2)
+ jekyll-sass-converter (= 1.5.2)
+ jekyll-seo-tag (= 2.6.1)
+ jekyll-sitemap (= 1.4.0)
+ jekyll-swiss (= 1.0.0)
+ jekyll-theme-architect (= 0.1.1)
+ jekyll-theme-cayman (= 0.1.1)
+ jekyll-theme-dinky (= 0.1.1)
+ jekyll-theme-hacker (= 0.1.2)
+ jekyll-theme-leap-day (= 0.1.1)
+ jekyll-theme-merlot (= 0.1.1)
+ jekyll-theme-midnight (= 0.1.1)
+ jekyll-theme-minimal (= 0.1.1)
+ jekyll-theme-modernist (= 0.1.1)
+ jekyll-theme-primer (= 0.5.4)
+ jekyll-theme-slate (= 0.1.1)
+ jekyll-theme-tactile (= 0.1.1)
+ jekyll-theme-time-machine (= 0.1.1)
+ jekyll-titles-from-headings (= 0.5.3)
+ jemoji (= 0.12.0)
+ kramdown (= 2.3.0)
+ kramdown-parser-gfm (= 1.1.0)
+ liquid (= 4.0.3)
+ mercenary (~> 0.3)
+ minima (= 2.5.1)
+ nokogiri (>= 1.10.4, < 2.0)
+ rouge (= 3.23.0)
+ terminal-table (~> 1.4)
+ github-pages-health-check (1.16.1)
+ addressable (~> 2.3)
+ dnsruby (~> 1.60)
+ octokit (~> 4.0)
+ public_suffix (~> 3.0)
+ typhoeus (~> 1.3)
+ html-pipeline (2.14.0)
+ activesupport (>= 2)
+ nokogiri (>= 1.4)
+ http_parser.rb (0.6.0)
+ i18n (0.9.5)
+ concurrent-ruby (~> 1.0)
+ jekyll (3.9.0)
+ addressable (~> 2.4)
+ colorator (~> 1.0)
+ em-websocket (~> 0.5)
+ i18n (~> 0.7)
+ jekyll-sass-converter (~> 1.0)
+ jekyll-watch (~> 2.0)
+ kramdown (>= 1.17, < 3)
+ liquid (~> 4.0)
+ mercenary (~> 0.3.3)
+ pathutil (~> 0.9)
+ rouge (>= 1.7, < 4)
+ safe_yaml (~> 1.0)
+ jekyll-avatar (0.7.0)
+ jekyll (>= 3.0, < 5.0)
+ jekyll-coffeescript (1.1.1)
+ coffee-script (~> 2.2)
+ coffee-script-source (~> 1.11.1)
+ jekyll-commonmark (1.3.1)
+ commonmarker (~> 0.14)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-commonmark-ghpages (0.1.6)
+ commonmarker (~> 0.17.6)
+ jekyll-commonmark (~> 1.2)
+ rouge (>= 2.0, < 4.0)
+ jekyll-default-layout (0.1.4)
+ jekyll (~> 3.0)
+ jekyll-feed (0.15.1)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-gist (1.5.0)
+ octokit (~> 4.2)
+ jekyll-github-metadata (2.13.0)
+ jekyll (>= 3.4, < 5.0)
+ octokit (~> 4.0, != 4.4.0)
+ jekyll-mentions (1.6.0)
+ html-pipeline (~> 2.3)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-optional-front-matter (0.3.2)
+ jekyll (>= 3.0, < 5.0)
+ jekyll-paginate (1.1.0)
+ jekyll-readme-index (0.3.0)
+ jekyll (>= 3.0, < 5.0)
+ jekyll-redirect-from (0.16.0)
+ jekyll (>= 3.3, < 5.0)
+ jekyll-relative-links (0.6.1)
+ jekyll (>= 3.3, < 5.0)
+ jekyll-remote-theme (0.4.2)
+ addressable (~> 2.0)
+ jekyll (>= 3.5, < 5.0)
+ jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0)
+ rubyzip (>= 1.3.0, < 3.0)
+ jekyll-sass-converter (1.5.2)
+ sass (~> 3.4)
+ jekyll-seo-tag (2.6.1)
+ jekyll (>= 3.3, < 5.0)
+ jekyll-sitemap (1.4.0)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-swiss (1.0.0)
+ jekyll-theme-architect (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-cayman (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-dinky (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-hacker (0.1.2)
+ jekyll (> 3.5, < 5.0)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-leap-day (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-merlot (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-midnight (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-minimal (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-modernist (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-primer (0.5.4)
+ jekyll (> 3.5, < 5.0)
+ jekyll-github-metadata (~> 2.9)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-slate (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-tactile (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-time-machine (0.1.1)
+ jekyll (~> 3.5)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-titles-from-headings (0.5.3)
+ jekyll (>= 3.3, < 5.0)
+ jekyll-watch (2.2.1)
+ listen (~> 3.0)
+ jemoji (0.12.0)
+ gemoji (~> 3.0)
+ html-pipeline (~> 2.2)
+ jekyll (>= 3.0, < 5.0)
+ kramdown (2.3.0)
+ rexml
+ kramdown-parser-gfm (1.1.0)
+ kramdown (~> 2.0)
+ liquid (4.0.3)
+ listen (3.4.0)
+ rb-fsevent (~> 0.10, >= 0.10.3)
+ rb-inotify (~> 0.9, >= 0.9.10)
+ mercenary (0.3.6)
+ mini_portile2 (2.5.0)
+ minima (2.5.1)
+ jekyll (>= 3.5, < 5.0)
+ jekyll-feed (~> 0.9)
+ jekyll-seo-tag (~> 2.1)
+ minitest (5.14.3)
+ multipart-post (2.1.1)
+ nokogiri (1.11.1)
+ mini_portile2 (~> 2.5.0)
+ racc (~> 1.4)
+ octokit (4.20.0)
+ faraday (>= 0.9)
+ sawyer (~> 0.8.0, >= 0.5.3)
+ pathutil (0.16.2)
+ forwardable-extended (~> 2.6)
+ public_suffix (3.1.1)
+ racc (1.5.2)
+ rb-fsevent (0.10.4)
+ rb-inotify (0.10.1)
+ ffi (~> 1.0)
+ rexml (3.2.4)
+ rouge (3.23.0)
+ ruby-enum (0.8.0)
+ i18n
+ ruby2_keywords (0.0.2)
+ rubyzip (2.3.0)
+ safe_yaml (1.0.5)
+ sass (3.7.4)
+ sass-listen (~> 4.0.0)
+ sass-listen (4.0.0)
+ rb-fsevent (~> 0.9, >= 0.9.4)
+ rb-inotify (~> 0.9, >= 0.9.7)
+ sawyer (0.8.2)
+ addressable (>= 2.3.5)
+ faraday (> 0.8, < 2.0)
+ simpleidn (0.1.1)
+ unf (~> 0.1.4)
+ terminal-table (1.8.0)
+ unicode-display_width (~> 1.1, >= 1.1.1)
+ thread_safe (0.3.6)
+ typhoeus (1.4.0)
+ ethon (>= 0.9.0)
+ tzinfo (1.2.9)
+ thread_safe (~> 0.1)
+ unf (0.1.4)
+ unf_ext
+ unf_ext (0.0.7.7)
+ unicode-display_width (1.7.0)
+ zeitwerk (2.4.2)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ github-pages
+
+RUBY VERSION
+ ruby 2.7.1p83
+
+BUNDLED WITH
+ 2.2.9
diff --git a/docs/Makefile b/docs/Makefile
index e7076921931..3db745b3ca3 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -1,10 +1,13 @@
jekyll=bundle exec jekyll
-site:
- $(jekyll) serve --drafts --livereload
+site: install
+ $(jekyll) serve --drafts --livereload --config _config.yml,_config_dev.yml
-build:
+build: install
$(jekyll) build --drafts
+install:
+ bundle install
+
docker:
- docker run --name meshery-docs --rm -p 4000:4000 -v `pwd`:"/srv/jekyll" jekyll/jekyll:3.8.7 bash -c "bundle install; jekyll serve --drafts --livereload"
+ docker run --name meshery-docs --rm -p 4000:4000 -v `pwd`:"/srv/jekyll" jekyll/jekyll:3.8.7 bash -c "bundle install; jekyll serve --drafts --livereload --config _config.yml,_config_dev.yml"
\ No newline at end of file
diff --git a/docs/README.md b/docs/README.md
index bb8d77f33c7..b52c5b2915c 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,7 +1,7 @@
# Meshery Docs
![assets/img/docs-screenshot.png](assets/img/docs-screenshot.png)
-*Check out the [Meshery Docs](https://meshery.layer5.io/docs/)!*
+*Check out the [Meshery Docs](https://docs.meshery.io/)!*
## Contributing to the Meshery Documentation
@@ -40,7 +40,7 @@ Before contributing, please review the [Documentation Contribution Flow](https:/
```bash
$ make site
```
- *Note: From the Makefile, this command is actually running `$ bundle exec jekyll serve --drafts --livereload`. There are two Jekyll configuration, `jekyll serve` for developing locally and `jekyll build` when you need to generate the site artefacts for production.*
+ *Note: From the Makefile, this command is actually running `$ bundle exec jekyll serve --drafts --livereload`. There are two Jekyll configuration, `jekyll serve` for developing locally and `jekyll build` when you need to generate the site artifacts for production.*
### 4. Create a Pull Request
diff --git a/docs/_adapters/app-mesh.md b/docs/_adapters/app-mesh.md
index eb0839d150e..eb5bb0215f6 100644
--- a/docs/_adapters/app-mesh.md
+++ b/docs/_adapters/app-mesh.md
@@ -1,20 +1,21 @@
---
-layout: page
-title: App Mesh Adapter
+layout: default
+title: Meshery Adapter for App Mesh
name: Meshery Adapter for App Mesh
mesh_name: App Mesh
version: v0.1.0
port: 10005/tcp
project_status: alpha
github_link: https://github.com/layer5io/meshery-app-mesh
-image: /docs/assets/img/service-meshes/aws-app-mesh.png
+image: /assets/img/service-meshes/app-mesh.svg
+permalink: service-meshes/adapters/app-mesh
---
-# {{ page.name }}
+{% include adapter-status.html %}
-| Service Mesh | Adapter Status | Latest Supported Mesh Version |
-| :------------: | :------------: | :------------: |
-| {{page.title}} | [{{ page.project_status }}]({{ page.github_link }}) | {{page.version}} |
+The {{ page.name }} is currently under construction ({{ page.project_status }} state), which means that the adapter is not functional and cannot be interacted with through the Meshery UI at the moment. Check back here to see updates.
+
+Want to contribute? Check our [progress]({{page.github_link}}).
### Lifecycle management
diff --git a/docs/_adapters/consul.md b/docs/_adapters/consul.md
deleted file mode 100644
index 276605f6e45..00000000000
--- a/docs/_adapters/consul.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-layout: page
-title: Consul Adapter
-name: Meshery Adapter for Consul
-mesh_name: Consul
-version: v1.8.2
-port: 10002/tcp
-project_status: stable
-github_link: https://github.com/layer5io/meshery-consul
-image: /docs/assets/img/service-meshes/consul.svg
----
-# {{ page.name }}
-
-| Service Mesh | Adapter Status | Latest Supported Mesh Version |
-| :------------: | :------------: | :------------: |
-| {{page.title}} | [{{ page.project_status }}]({{ page.github_link }}) | {{page.version}} |
-
-### Lifecycle management
-
-The {{page.name}} can install **{{page.version}}** of the {{page.mesh_name}} service mesh. A number of sample applications for {{page.mesh_name}} can also be installed using Meshery.
-
-### Features
-
-1. Lifecycle management of {{page.mesh_name}}
-1. Lifecycle management of sample applications
-1. Performance management of {{page.mesh_name}} and it workloads
- - Prometheus and Grafana integration
-1. Configuration management and best practices of {{page.mesh_name}}
-1. Custom service mesh configuration
-
-### Sample Applications
-
-The {{ page.name }} includes a handful of sample applications. Use Meshery to deploy any of these sample applications.
-
-- [httpbin](https://httpbin.org)
- - Httpbin is a simple HTTP request and response service.
-- [Istio BookInfo](https://github.com/layer5io/istio-service-mesh-workshop/blob/master/lab-2/README.md#what-is-the-bookinfo-application)
- - This application is a polyglot composition of microservices are written in different languages and sample BookInfo application displays information about a book, similar to a single catalog entry of an online book store.
-- [Image Hub](https://github.com/layer5io/image-hub)
- - Image Hub is a sample application written to run on Consul for exploring WebAssembly modules used as Envoy filters.
-
-![Layer5 Image Hub on HashiCorp Consul](/docs/service-meshes/adapters/consul/layer5-image-hub-on-hashicorp-consul.png)
-
-
-### Performance management of Consul and it workloads
-
-#### Prometheus and Grafana integration
-
-The {{ page.name }} will connect to {{ page.name }}'s Prometheus and Grafana instances running in the control plane (typically found in a separate namespace) or other instances to which Meshery has network reachability.
-
-### Architecture
-
-![Consul Service Mesh Archicture](/docs/service-meshes/adapters/consul/service-mesh-architecture-consul.png)
-
-### Suggested Topics
-
-- Examine [Meshery's architecture]({{ site.baseurl }}/architecture) and how adapters fit in as a component.
-- Learn more about [Meshery Adapters]({{ site.baseurl }}/architecture/adapters).
diff --git a/docs/_adapters/consul/consul.md b/docs/_adapters/consul/consul.md
new file mode 100644
index 00000000000..44db461f657
--- /dev/null
+++ b/docs/_adapters/consul/consul.md
@@ -0,0 +1,74 @@
+---
+layout: default
+title: Meshery Adapter for Consul
+name: Meshery Adapter for Consul
+mesh_name: Consul
+version: v1.8.2
+port: 10002/tcp
+project_status: stable
+lab: consul-meshery-adapter
+github_link: https://github.com/layer5io/meshery-consul
+image: /assets/img/service-meshes/consul.svg
+#redirect_from: service-meshes/adapters/consul
+permalink: service-meshes/adapters/consul
+---
+{% include adapter-status.html %}
+
+{% include adapter-labs.html %}
+
+## Lifecycle management
+
+The {{page.name}} can install **{{page.version}}** of the {{page.mesh_name}} service mesh.
+
+### Install {{ page.mesh_name }}
+
+##### Choose the Meshery Adapter for {{page.mesh_name}}
+
+
+
+
+
+##### Click on (+) and choose the {{page.version}} of the {{page.mesh_name}} service mesh.
+
+
+
+
+
+A number of [sample applications](#sample-applications) for {{page.mesh_name}} can also be installed using Meshery.
+
+### Features
+
+1. Lifecycle management of {{page.mesh_name}}
+1. Lifecycle management of sample applications
+1. Performance management of {{page.mesh_name}} and it workloads
+ - Prometheus and Grafana integration
+1. Configuration management and best practices of {{page.mesh_name}}
+1. Custom service mesh configuration
+
+### Sample Applications
+
+Meshery supports the deployment of a variety of sample applications on {{ page.name }}. Use Meshery to deploy any of these sample applications.
+
+- [httpbin]({{ site.baseurl }}/guides/sample-apps#httpbin)
+ - Httpbin is a simple HTTP request and response service.
+- [Bookinfo]({{ site.baseurl }}/guides/sample-apps#bookinfo)
+ - The sample BookInfo application displays information about a book, similar to a single catalog entry of an online book store.
+- [Image Hub]({{ site.baseurl }}/guides/sample-apps/imagehub)
+ - Image Hub is a sample application written to run on Consul for exploring WebAssembly modules used as Envoy filters.
+
+[![Layer5 Image Hub on HashiCorp Consul]({{ site.baseurl }}/service-meshes/adapters/consul/layer5-image-hub-on-hashicorp-consul.png)]({{ site.baseurl }}/service-meshes/adapters/consul/layer5-image-hub-on-hashicorp-consul.png)
+
+### Performance management of Consul and it workloads
+
+#### Prometheus and Grafana integration
+
+The {{ page.name }} will connect to {{ page.name }}'s Prometheus and Grafana instances running in the control plane (typically found in a separate namespace) or other instances to which Meshery has network reachability.
+
+### Architecture
+
+[![Consul Service Mesh Archicture]({{ site.baseurl }}/service-meshes/adapters/consul/service-mesh-architecture-consul.png)]({{ site.baseurl }}/service-meshes/adapters/consul/service-mesh-architecture-consul.png)
+
+### Suggested Topics
+
+- Examine [Meshery's architecture]({{ site.baseurl }}/architecture) and how adapters fit in as a component.
+- Learn more about [Meshery Adapters]({{ site.baseurl }}/architecture/adapters).
diff --git a/docs/_adapters/cpx.md b/docs/_adapters/cpx.md
index f52c07e832d..b2edf6bdc6e 100644
--- a/docs/_adapters/cpx.md
+++ b/docs/_adapters/cpx.md
@@ -1,42 +1,49 @@
---
-layout: page
-title: Citrix Service Mesh (CPX) Adapter
+layout: default
+title: Citrix Service Mesh (CPX)
name: Meshery Adapter for Citrix Service Mesh
-mesh_name: Citrix Service Mesh
+mesh_name: Citrix
version: "1.0"
port: 10008/tcp
project_status: beta
github_link: https://github.com/layer5io/meshery-cpx
-image: /docs/assets/img/service-meshes/cpx.png
+image: /assets/img/service-meshes/citrix.svg
---
-# {{ page.name }}
+{% include adapter-status.html %}
-| Service Mesh | Adapter Status | Latest Supported Mesh Version |
-| :------------: | :-------------------------------------------------: | :---------------------------: |
-| {{page.title}} | [{{ page.project_status }}]({{ page.github_link }}) | {{page.version}} |
+## Lifecycle management
+The {{page.name}} can install **{{page.version}}** of the {{page.mesh_name}}.
+
+### Install {{ page.mesh_name }}
+
+##### Choose the Meshery Adapter for Citrix
+
+
+
+
+
+##### Click on (+) and choose the {{page.version}} of the {{page.mesh_name}} service mesh.
+
+
+
+
## Features
1. Lifecycle Management of {{page.mesh_name}}
2. Lifecycle Management of Sample Applications
-### Lifecycle management
-The {{page.name}} can install **{{page.version}}** of the {{page.mesh_name}}.
-
### Sample Applications
The {{ page.name }} includes a handful of sample applications. Some of these applications are from other service meshes and some of these sample applications are general-purpose examples. Use Meshery to deploy any of these sample applications.
-- [hipster](https://github.com/GoogleCloudPlatform/microservices-demo)
-
- - Hipster Shop Application is a web-based, e-commerce demo application from the Google Cloud Platform.
-
-- [httpbin](https://httpbin.org)
- - Httpbin is a simple HTTP request and response service.
-
-- [Istio BookInfo Application](https://github.com/layer5io/istio-service-mesh-workshop/blob/master/lab-2/README.md#what-is-the-bookinfo-application)
- - This application is a polyglot composition of microservices that are written in different languages. The application displays information about a book, similar to a single catalog entry of an online book store. Displayed on the page is a description of the book, book details (ISBN, number of pages, and so on), and a few book reviews.
+- [Bookinfo]({{ site.baseurl }}/guides/sample-apps#bookinfo)
+ - Follow this [tutorial workshop](https://github.com/layer5io/istio-service-mesh-workshop/blob/master/lab-2/README.md) to set up and deploy the BookInfo sample app on Istio using Meshery.
+- [Httpbin]({{ site.baseurl }}/guides/sample-apps#httpbin)
+ - Httpbin is a simple HTTP request and response service.
+- [Hipster]({{ site.baseurl }}/guides/sample-apps#hipster)
+ - Hipster Shop Application is a web-based, e-commerce demo application from the Google Cloud Platform.
### Suggested Topics
diff --git a/docs/_adapters/istio/istio.md b/docs/_adapters/istio/istio.md
index f2e0d8570c5..081374ad4ce 100644
--- a/docs/_adapters/istio/istio.md
+++ b/docs/_adapters/istio/istio.md
@@ -1,59 +1,93 @@
---
-layout: page
-title: Istio
+layout: default
+title: Meshery Adapter for Istio
name: Meshery Adapter for Istio
-version: v1.5
+version: v1.8.1
+mesh_name: Istio
port: 10000/tcp
project_status: stable
+lab: istio-meshery-adapter
github_link: https://github.com/layer5io/meshery-istio
-image: /docs/assets/img/service-meshes/istio.svg
+image: /assets/img/service-meshes/istio.svg
+permalink: service-meshes/adapters/istio
---
-# {{ page.name }}
-| Service Mesh | Adapter Status | Latest Supported Mesh Version |
-| :------------: | :------------: | :------------: |
-| {{page.title}} | [{{ page.project_status }}]({{ page.github_link }}) | {{page.version}} |
+{% include adapter-status.html %}
-### Features
-1. Lifecycle management of Istio
-1. Lifecycle management of sample applications
-1. SMI Conformance Capability of Istio
-1. Configuration best practices
-1. Custom service mesh configuration
-1. Prometheus and Grafana connections
+{% include adapter-labs.html %}
+
+## Features
+
+1. {{page.mesh_name}} Lifecycle Management
+1. Workload Lifecycle Management
+ 1. Using Service Mesh Standards
+ 1. Service Mesh Performance (SMP)
+ 1. Prometheus and Grafana connections
+ 1. Service Mesh Interface (SMI)
+1. Configuration Analysis, Patterns, and Best Practices
+ 1. Custom Service Mesh Configuration
### Lifecycle management
-The {{page.name}} can install **{{page.version}}** of the {{page.name}} service mesh. The SMI adapter for Istio can also be installed using Meshery.
+The {{page.name}} can install {{page.version}} of the {{page.title}} service mesh. The SMI adapter for Istio can also be installed using Meshery.
+
+### Install {{ page.mesh_name }}
+
+In Meshery's UI, choose the Meshery Adapter for {{ page.mesh_name }}.
+
+
+
+
+
+Click on (+) and choose the {{page.version}} of the {{page.mesh_name}} service mesh.
+
+
+
+
+
+
+### Workload Management
+
+The ({{page.name}}) includes a handful of sample applications. Use Meshery to deploy any of these sample applications:
-### Sample applications
+- [Bookinfo]({{ site.baseurl }}/guides/sample-apps#bookinfo)
+ - Follow this [tutorial workshop](https://github.com/layer5io/istio-service-mesh-workshop/blob/master/lab-2/README.md) to set up and deploy the BookInfo sample app on Istio using Meshery.
-The ({{ page.name }}) includes a handful of sample applications. Use Meshery to deploy any of these sample applications:
+- [Httpbin]({{ site.baseurl }}/guides/sample-apps#httpbin)
+ - Httpbin is a simple HTTP request and response service.
-- [Bookinfo](https://github.com/istio/istio/tree/master/samples/bookinfo)
-- [Httpbin](https://httpbin.org/)
-- [Hipster](https://github.com/GoogleCloudPlatform/microservices-demo)
+- [Hipster]({{ site.baseurl }}/guides/sample-apps#hipster)
+ - Hipster Shop Application is a web-based, e-commerce demo application from the Google Cloud Platform.
-Once BookInfo is deployed, you can use Meshery to apply configuration to control traffic, inject latency, perform context-based routing, and so on.
+## Using Service Mesh Standards
-### SMI Conformance Capability
+### Complying with Service Mesh Interface (SMI)
Meshery allows you to analyze the compliance status and functional capabilities of your service mesh. This allows you to compare high-level functional differences between service meshes and verify whether your service mesh is conformant with the SMI specification.
-Learn more about the SMI specification and [Meshery's conformance test suite](https://meshery.layer5.io/docs/functionality/smi-conformance).
+Learn more about the SMI specification and [Meshery's conformance test suite]({{ site.baseurl }}/functionality/service-mesh-interface).
+
+### Managing Service Mesh Performance (SMP)
+
+### Prometheus and Grafana connections
+
+The {{page.name}} will connect to Istio's Prometheus and Grafana instances running in the control plane (typically found in the `istio-system` namespace). You can also connect Meshery to Prometheus and Grafana instances not running in the service mesh's control plane.
+## Configuration Analysis, Patterns, and Best Practices
### Configuration best practices
+
The {{page.name}} will parse all of Istio's configuration and compare the running configuration of the service mesh against known best practices for an {{page.title}} deployment.
### Custom service mesh configuration
Meshery allows you to paste (or type in) any Kubernetes manifest that you would like to have applied to the cluster. This configuraiton may be new VirtualServices or new DestinationRules or other.
- ![Custom Istio Configuration in Meshery]({{ relative_url }}istio-adapter-custom-configuration.png)
-
-### Prometheus and Grafana connections
-
-The {{page.name}} will connect to Istio's Prometheus and Grafana instances running in the control plane (typically found in the `istio-system` namespace). You can also connect Meshery to Prometheus and Grafana instances not running in the service mesh's control plane.
+
+
+
+
+
+
### Suggested Topics
diff --git a/docs/_adapters/kuma.md b/docs/_adapters/kuma.md
deleted file mode 100644
index fbd4e814f7e..00000000000
--- a/docs/_adapters/kuma.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-layout: page
-title: Kuma Adapter
-name: Meshery Adapter for Kuma
-version: v1.0
-port: 10007/tcp
-project_status: beta
-github_link: https://github.com/layer5io/meshery-kuma
-image: /docs/assets/img/service-meshes/kuma.svg
----
-
-# {{ page.name }}
-
-| Service Mesh | Adapter Status | Latest Supported Mesh Version |
-| :------------: | :-------------------------------------------------: | :---------------------------: |
-| {{page.title}} | [{{ page.project_status }}]({{ page.github_link }}) | {{page.version}} |
-
-### Features
-
-1. Lifecycle management of Kuma
-1. SMI Conformance Capability of Kuma
-
-### Lifecycle management
-
-The {{page.name}} can install **{{page.version}}** of {{page.mesh_name}}. A number of sample applications can be installed using the {{page.name}}.
-
-### SMI Conformance Capability
-
-Meshery allows you to analyze the compliance status and functional capabilities of your service mesh. This allows you to compare high-level functional differences between service meshes and verify whether your service mesh is conformant with the SMI specification.
-
-Learn more about the SMI specification and [Meshery's conformance test suite](https://meshery.layer5.io/docs/functionality/smi-conformance).
diff --git a/docs/_adapters/kuma/kuma.md b/docs/_adapters/kuma/kuma.md
new file mode 100644
index 00000000000..1394da096bb
--- /dev/null
+++ b/docs/_adapters/kuma/kuma.md
@@ -0,0 +1,49 @@
+---
+layout: page
+title: Meshery Adapter for Kuma
+name: Meshery Adapter for Kuma
+mesh_name: Kuma
+version: v1.0
+port: 10007/tcp
+project_status: beta
+lab: kuma-meshery-adapter
+github_link: https://github.com/layer5io/meshery-kuma
+image: /assets/img/service-meshes/kuma.svg
+permalink: service-meshes/adapters/kuma
+---
+
+{% include adapter-status.html %}
+
+{% include adapter-labs.html %}
+
+## Lifecycle management
+
+The {{page.name}} can install **{{page.version}}** of {{page.mesh_name}}. A number of sample applications can be installed using the {{page.name}}.
+
+### Install {{ page.mesh_name }}
+Choose the Meshery Adapter for {{ page.mesh_name }}.
+
+
+
+
+
+Click on (+) and choose the {{page.version}} of the {{page.mesh_name}} service mesh.
+
+
+
+
+
+
+## Workload Management
+
+The following sample applications are available in this adapter.
+
+- [Bookinfo]({{ site.baseurl }}/guides/sample-apps#bookinfo)
+ - The sample BookInfo application displays information about a book, similar to a single catalog entry of an online book store.
+
+### SMI Conformance Capability
+
+Meshery allows you to analyze the compliance status and functional capabilities of your service mesh. This allows you to compare high-level functional differences between service meshes and verify whether your service mesh is conformant with the SMI specification.
+
+Learn more about the SMI specification and [Meshery's conformance test suite]({{ site.baseurl }}/functionality/service-mesh-interface).
+
diff --git a/docs/_adapters/linkerd.md b/docs/_adapters/linkerd.md
index 280252f439c..50fddf35148 100644
--- a/docs/_adapters/linkerd.md
+++ b/docs/_adapters/linkerd.md
@@ -1,43 +1,60 @@
---
-layout: page
-title: Linkerd Adapter
+layout: default
+title: Meshery Adapter for Linkerd
name: Meshery Adapter for Linkerd
mesh_name: Linkerd
version: v2.5.0
port: 10001/tcp
project_status: stable
+lab: linkerd-meshery-adapter
github_link: https://github.com/layer5io/meshery-linkerd
-image: /docs/assets/img/service-meshes/linkerd.svg
+image: /assets/img/service-meshes/linkerd.svg
+permalink: service-meshes/adapters/linkerd
---
-# {{ page.name }}
+{% include adapter-status.html %}
-| Service Mesh | Adapter Status | Latest Supported Mesh Version |
-| :------------: | :------------: | :------------: |
-| {{page.title}} | [{{ page.project_status }}]({{ page.github_link }}) | {{page.version}} |
-
-### Lifecycle management
-
-The {{page.name}} can install **{{page.version}}** of {{page.mesh_name}}. A number of sample applications can be installed using the {{page.name}}.
+{% include adapter-labs.html %}
### Features
1. Lifecycle management of {{page.mesh_name}}
1. Lifecycle management of sample applications
1. Performance testing
+
+## Lifecycle management
+
+The {{page.name}} can install **{{page.version}}** of {{page.mesh_name}}. A number of sample applications can be installed using the {{page.name}}.
+
+### Install {{ page.mesh_name }}
+
+Note: Linkerd's control plane will be deployed to the `linkerd` namespace. Linkerd does not support deployments of its control plane into namespaces under a different name.
+##### Choose the Meshery Adapter for {{ page.mesh_name }}
+
+
+
+
+
+
+##### Click on (+) and choose the {{page.version}} of the {{page.mesh_name}} service mesh.
+
+
+
+
+
### Sample Applications
-The {{ page.name }} includes a handful of sample applications. Use Meshery to deploy any of these sample applications.
+The {{ page.name }} includes the ability to deploy a variety of sample applications. Use Meshery to deploy any of these sample applications:
-- [Emojivoto](https://github.com/BuoyantIO/emojivoto)
+- [Emojivoto]({{ site.baseurl }}/guides/sample-apps#emoji.voto)
- A microservice application that allows users to vote for their favorite emoji, and tracks votes received on a leaderboard.
-- [Istio Bookinfo](https://github.com/istio/istio/tree/master/samples/bookinfo)
- - This application is a polyglot composition of microservices are written in different languages and sample BookInfo application displays information about a book, similar to a single catalog entry of an online book store.
+- [Bookinfo]({{ site.baseurl }}/guides/sample-apps#bookinfo)
+ - The sample BookInfo application displays information about a book, similar to a single catalog entry of an online book store.
-- [Linkerd Books](https://github.com/BuoyantIO/booksapp)
- - Application that helps you manage your bookshelf.
+- [Linkerd Books]({{ site.baseurl }}/guides/sample-apps#linkerdbooks)
+ - A sample application built for demonstrating manage your bookshelf.
-- [HTTPbin](https://httpbin.org/)
+- [HTTPbin]({{ site.baseurl }}/guides/sample-apps#httpbin)
- A simple HTTP Request & Response Service.
Identify overhead involved in running {{page.mesh_name}}, various {{page.mesh_name}} configurations while running different workloads and on different infrastructure. The adapter facilitates data plane and control plane performance testing.
@@ -45,4 +62,4 @@ Identify overhead involved in running {{page.mesh_name}}, various {{page.mesh_na
1. Prometheus integration
1. Grafana integration
-The [Meshery adapter for Linkerd]({{ page.github_link }}) will connect to Linkerd's Prometheus and Grafana instances running in the control plane.
+The [Meshery Adapter for Linkerd]({{ page.github_link }}) will connect to Linkerd's Prometheus and Grafana instances running in the control plane.
diff --git a/docs/_adapters/maesh.md b/docs/_adapters/maesh.md
deleted file mode 100644
index 05e2dcff1c1..00000000000
--- a/docs/_adapters/maesh.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-layout: page
-title: Traefik Mesh Adapter
-name: Meshery Adapter for Traefik Mesh
-mesh_name: Traefik Mesh
-version: v1.0
-port: 10006/tcp
-project_status: alpha
-github_link: https://github.com/layer5io/meshery-maesh
-image: /docs/assets/img/service-meshes/traefik.svg
----
-# {{ page.name }}
-
-| Service Mesh | Adapter Status | Latest Supported Mesh Version |
-| :------------: | :------------: | :------------: |
-| {{page.title}} | [{{ page.project_status }}]({{ page.github_link }}) | {{page.version}} |
-
-### Lifecycle management
-
-The {{page.name}} can install **{{page.version}}** of {{page.mesh_name}}. A number of sample applications can be installed using the {{page.name}}.
-
-### Suggested Topics
-
-- Examine [Meshery's architecture]({{ site.baseurl }}/architecture) and how adapters fit in as a component.
-- Learn more about [Meshery Adapters]({{ site.baseurl }}/architecture/adapters).
-
-### Sample Applications
-
-The {{ page.name }} includes some sample applications operations. Meshery can be used to deploy any of these sample applications.
-
-- [Istio BookInfo](https://github.com/layer5io/istio-service-mesh-workshop/blob/master/lab-2/README.md#what-is-the-bookinfo-application)
- - This application is a polyglot composition of microservices are written in different languages and sample BookInfo application displays information about a book, similar to a single catalog entry of an online book store.
-- [httpbin](https://httpbin.org)
- - This is a simple HTTP Request & Response Service.
diff --git a/docs/_adapters/nginx-sm.md b/docs/_adapters/nginx-sm.md
new file mode 100644
index 00000000000..69a7dcd9a94
--- /dev/null
+++ b/docs/_adapters/nginx-sm.md
@@ -0,0 +1,47 @@
+---
+layout: default
+title: Meshery Adapter for NGINX Service Mesh
+name: Meshery Adapter for NGINX Service Mesh
+mesh_name: NGINX Service Mesh
+version: v0.6.0
+port: 10010/tcp
+project_status: beta
+github_link: https://github.com/layer5io/meshery-nginx-sm
+image: /assets/img/service-meshes/nginx-sm.svg
+permalink: service-meshes/adapters/nginx-sm
+---
+{% include adapter-status.html %}
+
+The {{ page.name }} is currently under construction ({{ page.project_status }} state). Want to contribute? Check our [progress](page.github_link).
+
+## Lifecycle management
+
+The {{page.name}} can install **{{page.version}}** of {{page.mesh_name}}. A number of sample applications can be installed using the {{page.name}}.
+
+### Features
+1. Lifecycle management of {{page.mesh_name}}
+1. Lifecycle management of sample applications
+1. Performance testing
+
+### Sample Applications
+
+The {{ page.name }} includes a handful of sample applications. Use Meshery to deploy any of these sample applications.
+
+- [Emojivoto]({{ site.baseurl }}/guides/sample-apps#emoji.voto)
+ - A microservice application that allows users to vote for their favorite emoji, and tracks votes received on a leaderboard.
+
+- [Bookinfo]({{ site.baseurl }}/guides/sample-apps#bookinfo)
+ - Follow this [tutorial workshop](https://github.com/layer5io/istio-service-mesh-workshop/blob/master/lab-2/README.md) to set up and deploy the BookInfo sample app on Istio using Meshery.
+
+- [Httpbin]({{ site.baseurl }}/guides/sample-apps#httpbin)
+ - Httpbin is a simple HTTP request and response service.
+
+- [Nginx Servce Mesh Books](https://github.com/BuoyantIO/booksapp)
+ - Application that helps you manage your bookshelf.
+
+Identify overhead involved in running {{page.mesh_name}}, various {{page.mesh_name}} configurations while running different workloads and on different infrastructure. The adapter facilitates data plane and control plane performance testing.
+
+1. Prometheus integration
+1. Grafana integration
+
+The [{{page.name}}]({{ page.github_link }}) will connect to NGINX Service Mesh's Prometheus and Grafana instances running in the control plane.
diff --git a/docs/_adapters/nsm/nsm.md b/docs/_adapters/nsm/nsm.md
index 9c984be84a1..693b1dc0a7b 100644
--- a/docs/_adapters/nsm/nsm.md
+++ b/docs/_adapters/nsm/nsm.md
@@ -1,30 +1,44 @@
---
-layout: page
-title: Network Service Mesh Adapter
+layout: default
+title: Meshery Adapter for Network Service Mesh
name: Meshery Adapter for Network Service Mesh
mesh_name: Network Service Mesh
version: v0.2.1
port: 10004/tcp
project_status: stable
+lab: nsm-meshery-adapter
github_link: https://github.com/layer5io/meshery-nsm
-image: /docs/assets/img/service-meshes/nsm.svg
+image: /assets/img/service-meshes/nsm.svg
+permalink: service-meshes/adapters/nsm
---
-# {{ page.name }}
+{% include adapter-status.html %}
-| Service Mesh | Adapter Status | Latest Supported Mesh Version |
-| :------------: | :-----------------------------------------------------------------------------: | :---------------------------: |
-| {{page.title}} | {{ page.project_status }} | {{page.version}} |
+{% include adapter-labs.html %}
-### Lifecycle management of {{ page.name }}
+## Lifecycle management of {{ page.name }}
-The {{page.name}} can install **{{page.version}}** of {{page.mesh_name}}. A number of sample applications can be installed using the {{page.name}}.
+The {{page.name}} can install {{page.version}} of {{page.mesh_name}}. A number of sample applications can be installed using the {{page.name}}.
-### Lifecycle management of sample applications
+### Install {{ page.mesh_name }}
+
+##### Choose the Meshery Adapter for {{ page.mesh_name }}
+
+
+
+
+
+Click on (+) and choose the {{page.version}} of the {{page.mesh_name}} service mesh.
+
+
+
+
+
+## Sample Applications
The ({{ page.name }}) includes a handful of sample applications. These applications represent different network services orchestrated by {{page.mesh_name}}. Use Meshery to deploy any of these sample applications:
-#### 1. **Hello NSM Application**
+### 1. Hello NSM Application
Watch this presentation to see the Hello NSM Application in-action:
@@ -32,7 +46,7 @@ Watch this presentation to see the Hello NSM Application in-action:
See on YouTube: [Adopting Network Service Mesh with Meshery](https://www.youtube.com/watch?v=4xKixsDTtdM&list=PL3A-A6hPO2IOpTbdH89qR-4AE0ON13Zie)
-#### 2. **VPP-ICMP Application**
+#### 2. VPP-ICMP Application
_A simple example that connects a vpp based Pod to a Network Service using memif._
@@ -43,14 +57,14 @@ The icmp responder example does this with kernel interfaces. The vpp-icmp-respon
![vpp-icmp-responder-example](./vpp-icmp-responder-example.svg)
-**Working process**
+Working process
This will install two Deployments:
| Name | Description |
| :------------------------- | :--------------------------- |
-| **vpp-icmp-responder-nsc** | The Clients (four replicas) |
-| **vpp-icmp-responder-nse** | The Endpoints (two replicas) |
+| vpp-icmp-responder-nsc | The Clients (four replicas) |
+| vpp-icmp-responder-nse | The Endpoints (two replicas) |
And cause each Client to get a vWire connecting it to one of the Endpoints. Network Service Mesh handles the Network Service Discovery and Routing, as well as the vWire 'Connection Handling' for setting all of this up.
@@ -58,34 +72,38 @@ And cause each Client to get a vWire connecting it to one of the Endpoints. Netw
In order to make this case more interesting, Endpoint1 and Endpoint2 are deployed on two separate Nodes using PodAntiAffinity, so that the Network Service Mesh has to demonstrate the ability to string vWires between Clients and Endpoints on the same Node and Clients and Endpoints on different Nodes.
-**Verification**
+Verification
First verify that the vpp-icmp-responder example Pods are all up and running:
-```bash
-kubectl get pods | grep vpp-icmp-responder
-```
+
+
+ $ kubectl get pods | grep vpp-icmp-responder
+
+
To see the vpp-icmp-responder example in action, you can run:
-```bash
-curl -s https://raw.githubusercontent.com/networkservicemesh/networkservicemesh/master/scripts/nsc_ping_all.sh | bash
-```
+
-#### 3. **ICMP Responder**
+#### 3. ICMP Responder
The simplest possible case for Network Service Mesh is to have is connecting a Client via a vWire to another Pod that is providing a Network Service. We call this case the βicmp-responderβ example, because it allows the client to ping the IP address of the Endpoint over the vWire.
![icmp-responder-example](./icmp-responder-example.svg)
-**Outcomes**
+Outcomes
This will install two Deployments:
| Name | Description |
| :--------------------- | :-------------------------- |
-| **icmp-responder-nsc** | The Clients, four replicas |
-| **icmp-responder-nse** | The Endpoints, two replicas |
+| icmp-responder-nsc | The Clients, four replicas |
+| icmp-responder-nse | The Endpoints, two replicas |
And cause each Client to get a vWire connecting it to one of the Endpoints. Network Service Mesh handles the
Network Service Discovery and Routing, as well as the vWire 'Connection Handling' for setting all of this up.
@@ -93,22 +111,26 @@ Network Service Discovery and Routing, as well as the vWire 'Connection Handling
![icmp-responder-example-2](./icmp-responder-example-2.svg)
In order to make this case more interesting, Endpoint1 and Endpoint2 are deployed on two separate Nodes using
-`PodAntiAffinity`, so that the Network Service Mesh has to demonstrate the ability to string vWires between Clients and
+*PodAntiAffinity*, so that the Network Service Mesh has to demonstrate the ability to string vWires between Clients and
Endpoints on the same Node and Clients and Endpoints on different Nodes.
-**Verification**
+Verification
1. Verify that the icmp-responder example Pods are all up and running:
-```bash
-kubectl get pods | grep icmp-responder
-```
+
+
+ $ kubectl get pods | grep icmp-responder
+
+
2. To see the icmp-responder example in action, you may run:
-```bash
-curl -s https://raw.githubusercontent.com/networkservicemesh/networkservicemesh/master/scripts/nsc_ping_all.sh | bash
-```
+
### Suggested Topics
diff --git a/docs/_adapters/octarine/octarine.md b/docs/_adapters/octarine/octarine.md
index be81b309d3f..3c0a71d7c0c 100644
--- a/docs/_adapters/octarine/octarine.md
+++ b/docs/_adapters/octarine/octarine.md
@@ -1,24 +1,35 @@
---
-layout: page
-title: Octarine Adapter
+layout: default
+title: Octarine
name: Meshery Adapter for Octarine
mesh_name: Octarine
version: v1.0
port: 10003/tcp
project_status: stable
github_link: https://github.com/layer5io/meshery-octarine
-image: /docs/assets/img/service-meshes/octarine.svg
+image: /assets/img/service-meshes/octarine.svg
+permalink: service-meshes/adapters/octarine
---
-# {{ page.name }}
+{% include adapter-status.html %}
-| Service Mesh | Adapter Status | Latest Supported Mesh Version |
-| :------------: | :------------: | :------------: |
-| {{page.title}} | [{{ page.project_status }}]({{ page.github_link }}) | {{page.version}} |
-
-### Lifecycle Management
+## Lifecycle Management
The {{page.name}} can install **{{page.version}}** of the {{page.mesh_name}} service mesh. A number of sample applications for {{page.mesh_name}} can also be installed using Meshery.
+### Install {{ page.mesh_name }}
+
+##### **Choose the Meshery Adapter for {{ page.mesh_name }}**
+
+
+
+
+
+##### **Click on (+) and choose the {{page.version}} of the {{page.mesh_name}} service mesh.**
+
+
+
+
+
### Features
1. Policy-based validation that k8s workloads spec are secure.
@@ -51,20 +62,20 @@ Once the Octarine's data plane services are deployed, the adapter can be used to
#### Control Plane
-![Alt text](./octarine_cparch.jpg?raw=true "Octarine Control Plane")
+[![Octarine Control Plane](./octarine_cparch.jpg?raw=true)](./octarine_cparch.jpg?raw=true)
#### Data Plane
-![Alt text](./octarine_dparch.jpg?raw=true "Octarine Data Plane")
-
-### Suggested Topics
-
-- Examine [Meshery's architecture]({{ site.baseurl }}/architecture) and how adapters fit in as a component.
-- Learn more about [Meshery Adapters]({{ site.baseurl }}/architecture/adapters).
+[![Octarine Data Plane](./octarine_dparch.jpg?raw=true)](./octarine_dparch.jpg?raw=true)
### Sample Applications
The {{ page.name }} includes the below sample application operation. Meshery can be use to deploy this sample application.
-- [Istio BookInfo](https://github.com/layer5io/istio-service-mesh-workshop/blob/master/lab-2/README.md#what-is-the-bookinfo-application)
- - This application is a polyglot composition of microservices are written in different languages and sample BookInfo application displays information about a book, similar to a single catalog entry of an online book store.
+- [Bookinfo]({{ site.baseurl }}/guides/sample-apps#bookinfo)
+ - The sample BookInfo application displays information about a book, similar to a single catalog entry of an online book store.
+
+### Suggested Topics
+
+- Examine [Meshery's architecture]({{ site.baseurl }}/architecture) and how adapters fit in as a component.
+- Learn more about [Meshery Adapters]({{ site.baseurl }}/architecture/adapters).
diff --git a/docs/_adapters/osm.md b/docs/_adapters/osm.md
deleted file mode 100644
index 725edce6fe5..00000000000
--- a/docs/_adapters/osm.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: page
-title: Open Service Mesh Adapter
-name: Meshery Adapter for Open Service Mesh
-mesh_name: Open Service Mesh
-version: OSM v0.3.0
-port: 10009/tcp
-project_status: alpha
-github_link: https://github.com/layer5io/meshery-osm
-image: /docs/assets/img/service-meshes/osm.svg
----
-
-# {{ page.name }}
-
-| Service Mesh | Adapter Status | Latest Supported Mesh Version |
-| :------------: | :-------------------------------------------------: | :---------------------------: |
-| {{page.title}} | [{{ page.project_status }}]({{ page.github_link }}) | {{page.version}} |
-
-### Lifecycle management
-
-The {{page.name}} can install **{{page.version}}** of the {{page.mesh_name}} service mesh. Sample applications for {{page.mesh_name}} can also be installed using Meshery. Using the {{page.name}}, you may also run the complete suite of Service Mesh Interface (SMI) conformance tests to validate OSMβs compliance with the SMI specification.
-
-### SMI Conformance Capabiliy
-
-Meshery allows you to analyze the compliance status and functional capabilities of your service mesh. This allows you to compare high-level functional differences between service meshes and verify whether your service mesh is conformant with the SMI specification.
-
-Learn more about the SMI specification and [Meshery's conformance test suite](https://meshery.layer5.io/docs/functionality/smi-conformance).
-
-### Suggested Topics
-
-- Examine [Meshery's architecture]({{ site.baseurl }}/architecture) and how adapters fit in as a component.
-- Learn more about [Meshery Adapters]({{ site.baseurl }}/architecture/adapters).
-
diff --git a/docs/_adapters/osm/osm.md b/docs/_adapters/osm/osm.md
new file mode 100644
index 00000000000..789674cede3
--- /dev/null
+++ b/docs/_adapters/osm/osm.md
@@ -0,0 +1,55 @@
+---
+layout: default
+title: Meshery Adapter for Open Service Mesh
+name: Meshery Adapter for Open Service Mesh
+mesh_name: Open Service Mesh
+version: v0.5.0
+port: 10009/tcp
+project_status: stable
+github_link: https://github.com/layer5io/meshery-osm
+image: /assets/img/service-meshes/osm.svg
+permalink: service-meshes/adapters/osm
+---
+
+{% include adapter-status.html %}
+
+## Lifecycle management
+
+The {{page.name}} can install **{{page.version}}** of the {{page.mesh_name}} service mesh. Sample applications for {{page.mesh_name}} can also be installed using Meshery. Using the {{page.name}}, you may also run the complete suite of Service Mesh Interface (SMI) conformance tests to validate OSMβs compliance with the SMI specification.
+
+### Install {{ page.mesh_name }}
+
+Choose the Meshery Adapter for {{ page.mesh_name }}.
+
+
+
+
+
+Click on (+) and choose the `{{page.version}}` of the {{page.mesh_name}} service mesh.
+
+
+
+
+
+## Using Service Mesh Standards
+
+### Complying with Service Mesh Interface (SMI)
+
+Meshery allows you to analyze the compliance status and functional capabilities of your service mesh. This allows you to compare high-level functional differences between service meshes and verify whether your service mesh is conformant with the SMI specification.
+
+Learn more about the SMI specification and [Meshery's conformance test suite]({{ site.baseurl }}/functionality/service-mesh-interface).
+### Managing Service Mesh Performance (SMP)
+
+### Prometheus and Grafana connections
+
+The {{page.name}} will connect to Open Service Mesh's Prometheus and Grafana instances running in the control plane (typically found in the `osm-system` namespace). You can also connect Meshery to Prometheus and Grafana instances not running in the service mesh's control plane.
+
+### Sample Applications
+
+The {{ page.name }} does not support Sample Applications yet.
+
+### Suggested Topics
+
+- Examine [Meshery's architecture]({{ site.baseurl }}/architecture) and how adapters fit in as a component.
+- Learn more about [Meshery Adapters]({{ site.baseurl }}/architecture/adapters).
+
diff --git a/docs/_adapters/sofamesh.md b/docs/_adapters/sofamesh.md
index 3c8326d951d..6a5947d116e 100644
--- a/docs/_adapters/sofamesh.md
+++ b/docs/_adapters/sofamesh.md
@@ -1,14 +1,11 @@
---
-layout: page
-title: SOFAmesh Adapter
+layout: default
+title: SOFAmesh
name: Meshery Adapter for SOFAmesh
+project_status:
visibility: hidden
---
-# {{ page.name }}
-
-| Service Mesh | Adapter Status | Latest Supported Mesh Version |
-| :------------: | :------------: | :------------: |
-| {{page.title}} | [{{ page.project_status }}]({{ page.github_link }}) | {{page.version}} |
+{% include adapter-status.html %}
### Lifecycle management
diff --git a/docs/_adapters/tanzu-sm.md b/docs/_adapters/tanzu-sm.md
index 65ba5874287..4825d602264 100644
--- a/docs/_adapters/tanzu-sm.md
+++ b/docs/_adapters/tanzu-sm.md
@@ -1,33 +1,38 @@
---
-layout: page
-title: Tanzu Service Mesh Adapter
-name: Meshery adapter for Tanzu Service Mesh
+layout: default
+title: Meshery Adapter for Tanzu Service Mesh
+name: Meshery Adapter for Tanzu Service Mesh
mesh_name: Tanzu Service Mesh
version: pre-GA
port: 10010/tcp
project_status: alpha
github_link: https://github.com/layer5io/meshery-tanzu-sm
-image: /docs/assets/img/service-meshes/tanzu.png
+image: /assets/img/service-meshes/tanzu.svg
+permalink: service-meshes/adapters/tanzu-sm
---
-# {{ page.name }}
-| Service Mesh | Adapter Status | Latest Supported Mesh Version |
-| :------------: | :------------: | :------------: |
-| {{page.title}} | [{{ page.project_status }}]({{ page.github_link }}) | {{page.version}} |
+{% include adapter-status.html %}
+## Features
-### Lifecycle management
-
-The {{page.name}} can install **{{page.version}}** of {{page.mesh_name}}. A number of sample applications for {{page.mesh_name}} can also be installed using Meshery.
+1. {{page.mesh_name}} Lifecycle Management
+1. Workload Lifecycle Management
+ 1. Using Service Mesh Standards
+ 1. Service Mesh Performance (SMP)
+ 1. Prometheus and Grafana connections
+ 1. Service Mesh Interface (SMI)
+1. Configuration Analysis, Patterns, and Best Practices
+ 1. Custom Service Mesh Configuration
+## Lifecycle management
-### Suggested Topics
+The {{page.name}} can install **{{page.version}}** of {{page.mesh_name}}. A number of sample applications for {{page.mesh_name}} can also be installed using Meshery.
-- Examine [Meshery's architecture]({{ site.baseurl }}/architecture) and how adapters fit in as a component.
-- Learn more about [Meshery Adapters]({{ site.baseurl }}/architecture/adapters).
+The {{ page.name }} is currently under construction ({{ page.project_status }} state), which means that the adapter is not functional and cannot be interacted with through the Meshery UI at the moment. Check back here to see updates.
-### Sample Application
+Want to contribute? Check our [progress](page.github_link).
+## Workload Management
-The Meshery adapter for {{ page.name }} includes some sample applications operations. Meshery can be used to deploy any of these sample applications.
+The Meshery Adapter for {{ page.name }} includes some sample applications operations. Meshery can be used to deploy any of these sample applications.
- [BookInfo](https://github.com/layer5io/istio-service-mesh-workshop/blob/master/lab-2/README.md#what-is-the-bookinfo-application)
- This application is a polyglot composition of microservices are written in different languages and sample BookInfo application displays information about a book, similar to a single catalog entry of an online book store.
@@ -36,3 +41,7 @@ The Meshery adapter for {{ page.name }} includes some sample applications operat
- [hipster](https://github.com/GoogleCloudPlatform/microservices-demo)
- Hipster Shop Application is a web-based, e-commerce demo application from the Google Cloud Platform.
+### Suggested Reading
+
+- Examine [Meshery's architecture]({{ site.baseurl }}/architecture) and how adapters fit in as a component.
+- Learn more about [Meshery Adapters]({{ site.baseurl }}/architecture/adapters).
diff --git a/docs/_adapters/traefik-mesh.md b/docs/_adapters/traefik-mesh.md
new file mode 100644
index 00000000000..263c517ca41
--- /dev/null
+++ b/docs/_adapters/traefik-mesh.md
@@ -0,0 +1,36 @@
+---
+layout: default
+title: Meshery Adapter for Traefik Mesh
+name: Meshery Adapter for Traefik Mesh
+mesh_name: Traefik Mesh
+version: v1.0
+port: 10006/tcp
+project_status: beta
+github_link: https://github.com/layer5io/meshery-traefik-mesh
+image: /assets/img/service-meshes/traefik-mesh.svg
+permalink: service-meshes/adapters/traefik-mesh
+---
+
+{% include adapter-status.html %}
+
+## Lifecycle management
+
+The {{page.name}} can install **{{page.version}}** of {{page.mesh_name}}. A number of sample applications can be installed using the {{page.name}}.
+
+The {{ page.name }} is currently under construction ({{ page.project_status }} state), which means that the adapter is not functional and cannot be interacted with through the Meshery UI at the moment. Check back here to see updates.
+
+Want to contribute? Check our [progress](page.github_link).
+
+### Sample Applications
+
+The {{ page.name }} includes some sample applications operations. Meshery can be used to deploy any of these sample applications.
+
+- [Bookinfo]({{ site.baseurl }}/guides/sample-apps#bookinfo)
+ - Follow this [tutorial workshop](https://github.com/layer5io/istio-service-mesh-workshop/blob/master/lab-2/README.md) to set up and deploy the BookInfo sample app on Istio using Meshery.
+- [Httpbin]({{ site.baseurl }}/guides/sample-apps#httpbin)
+ - Httpbin is a simple HTTP request and response service.
+
+## Suggested Topics
+
+- Examine [Meshery's architecture]({{ site.baseurl }}/architecture) and how adapters fit in as a component.
+- Learn more about [Meshery Adapters]({{ site.baseurl }}/architecture/adapters).
diff --git a/docs/_config.yml b/docs/_config.yml
index 1091729046a..2159f31b55f 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -16,17 +16,16 @@
title: Documentation
email: community@layer5.io
-author: Meshery
+author: Layer5
description: > # this means to ignore newlines until "baseurl:"
Documentation for Meshery, the multi-service mesh management plane for Istio,
- Linkerd, Consul, Network Service Mesh, Octarine, Envoy, Kuma, Maesh, App Mesh, Citrix Service Mesh
- and other service meshes.
+ Linkerd, Consul, Network Service Mesh, Octarine, Envoy, Kuma, Traefik Mesh, App Mesh, Citrix Service Mesh and other service meshes.
# DO NOT CHANGE THE LINE OF THIS FILE without editing .circleci/circle_urls.sh
-baseurl: "/docs" # the subpath of your site, e.g. /blog
+baseurl: "" # the subpath of your site, e.g. /blog
# This is mostly for testing
-url: "https://meshery.layer5.io/docs" # the base hostname & protocol for your site
+url: "https://docs.meshery.io" # the base hostname & protocol for your site
# Social (First three Required)
repo: "https://github.com/layer5io/meshery"
@@ -56,12 +55,10 @@ color: "#3C494F" #"#647881" # "#30638e"
# Build settings
markdown: kramdown
-plugins: ["jemoji"]
-
-# If you add tags to pages, you can link them to some external search
-# If you want to disable this, comment the URL.
+# If you add tags to pages, define this variable to link them to some external search
+# If you want to link to tags locally on the site, leave this commented out
# tag_search_endpoint: https://ask.cyberinfrastructure.org/search?q=
-tag_color: danger # danger, success, warning, primary, info, secondary
+tag_color: primary # danger, success, warning, primary, info, secondary
accentColor: red # purple, green, etc.
themeColor: red # purple, green, blue, orange, purple, grey
@@ -71,6 +68,13 @@ permalink: /:year/:title/
markdown: kramdown
exclude: [_site, CHANGELOG.md, LICENSE, README.md, vendor, Makefile]
+plugins:
+ - jekyll-redirect-from
+
+sass:
+ sass_dir: _sass
+ style: compact
+
# Collections
collections:
docs:
@@ -83,7 +87,16 @@ collections:
guides:
output: true
permalink: /:collection/:path
-
+ es:
+ output: true
+ permalink: /:collection/:path
+ releases:
+ output: true
+ permalink: project/:collection/:path
+ mesheryctlcommands:
+ output: true
+ permalink: reference/mesheryctl/:collection/:path
+ name: mesheryctlcommands
# Defaults
defaults:
@@ -92,23 +105,16 @@ defaults:
type: "docs"
values:
layout: page
- - scope:
+ -
+ scope:
path: ""
type: "pages"
values:
layout: "page"
- - scope:
+ -
+ scope:
path: "posts"
type: "posts"
values:
layout: "post"
- - scope:
- path: "guides"
- type: "guide"
- values:
- layout: guide
- - scope:
- path: "adapters"
- type: "adapters"
- values:
- layout: default
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/_config_dev.yml b/docs/_config_dev.yml
new file mode 100644
index 00000000000..76995080a95
--- /dev/null
+++ b/docs/_config_dev.yml
@@ -0,0 +1,120 @@
+# Welcome to Jekyll!
+#
+# This config file is meant for settings that affect your whole blog, values
+# which you are expected to set up once and rarely edit after that. If you find
+# yourself editing these this file very often, consider using Jekyll's data files
+# feature for the data you need to update frequently.
+#
+# For technical reasons, this file is *NOT* reloaded automatically when you use
+# 'jekyll serve'. If you change this file, please restart the server process.
+
+# Site settings
+# These are used to personalize your new site. If you look in the HTML files,
+# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
+# You can create any custom variable you would like, and they will be accessible
+# in the templates via {{ site.myvariable }}.
+
+title: Documentation
+email: community@layer5.io
+author: Layer5
+description: > # this means to ignore newlines until "baseurl:"
+ Documentation for Meshery, the multi-service mesh management plane for Istio,
+ Linkerd, Consul, Network Service Mesh, Octarine, Envoy, Kuma, Traefik Mesh, App Mesh, Citrix Service Mesh and other service meshes.
+
+# DO NOT CHANGE THE LINE OF THIS FILE without editing .circleci/circle_urls.sh
+baseurl: "" # the subpath of your site, e.g. /blog
+
+# This is mostly for testing
+url: "https://docs.meshery.io" # the base hostname & protocol for your site
+
+# Social (First three Required)
+repo: "https://github.com/layer5io/meshery"
+github_user: "layer5io"
+github_repo: "meshery"
+project: https://meshery.io
+
+# Optional
+twitter: layer5
+linkedin: layer5
+dockerhub: layer5
+
+# Should there be feedback buttons at the bottom of pages?
+feedback: false
+
+# Link to a privacy policy in footer, uncomment and define if wanted
+# privacy: https://domain.com/privacy
+
+google-analytics: UA-2969471-4
+# Image and (square) dimension for logo (don't start with /)
+# If commented, will use material hat theme
+# logo: "assets/img/logo/SRCC-square-red.png"
+logo_pixels: 34
+color: "#3C494F" #"#647881" # "#30638e"
+# color: "#8c1515" # primary color for header, buttons
+
+# Build settings
+markdown: kramdown
+
+# If you add tags to pages, define this variable to link them to some external search
+# If you want to link to tags locally on the site, leave this commented out
+# tag_search_endpoint: https://ask.cyberinfrastructure.org/search?q=
+tag_color: primary # danger, success, warning, primary, info, secondary
+
+accentColor: red # purple, green, etc.
+themeColor: red # purple, green, blue, orange, purple, grey
+fixedNav: 'true' # true or false
+
+permalink: /:year/:title/
+markdown: kramdown
+exclude: [_site, CHANGELOG.md, LICENSE, README.md, vendor, Makefile]
+
+# plugins:
+# - jekyll-redirect-from
+
+sass:
+ sass_dir: _sass
+ style: compact
+
+# Collections
+collections:
+ docs:
+ output: true
+ permalink: /:collection/:path
+ adapters:
+ output: true
+ permalink: /service-meshes/:collection/:path
+ name: adapters
+ guides:
+ output: true
+ permalink: /:collection/:path
+ es:
+ output: true
+ permalink: /:collection/:path
+ releases:
+ output: true
+ permalink: project/:collection/:path
+ mesheryctlcommands:
+ output: true
+ permalink: reference/mesheryctl/:collection/:path
+ name: mesheryctlcommands
+
+# Defaults
+defaults:
+ - scope:
+ path: "_docs"
+ type: "docs"
+ values:
+ layout: page
+ -
+ scope:
+ path: ""
+ type: "pages"
+ values:
+ layout: "page"
+ -
+ scope:
+ path: "posts"
+ type: "posts"
+ values:
+ layout: "post"
+
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/global/commands/mesheryctl.yaml b/docs/_data/mesheryctlcommands/global/commands/mesheryctl.yaml
new file mode 100644
index 00000000000..d7c62168bf1
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/global/commands/mesheryctl.yaml
@@ -0,0 +1,4 @@
+name : mesheryctl
+description : Displays help about any command.
+usage: |
+ `mesheryctl`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/global/subcommands/config.yaml b/docs/_data/mesheryctlcommands/global/subcommands/config.yaml
new file mode 100644
index 00000000000..24eaaa0eb0d
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/global/subcommands/config.yaml
@@ -0,0 +1,4 @@
+name: config
+description: configures Meshery with the kubeconfig, generated with the help of user details, to provide cluster access for public clouds(GKE/EKS).
+usage: |
+ `mesheryctl system config gke --token "PATH TO TOKEN"`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/global/subcommands/help.yaml b/docs/_data/mesheryctlcommands/global/subcommands/help.yaml
new file mode 100644
index 00000000000..5ea0a5a79d1
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/global/subcommands/help.yaml
@@ -0,0 +1,4 @@
+name: help
+description: Displays helpful information about any command.
+usage: |
+ `mesheryctl --help`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/global/subcommands/mesheryctl-config.yaml b/docs/_data/mesheryctlcommands/global/subcommands/mesheryctl-config.yaml
new file mode 100644
index 00000000000..9098359e5c4
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/global/subcommands/mesheryctl-config.yaml
@@ -0,0 +1,4 @@
+name: mesheryctl-config
+description: (optional) path to Meshery Client (mesheryctl) configuration file (~/.meshery/mesheryctl.yaml) to overrides defaults.
+usage: |
+ `mesheryctl perf --mesheryctl-config=~/.meshery/mesheryctl.yaml`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/global/subcommands/verbose.yaml b/docs/_data/mesheryctlcommands/global/subcommands/verbose.yaml
new file mode 100644
index 00000000000..75a0a315168
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/global/subcommands/verbose.yaml
@@ -0,0 +1,4 @@
+name: verbose
+description: (optional) Sets the log level to debug for verbose output.
+usage: |
+ `mesheryctl --verbose`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/global/subcommands/version.yaml b/docs/_data/mesheryctlcommands/global/subcommands/version.yaml
new file mode 100644
index 00000000000..39b2b77fc50
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/global/subcommands/version.yaml
@@ -0,0 +1,4 @@
+name: version
+description: Displays the version of the Meshery Client (mesheryctl) and the SHA of the release binary.
+usage: |
+ `mesheryctl system version`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/commands/system.yaml b/docs/_data/mesheryctlcommands/lifecycle/commands/system.yaml
new file mode 100644
index 00000000000..c29f75b8264
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/commands/system.yaml
@@ -0,0 +1,4 @@
+name : system
+description:
+usage: |
+ `mesheryctl system`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/flags/channel-set.yaml b/docs/_data/mesheryctlcommands/lifecycle/flags/channel-set.yaml
new file mode 100644
index 00000000000..8ff78c9815f
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/flags/channel-set.yaml
@@ -0,0 +1,5 @@
+flag: set
+arg: channel
+description: set release channel and version.
+usage: |
+ `mesheryctl system channel set [stable|stable-version|edge|edge-version]`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/flags/channel-switch.yaml b/docs/_data/mesheryctlcommands/lifecycle/flags/channel-switch.yaml
new file mode 100644
index 00000000000..99c1942e00e
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/flags/channel-switch.yaml
@@ -0,0 +1,5 @@
+flag: switch
+arg: channel
+description: switch release channel and version
+usage: |
+ `mesheryctl system channel switch [stable|stable-version|edge|edge-version]`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/flags/channel-view.yaml b/docs/_data/mesheryctlcommands/lifecycle/flags/channel-view.yaml
new file mode 100644
index 00000000000..2b87d23f643
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/flags/channel-view.yaml
@@ -0,0 +1,5 @@
+flag: view
+arg: channel
+description: view release channel and version
+usage: |
+ `mesheryctl system channel view`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/flags/skip-update.yaml b/docs/_data/mesheryctlcommands/lifecycle/flags/skip-update.yaml
new file mode 100644
index 00000000000..9356557ef91
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/flags/skip-update.yaml
@@ -0,0 +1,5 @@
+flag: --skip-update
+arg: start
+description: (optional) skip updates available in Meshery.
+usage: |
+ `mesheryctl system start --skip-update`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/flags/start-reset.yaml b/docs/_data/mesheryctlcommands/lifecycle/flags/start-reset.yaml
new file mode 100644
index 00000000000..6155901b1b3
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/flags/start-reset.yaml
@@ -0,0 +1,5 @@
+flag: --reset
+arg: start
+description: (optional) reset Mesheryβs configuration file to default settings.
+usage: |
+ `mesheryctl system start --reset`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/flags/stop-reset.yaml b/docs/_data/mesheryctlcommands/lifecycle/flags/stop-reset.yaml
new file mode 100644
index 00000000000..a0260da40ca
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/flags/stop-reset.yaml
@@ -0,0 +1,5 @@
+flag: --reset
+arg: stop
+description: (optional) reset Mesheryβs configuration file to default settings.
+usage: |
+ `mesheryctl system stop --reset`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/subcommands/channel.yaml b/docs/_data/mesheryctlcommands/lifecycle/subcommands/channel.yaml
new file mode 100644
index 00000000000..6645a1d4a21
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/subcommands/channel.yaml
@@ -0,0 +1,4 @@
+name: channel
+description: Switch between release channels.
+usage: |
+ `mesheryctl system channel`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/subcommands/completion.yaml b/docs/_data/mesheryctlcommands/lifecycle/subcommands/completion.yaml
new file mode 100644
index 00000000000..d72818f2538
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/subcommands/completion.yaml
@@ -0,0 +1,4 @@
+name: completion
+description: Generates completion script.
+usage: |
+ `mesheryctl system completion [bash\|zsh\|fish]`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/subcommands/config.yaml b/docs/_data/mesheryctlcommands/lifecycle/subcommands/config.yaml
new file mode 100644
index 00000000000..3647764027e
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/subcommands/config.yaml
@@ -0,0 +1,4 @@
+name: config
+description: Configures Meshery to use a Kubernetes cluster.
+usage: |
+ `mesheryctl system config gke --token ~/Downloads/auth.json`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/subcommands/help.yaml b/docs/_data/mesheryctlcommands/lifecycle/subcommands/help.yaml
new file mode 100644
index 00000000000..c7af5f89fec
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/subcommands/help.yaml
@@ -0,0 +1,4 @@
+name: help
+description: Displays help about any Meshery lifecycle management command.
+usage: |
+ `mesheryctl system --help`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/subcommands/log.yaml b/docs/_data/mesheryctlcommands/lifecycle/subcommands/log.yaml
new file mode 100644
index 00000000000..75ac5bb56dc
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/subcommands/log.yaml
@@ -0,0 +1,4 @@
+name: log
+description: Starts tailing Meshery server debug logs.
+usage: |
+ `mesheryctl system log`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/subcommands/reset.yaml b/docs/_data/mesheryctlcommands/lifecycle/subcommands/reset.yaml
new file mode 100644
index 00000000000..841ece242a7
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/subcommands/reset.yaml
@@ -0,0 +1,4 @@
+name: reset
+description: Resets meshery.yaml with copy from Meshery repo. Warning - Any local changes will be overwritten.
+usage: |
+ `mesheryctl system reset`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/subcommands/start.yaml b/docs/_data/mesheryctlcommands/lifecycle/subcommands/start.yaml
new file mode 100644
index 00000000000..14998478280
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/subcommands/start.yaml
@@ -0,0 +1,4 @@
+name: start
+description: Start all Meshery containers.
+usage: |
+ `mesheryctl system start`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/subcommands/status.yaml b/docs/_data/mesheryctlcommands/lifecycle/subcommands/status.yaml
new file mode 100644
index 00000000000..889a397fe9c
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/subcommands/status.yaml
@@ -0,0 +1,4 @@
+name: status
+description: Displays the status of Mesheryβs containers (server and adapters).
+usage: |
+ `mesheryctl system status`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/subcommands/stop.yaml b/docs/_data/mesheryctlcommands/lifecycle/subcommands/stop.yaml
new file mode 100644
index 00000000000..cf52d6b9c56
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/subcommands/stop.yaml
@@ -0,0 +1,4 @@
+name: stop
+description: Stop all Meshery containers.
+usage: |
+ `mesheryctl system stop`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/lifecycle/subcommands/update.yaml b/docs/_data/mesheryctlcommands/lifecycle/subcommands/update.yaml
new file mode 100644
index 00000000000..cea0d3296be
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/lifecycle/subcommands/update.yaml
@@ -0,0 +1,4 @@
+name: update
+description: Pull new Meshery images from Docker Hub. Does not pulls new mesheryctl client. This command may be executed while Meshery is running.
+usage: |
+ `mesheryctl system update`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/meshes/commands/mesh.yaml b/docs/_data/mesheryctlcommands/meshes/commands/mesh.yaml
new file mode 100644
index 00000000000..094de128be3
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/meshes/commands/mesh.yaml
@@ -0,0 +1,2 @@
+name: mesh
+description: Lifecycle management of service meshes
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/meshes/flags/help.yaml b/docs/_data/mesheryctlcommands/meshes/flags/help.yaml
new file mode 100644
index 00000000000..cdca1444ff9
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/meshes/flags/help.yaml
@@ -0,0 +1,4 @@
+name: --help, -h
+description: Displays help about any service mesh lifecycle management command.
+usage: |
+ `mesheryctl help`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/meshes/flags/platform.yaml b/docs/_data/mesheryctlcommands/meshes/flags/platform.yaml
new file mode 100644
index 00000000000..beecf8906c6
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/meshes/flags/platform.yaml
@@ -0,0 +1,4 @@
+name: --platform
+description: Identify platform to provision service mesh on (e.g. Docker, K8s)
+usage: |
+ `--platform docker`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/meshes/flags/profile.yaml b/docs/_data/mesheryctlcommands/meshes/flags/profile.yaml
new file mode 100644
index 00000000000..22f901532ad
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/meshes/flags/profile.yaml
@@ -0,0 +1,4 @@
+name: --profile
+description: Use specific configuration profile
+usage: |
+ `--profile mTLS`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/meshes/subcommands/init.yaml b/docs/_data/mesheryctlcommands/meshes/subcommands/init.yaml
new file mode 100644
index 00000000000..5c2bb01293b
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/meshes/subcommands/init.yaml
@@ -0,0 +1,6 @@
+name: init
+description: Provision a service mesh
+flags:
+ - name: --platform
+ - name: --profile
+ - name: --help, -h
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/performance/commands/perf.yaml b/docs/_data/mesheryctlcommands/performance/commands/perf.yaml
new file mode 100644
index 00000000000..d1b6c03c75a
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/performance/commands/perf.yaml
@@ -0,0 +1,4 @@
+name: perf
+description: Performance management - baselining and testing.
+usage: |
+ `mesheryctl perf --name "a quick stress test" --url http://192.168.1.15/productpage --qps 300 --concurrent-requests 2 --duration 30s --load-generator wrk2`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/performance/flags/-name.yaml b/docs/_data/mesheryctlcommands/performance/flags/-name.yaml
new file mode 100644
index 00000000000..9ff73a20974
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/performance/flags/-name.yaml
@@ -0,0 +1,3 @@
+name: --name (optional)
+description: A memorable name for the test. (default) a random string
+usage:
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/performance/flags/concurrent-requests.yaml b/docs/_data/mesheryctlcommands/performance/flags/concurrent-requests.yaml
new file mode 100644
index 00000000000..eac45b6c46e
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/performance/flags/concurrent-requests.yaml
@@ -0,0 +1,4 @@
+name: --concurrent-requests (optional)
+description: Number of concurrent requests (default) 1
+usage: |
+ `--concurrent-requests 10`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/performance/flags/duration.yaml b/docs/_data/mesheryctlcommands/performance/flags/duration.yaml
new file mode 100644
index 00000000000..5db5d9abe6d
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/performance/flags/duration.yaml
@@ -0,0 +1,4 @@
+name: --duration(optional)
+description: Duration of the test.
+usage: |
+ `10s, 5m, 2h`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/performance/flags/file.yaml b/docs/_data/mesheryctlcommands/performance/flags/file.yaml
new file mode 100644
index 00000000000..18d02679633
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/performance/flags/file.yaml
@@ -0,0 +1,4 @@
+name: --file (optional)
+description: URI of the service mesh performance test configuration file. (default) empty string
+usage: |
+ `--file soak-test-clusterA.yaml`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/performance/flags/help.yaml b/docs/_data/mesheryctlcommands/performance/flags/help.yaml
new file mode 100644
index 00000000000..01b69dfbdd2
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/performance/flags/help.yaml
@@ -0,0 +1,4 @@
+name: --help, -h
+description: Displays help the performance management command.
+usage: |
+ `mesheryctl perf --help`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/performance/flags/load-generator.yaml b/docs/_data/mesheryctlcommands/performance/flags/load-generator.yaml
new file mode 100644
index 00000000000..6b37e333750
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/performance/flags/load-generator.yaml
@@ -0,0 +1,4 @@
+name: --load-generator (optional)
+description: Choice of load generator - fortio (OR) wrk2 (default) fortio
+usage: |
+ `--load-generator=fortio`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/performance/flags/mesh.yaml b/docs/_data/mesheryctlcommands/performance/flags/mesh.yaml
new file mode 100644
index 00000000000..bec7c2e7195
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/performance/flags/mesh.yaml
@@ -0,0 +1,3 @@
+name: --mesh (optional)
+description: Name of the service mesh. (default) empty string
+usage:
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/performance/flags/qps.yaml b/docs/_data/mesheryctlcommands/performance/flags/qps.yaml
new file mode 100644
index 00000000000..664c8414808
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/performance/flags/qps.yaml
@@ -0,0 +1,4 @@
+name: --qps (optional)
+description: Queries per second (default) 0 (0 - means to use the CPU unbounded to generate as many requests as possible.
+usage: |
+ `--qps 30`
\ No newline at end of file
diff --git a/docs/_data/mesheryctlcommands/performance/flags/url.yaml b/docs/_data/mesheryctlcommands/performance/flags/url.yaml
new file mode 100644
index 00000000000..319857c0131
--- /dev/null
+++ b/docs/_data/mesheryctlcommands/performance/flags/url.yaml
@@ -0,0 +1,4 @@
+name: --url (required)
+description: URL of the endpoint send load to during testing.
+usage: |
+ `http://my-service/api/v1/test`
\ No newline at end of file
diff --git a/docs/_data/navigation.yml b/docs/_data/navigation.yml
index 6a0f8899ced..5fc8c3f0a84 100644
--- a/docs/_data/navigation.yml
+++ b/docs/_data/navigation.yml
@@ -1,5 +1,5 @@
- title: Quick Start
- url: "installation/#getting-started"
+ url: "installation/quick-start"
- title: All Platforms
url: "installation/platforms"
- title: Project
@@ -8,3 +8,5 @@
external_url: http://slack.layer5.io
- title: GitHub
external_url: https://github.com/layer5io/meshery
+- title: "π²π½ EspaΓ±ol"
+ url: "es"
\ No newline at end of file
diff --git a/docs/_data/toc.yml b/docs/_data/toc.yml
index 9eea04ff7a6..9f150525b62 100644
--- a/docs/_data/toc.yml
+++ b/docs/_data/toc.yml
@@ -1,13 +1,31 @@
- title: Documentation
- url: ''
+ url: ""
links:
- title: Overview
url: overview
+ - title: Project
+ url: project
+ children:
+ - title: Contributing
+ url: project/contributing
+ - title: Releases
+ url: project/releases
+ - title: Build & Release (CI)
+ url: project/build-and-release
+ - title: Vulnerabilities
+ url: project/security-vulnerabilities
+ - title: FAQ
+ url: project/faq
- title: Quick Start
- url: installation
+ url: installation/quick-start
+ children:
+ - title: Installing mesheryctl
+ url: installation/mesheryctl
- title: Supported Platforms
url: installation/platforms
children:
+ - title: AKS
+ url: installation/platforms/aks
- title: Docker
url: installation/platforms/docker
- title: EKS
@@ -21,67 +39,74 @@
- title: Minikube
url: installation/platforms/minikube
- title: Windows
- url: installation/#windows
- - title: WSL2
- url: installation/platforms/wsl2
+ url: installation/platforms/windows
+- title: Concepts
+ url: concepts
+ links:
- title: Architecture
- url: architecture
- children:
- - title: Adapters
- url: architecture/adapters
- - title: Functionality
- url: functionality
- children:
- - title: Lifecycle Management
- url: functionality/lifecycle-management
- - title: Performance Management
- url: functionality/performance-management
- - title: SMI Conformance
- url: functionality/smi-conformance
- - title: Service Meshes
- url: service-meshes
- children:
- - title: App Mesh
- url: service-meshes/adapters/app-mesh
- - title: Citrix Service Mesh
- url: service-meshes/adapters/cpx
- - title: Consul
- url: service-meshes/adapters/consul
- - title: Istio
- url: service-meshes/adapters/istio/istio
- - title: Kuma
- url: service-meshes/adapters/kuma
- - title: Linkerd
- url: service-meshes/adapters/linkerd
- - title: Maesh
- url: service-meshes/adapters/maesh
- - title: Network Service Mesh
- url: service-meshes/adapters/nsm/nsm
- - title: Octarine
- url: service-meshes/adapters/octarine/octarine
- - title: Open Service Mesh
- url: service-meshes/adapters/osm
- - title: Tanzu
- url: service-meshes/adapters/tanzu-sm
- - title: Extensibility
- url: extensibility
- - title: Guides
- url: guides
- children:
- - title: Multiple Adapters
- url: guides/multiple-adapters
- - title: Using mesheryctl
- url: guides/mesheryctl
- - title: Upgrading Meshery
- url: guides/upgrade
- - title: Integrating Prometheus and Grafana
- url: guides/meshery-metrics
- - title: Project
- url: project
- children:
- - title: Contributing
- url: project/contributing
- - title: Releases
- url: project/releases
- - title: Vulnerabilities
- url: project/security-vulnerabilities
+ url: concepts/architecture
+ - title: Adapters
+ url: concepts/architecture/adapters
+- title: Functionality
+ url: functionality
+ links:
+ - title: Lifecycle Management
+ url: functionality/lifecycle-management
+ - title: Performance Management
+ url: functionality/performance-management
+ - title: Service Mesh Interface (SMI)
+ url: functionality/service-mesh-interface
+- title: Service Meshes
+ url: service-meshes
+ links:
+ - title: App Mesh
+ url: service-meshes/adapters/app-mesh
+ - title: Citrix Service Mesh
+ url: service-meshes/adapters/cpx
+ - title: Consul
+ url: service-meshes/adapters/consul
+ - title: Istio
+ url: service-meshes/adapters/istio
+ - title: Kuma
+ url: service-meshes/adapters/kuma
+ - title: Linkerd
+ url: service-meshes/adapters/linkerd
+ - title: Network Service Mesh
+ url: service-meshes/adapters/nsm
+ - title: NGINX Service Mesh
+ url: service-meshes/adapters/nginx-sm
+ - title: Octarine
+ url: service-meshes/adapters/octarine
+ - title: Open Service Mesh
+ url: service-meshes/adapters/osm
+ - title: Tanzu
+ url: service-meshes/adapters/tanzu-sm
+ - title: Traefik Mesh
+ url: service-meshes/adapters/traefik-mesh
+- title: Guides
+ url: guides
+ links:
+ - title: Deploying Sample Applications
+ url: guides/sample-apps
+ - title: Integrating Prometheus and Grafana
+ url: guides/meshery-metrics
+ - title: Upgrading Meshery
+ url: guides/upgrade
+ - title: Using mesheryctl
+ url: guides/mesheryctl
+ - title: Using Multiple Meshery Adapters
+ url: guides/multiple-adapters
+- title: Extensibility
+ url: extensibility
+ links:
+ - title: "Service Mesh Adapters"
+ url: extensibility/adapters
+ - title: "Load Generators"
+ url: extensibility/load-generators
+ - title: "Providers"
+ url: extensibility/providers
+- title: Reference
+ url: reference
+ links:
+ - title: mesheryctl Command Reference
+ url: reference/mesheryctl
diff --git a/docs/_includes/adapter-labs.html b/docs/_includes/adapter-labs.html
new file mode 100644
index 00000000000..e700b2ffd81
--- /dev/null
+++ b/docs/_includes/adapter-labs.html
@@ -0,0 +1,16 @@
+### Try out the {{page.title}}
+
+Try Meshery using a real environment right in your browser with an interactive lab. The interactive labs help you get started and learn how to run Meshery and {{page.mesh_name}} in production.
+
+
+
+
\ No newline at end of file
diff --git a/docs/_includes/adapter-status.html b/docs/_includes/adapter-status.html
new file mode 100644
index 00000000000..dfd9f800bc7
--- /dev/null
+++ b/docs/_includes/adapter-status.html
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/docs/_includes/breadcrumbs.html b/docs/_includes/breadcrumbs.html
index c0f43131d13..4a14eaee0cf 100644
--- a/docs/_includes/breadcrumbs.html
+++ b/docs/_includes/breadcrumbs.html
@@ -1,11 +1,11 @@