From ad038cab51d91476161f468d3e9175eea24674a9 Mon Sep 17 00:00:00 2001 From: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> Date: Mon, 12 Aug 2024 16:24:53 +0530 Subject: [PATCH 01/22] feat(docs): Adding frontmatter to layer5 docs pages Signed-off-by: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> --- assets/scss/_pageinfo.scss | 2 +- assets/scss/_styles_project.scss | 43 ++++++ .../en/cloud/tutorials/gitops-snapshots.md | 1 + layouts/shortcodes/front-matter.html | 46 ++++++ static/data/csv/features.yml | 146 ++++++++++++++++++ 5 files changed, 237 insertions(+), 1 deletion(-) create mode 100644 layouts/shortcodes/front-matter.html create mode 100644 static/data/csv/features.yml diff --git a/assets/scss/_pageinfo.scss b/assets/scss/_pageinfo.scss index 5d439ded..ca632375 100644 --- a/assets/scss/_pageinfo.scss +++ b/assets/scss/_pageinfo.scss @@ -22,4 +22,4 @@ margin-top: map-get($spacers, 5) !important; padding-top: map-get($spacers, 3) !important; } -} +} \ No newline at end of file diff --git a/assets/scss/_styles_project.scss b/assets/scss/_styles_project.scss index a3727ec8..dbe21fb9 100644 --- a/assets/scss/_styles_project.scss +++ b/assets/scss/_styles_project.scss @@ -381,6 +381,49 @@ a:not([href]):not([class]):hover { border-color: #00b39f; } +// front-matter +.matterinfo { + font-weight: $font-weight-medium; + background: $black; + font-family: "Open Sans"; + border-style: solid; + margin: 2rem auto; + padding: 1rem; + border-color: #00b39f; + border-radius: 10px; +} + +.heading { + font-size: 1.2rem; + color: #00b39f; +} + +.matterheader { + font-size: 1.2rem; + color: #00b39f; +} + +.matterinfo .plan-support { + display: flex; + align-items: center; +} + +.matterinfo .plan-support .support-icon { + width: 20px; + height: 20px; + margin-right: 10px; +} + +.plan-icon { + display: inline-block; +} + +.highlight{ + color: #00b39f; + font-weight: bold; + margin-left:10px +} + // Style alert boxes. .alert { diff --git a/content/en/cloud/tutorials/gitops-snapshots.md b/content/en/cloud/tutorials/gitops-snapshots.md index ec01c8e4..dbb26118 100644 --- a/content/en/cloud/tutorials/gitops-snapshots.md +++ b/content/en/cloud/tutorials/gitops-snapshots.md @@ -6,6 +6,7 @@ category: GitOps weight: 4 --- +{{< front-matter feature_name="MeshMap Snapshots" >}} MeshMap Snapshots offer visual insights in every pull request. Verify your workload designs and Kubernetes cluster configurations prior to accepting and merging pull requests. diff --git a/layouts/shortcodes/front-matter.html b/layouts/shortcodes/front-matter.html new file mode 100644 index 00000000..a548d62e --- /dev/null +++ b/layouts/shortcodes/front-matter.html @@ -0,0 +1,46 @@ +{{ $feature_name := .Get "feature_name" }} +{{ $featuresYaml := readFile "static/data/csv/features.yml" }} +{{ $featuresData := unmarshal $featuresYaml }} +{{ $feature := index (where $featuresData.features "name" $feature_name) 0 }} +{{ $color := .Get "color" | default "primary" }} + +
+

Who can use this feature

+ + {{ if $feature }} + {{ $supported_plans := slice }} + {{ if $feature.personal }} + {{ $supported_plans = $supported_plans | append "Personal" }} + {{ end }} + {{ if $feature.team }} + {{ $supported_plans = $supported_plans | append "Team" }} + {{ end }} + {{ if $feature.enterprise }} + {{ $supported_plans = $supported_plans | append "Enterprise" }} + {{ end }} + + {{ $plan_count := len $supported_plans }} + + {{ if eq $plan_count 3 }} +
+ Icon + + Supported for all +
+ {{ else if eq $plan_count 1 }} +
+ Icon + + Supported on {{ index $supported_plans 0 }} Plan +
+ {{ else if gt $plan_count 1 }} +
+ Icon + + Supported on {{ delimit $supported_plans " and " }} Plans +
+ {{ end }} + {{ else }} +

Feature information not found

+ {{ end }} +
diff --git a/static/data/csv/features.yml b/static/data/csv/features.yml new file mode 100644 index 00000000..0541ade4 --- /dev/null +++ b/static/data/csv/features.yml @@ -0,0 +1,146 @@ +--- +features: + - name: Cloud Native Design Patterns + personal: true + team: true + enterprise: true + - name: Multiple Kubernetes Clusters + personal: true + team: true + enterprise: true + - name: Cluster Discovery + personal: true + team: true + enterprise: true + - name: Microservices Performance + personal: true + team: true + enterprise: true + - name: Load Generation + personal: true + team: true + enterprise: true + - name: Open Policy Agent Integration + personal: true + team: true + enterprise: true + - name: Continuous Service Monitoring + personal: true + team: true + enterprise: true + - name: Audit Trail + personal: true + team: true + enterprise: true + - name: Alert Generation + personal: true + team: true + enterprise: true + - name: mesheryctl Commands + personal: true + team: true + enterprise: true + - name: MeshMark + personal: true + team: true + enterprise: true + - name: Notification Center + personal: true + team: true + enterprise: true + - name: MeshMap Snapshots + personal: true + team: true + enterprise: true + - name: Community Support + personal: true + team: true + enterprise: true + - name: Dry-run + personal: false + team: true + enterprise: true + - name: Design Reviews + personal: false + team: true + enterprise: true + - name: WASM Envoy Filter Management + personal: false + team: true + enterprise: true + - name: Visual Design + personal: false + team: true + enterprise: true + - name: Design Versioning + personal: false + team: true + enterprise: true + - name: Distributed Performance Analysis + personal: false + team: true + enterprise: true + - name: Performance Profiles + personal: false + team: true + enterprise: true + - name: Test User Flow Performance + personal: false + team: true + enterprise: true + - name: Built-in Roles + personal: false + team: true + enterprise: true + - name: Comparative Testing + personal: false + team: true + enterprise: true + - name: Calendaring + personal: false + team: true + enterprise: true + - name: Standard Support + personal: false + team: true + enterprise: true + - name: Add-ons + personal: false + team: true + enterprise: true + - name: User-defined Roles + personal: false + team: false + enterprise: true + - name: Self-hosted Deployment + personal: false + team: false + enterprise: true + - name: Traffic Replay + personal: false + team: false + enterprise: true + - name: Certificate Support in Performance Profiles + personal: false + team: false + enterprise: true + - name: Phone Support + personal: false + team: false + enterprise: true + - name: Organization and Team Management + personal: false + team: false + enterprise: true + - name: Team Chat + personal: false + team: false + enterprise: true + - name: Serverless Pricing + personal: false + team: false + enterprise: true + - name: Premium and Premium Plus Support + personal: false + team: false + enterprise: true \ No newline at end of file From 150de2b6a6f9b52bc290f48836a6a49ff33fa73c Mon Sep 17 00:00:00 2001 From: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> Date: Mon, 19 Aug 2024 15:54:47 +0530 Subject: [PATCH 02/22] feat(docs):Adding frontmatter to suitable pages in docs Signed-off-by: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> --- .../en/cloud/identity/users/notification-preferences.md | 2 ++ .../en/cloud/self-hosted/planning/identity-services.md | 3 +++ content/en/meshmap/designer/comments/_index.md | 2 ++ content/en/meshmap/getting-started/starting-helm.md | 2 ++ static/data/csv/features.yml | 8 ++++++++ 5 files changed, 17 insertions(+) diff --git a/content/en/cloud/identity/users/notification-preferences.md b/content/en/cloud/identity/users/notification-preferences.md index d7594d3c..6ba18ff8 100644 --- a/content/en/cloud/identity/users/notification-preferences.md +++ b/content/en/cloud/identity/users/notification-preferences.md @@ -6,6 +6,8 @@ categories: [Identity] tags: [users] --- +{{< front-matter feature_name="Notification Center" >}} + Layer5 Cloud offers a range of user-configurable preferences that allows you to control the types of email notifications you receive. How to set your notifications preferences diff --git a/content/en/cloud/self-hosted/planning/identity-services.md b/content/en/cloud/self-hosted/planning/identity-services.md index 0227121c..4f15cc84 100644 --- a/content/en/cloud/self-hosted/planning/identity-services.md +++ b/content/en/cloud/self-hosted/planning/identity-services.md @@ -5,6 +5,9 @@ categories: [Self-Hosted] tags: [identity] weight: 3 --- + +{{< front-matter feature_name="Authentication SAML" >}} + Layer5 Cloud offers a built-in identity provider (IDP), supporting OIDC for normal users and token-based authentication (access, ID, refresh tokens) for API clients with JSON Web Signature (JWS) for token signing. Layer5 Cloud users can sign-up via email and password in addition to social identity providers (Google and GitHub) via OAuth2. See [Getting Started with a Layer5 Account](../../getting-started/getting-started-with-layer5-account.md) for details. Layer5 Cloud identity services include features such as account recovery, email verification, automatica social sign-in account linking, and multi-factor authentication (coming soon). diff --git a/content/en/meshmap/designer/comments/_index.md b/content/en/meshmap/designer/comments/_index.md index c9eab5c2..16f8fe73 100644 --- a/content/en/meshmap/designer/comments/_index.md +++ b/content/en/meshmap/designer/comments/_index.md @@ -7,6 +7,8 @@ categories: [Designer] tags: [designs, collaboration, review] --- +{{< front-matter feature_name="Design Reviews" >}} + ## Overview MeshMap's Designer offers enables you to place comments "inline" with your infrastructure as code. Use comments to offer feedback to team members, take detailed design notes, capture helpful tips for your team members, and include justification as to your infrastructure and application configuration decisions. Pay it forward to your future self by leaving comments for reference later. diff --git a/content/en/meshmap/getting-started/starting-helm.md b/content/en/meshmap/getting-started/starting-helm.md index b2bc5f99..95f48810 100644 --- a/content/en/meshmap/getting-started/starting-helm.md +++ b/content/en/meshmap/getting-started/starting-helm.md @@ -7,6 +7,8 @@ categories: [Designer] tags: [designs] --- +{{< front-matter feature_name="Application Import" >}} + Helm helps you manage Kubernetes applications. Helm Charts help you define, install, and upgrade even the most complex Kubernetes application. Starting a MeshMap design from a Helm chart is another way to get started with an entire application stack. diff --git a/static/data/csv/features.yml b/static/data/csv/features.yml index 0541ade4..99090bf1 100644 --- a/static/data/csv/features.yml +++ b/static/data/csv/features.yml @@ -52,6 +52,14 @@ features: personal: true team: true enterprise: true + - name: Application Import + personal: true + team: true + enterprise: true + - name: Authentication SAML + personal: false + team: false + enterprise: true - name: Community Support personal: true team: true From d0ffdbed4d2022278584d7594eeef34b50fdb3c9 Mon Sep 17 00:00:00 2001 From: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> Date: Wed, 28 Aug 2024 16:32:55 +0530 Subject: [PATCH 03/22] feat(docs):Create pricing-list.yml Signed-off-by: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> --- .github/workflows/generate-pricing-list.yml | 42 +++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/workflows/generate-pricing-list.yml diff --git a/.github/workflows/generate-pricing-list.yml b/.github/workflows/generate-pricing-list.yml new file mode 100644 index 00000000..ab9dc301 --- /dev/null +++ b/.github/workflows/generate-pricing-list.yml @@ -0,0 +1,42 @@ +name: Pricing List +on: + workflow_dispatch: + inputs: + spreadsheet_uri: + description: Link of the spreadsheet containing subscription details. + type: string + default: https://docs.google.com/spreadsheets/d/1Ck_5q7U_vLSIDTtplugG3pCVC5zugXgTHtO7T7-yL8g/pub?output=csv + schedule: + - cron: "0 0 * * *" +jobs: + fetch-pricing-list: + name: Fetch Pricing List + if: github.repository == 'layer5io/docs' + runs-on: ubuntu-22.04 + steps: + - name: Check out code + uses: actions/checkout@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + fetch-depth: 1 + - name: Set spreadsheet_uri as environment variable + run: echo "spreadsheet_uri=https://docs.google.com/spreadsheets/d/1Ck_5q7U_vLSIDTtplugG3pCVC5zugXgTHtO7T7-yL8g/pub?output=csv" >> $GITHUB_ENV + if: inputs.spreadsheet_uri != '' + echo "spreadsheet_uri=${{ inputs.spreadsheet_uri }}" >> $GITHUB_ENV + + - name: Dump pricing list from the spreadsheet + run: | + curl -L $spreadsheet_uri -o "./pricing-list.csv"; + - name: Create data folder + run: | + [ ! -d "./static/data/csv" ] && mkdir -p "./static/data/csv"; + mv pricing-list.csv static/data/csv/pricing-list.csv; + - name: Commit changes + uses: stefanzweifel/git-auto-commit-action@v5 + with: + commit_message: Updated pricing-list data. + branch: master + commit_options: "--signoff" + commit_user_name: l5io + commit_user_email: ci@layer5.io + commit_author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>author of the commit that triggered the run From 3c6c7cbc05a31433dfed88373c9ea03c66c03745 Mon Sep 17 00:00:00 2001 From: SAHU-01 Date: Sat, 9 Nov 2024 00:36:05 +0000 Subject: [PATCH 04/22] Updated feature data from source repository Signed-off-by: l5io --- data/features.json | 1018 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 959 insertions(+), 59 deletions(-) diff --git a/data/features.json b/data/features.json index 4cb1ad0e..ec565c70 100644 --- a/data/features.json +++ b/data/features.json @@ -8,7 +8,33 @@ "Function": "View Profile", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Cloud" + "Tech": "Cloud", + "Theme (also: Keychain Name)": "Account Management" + } + }, + { + "documentation": "https://docs.layer5.io/cloud/catalog/", + "entire_row": { + "Category": "Catalog", + "Documented?": "https://docs.layer5.io/cloud/catalog/", + "Feature": "Export a copy of a design to your local system.", + "Function": "", + "Pricing page?": "", + "Subscription Tier": "Free", + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" + } + }, + { + "documentation": "https://docs.layer5.io/cloud/catalog/", + "entire_row": { + "Category": "Catalog", + "Documented?": "https://docs.layer5.io/cloud/catalog/", + "Feature": "Export a copy of a design to your local system.", + "Function": "", + "Pricing page?": "", + "Subscription Tier": "Free", + "Tech": "Server" } }, { @@ -20,7 +46,8 @@ "Function": "Share Design", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -32,7 +59,8 @@ "Function": "Clone Design", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -44,7 +72,8 @@ "Function": "Create new design", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -56,7 +85,8 @@ "Function": "Import Design", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -68,7 +98,8 @@ "Function": "Import Design", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -80,7 +111,8 @@ "Function": "Import Design", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -92,7 +124,8 @@ "Function": "Import Design", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -104,7 +137,8 @@ "Function": "Import Design", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -116,7 +150,33 @@ "Function": "Standard Import Design", "Pricing page?": "X", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" + } + }, + { + "documentation": "https://docs.layer5.io/cloud/getting-started/github-integration/#connect-github-and-import-designs", + "entire_row": { + "Category": "Designs", + "Documented?": "https://docs.layer5.io/cloud/getting-started/github-integration/#connect-github-and-import-designs", + "Feature": "Import a design from GitHub", + "Function": "Import Design", + "Pricing page?": "", + "Subscription Tier": "Enterprise", + "Tech": "Cloud", + "Theme (also: Keychain Name)": "Catalog Management" + } + }, + { + "documentation": "https://docs.layer5.io/cloud/getting-started/github-integration/#connect-github-and-import-designs", + "entire_row": { + "Category": "Designs", + "Documented?": "https://docs.layer5.io/cloud/getting-started/github-integration/#connect-github-and-import-designs", + "Feature": "Import a design from GitHub", + "Function": "Import Design", + "Pricing page?": "", + "Subscription Tier": "Enterprise", + "Tech": "Cloud" } }, { @@ -128,7 +188,8 @@ "Function": "Premium Design Import Features", "Pricing page?": "X", "Subscription Tier": "Enterprise", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -140,7 +201,8 @@ "Function": "Export Design", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -152,7 +214,8 @@ "Function": "Export Design", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -164,7 +227,8 @@ "Function": "Standard Export Design", "Pricing page?": "X", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -176,7 +240,33 @@ "Function": "Premium Export Design Features", "Pricing page?": "X", "Subscription Tier": "Enterprise", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Designs", + "Documented?": "", + "Feature": "Import and export your designs using your local filesystem or remote URL.", + "Function": "Cloud Native Design Patterns", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "", + "Theme (also: Keychain Name)": "Catalog Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Designs", + "Documented?": "", + "Feature": "Import and export your designs using your local filesystem or remote URL.", + "Function": "Cloud Native Design Patterns", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "" } }, { @@ -188,7 +278,8 @@ "Function": "Publish Design", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -200,7 +291,8 @@ "Function": "Validate Design", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -212,7 +304,8 @@ "Function": "Deploy Design", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -224,7 +317,8 @@ "Function": "Undeploy Design", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -236,7 +330,8 @@ "Function": "Import Filter", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -248,7 +343,8 @@ "Function": "Publish WASM Filter", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -260,7 +356,8 @@ "Function": "Unpublish WASM Filter", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -272,7 +369,8 @@ "Function": "Download a WASM filter", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -284,7 +382,8 @@ "Function": "Details of WASM Filter", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -296,7 +395,8 @@ "Function": "Edit WASM filter", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -308,7 +408,8 @@ "Function": "Clone WASM Filter", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -320,7 +421,8 @@ "Function": "Delete WASM Filter", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" } }, { @@ -332,22 +434,212 @@ "Function": "WASM Filter and filter", "Pricing page?": "X", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Catalog Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Team Chat", + "Documented?": "", + "Feature": "Message in real-time, unattached to a specific design. Control who can pariticpate in the discussion.", + "Function": "Message in real-time", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "Kanvas", + "Theme (also: Keychain Name)": "Collaboration" } }, { "pricing_page": "true", - "documentation": "https://docs.layer5.io/meshmap/designer/comments/", + "documentation": "https://docs.layer5.io/kanvas/designer/comments/", "entire_row": { "Category": "Design Reviews", - "Documented?": "https://docs.layer5.io/meshmap/designer/comments/", + "Documented?": "https://docs.layer5.io/kanvas/designer/comments/", "Feature": "Discuss any design by leaving review comments or notes on a specific design. Control who has access, notify discussion participants with updates, and link from anywhere.", "Function": "Discuss any design by leaving review comments", "Pricing page?": "X", "Subscription Tier": "Team", + "Tech": "Kanvas", + "Theme (also: Keychain Name)": "Collaboration" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Organization and Team Management", + "Documented?": "", + "Feature": "Manage access to designs on a team-by-team, or individual user, basis.", + "Function": "Manage access to designs", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "Kanvas", + "Theme (also: Keychain Name)": "Collaboration" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Built-in Roles", + "Documented?": "", + "Feature": "Static - out of the box", + "Function": "Built-in Roles", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "Cloud", + "Theme (also: Keychain Name)": "Identity \u0026 Access Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "User-defined Roles", + "Documented?": "", + "Feature": "Customizable roles for specific permission assignments", + "Function": "User-defined Roles", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "Cloud", + "Theme (also: Keychain Name)": "Identity \u0026 Access Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Authentication: LDAP", + "Documented?": "", + "Feature": "Access Meshery Server using your existing accounts and centrally manage repository access.", + "Function": "Authentication: LDAP", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "Cloud", + "Theme (also: Keychain Name)": "Identity \u0026 Access Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Authentication: SAML", + "Documented?": "", + "Feature": "Use an identity provider to manage the identities of GitHub users and applications.", + "Function": "Authentication: SAML", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "Cloud", + "Theme (also: Keychain Name)": "Identity \u0026 Access Management" + } + }, + { + "documentation": "https://docs.layer5.io/cloud/identity/users/user-management/#add-user-remove-user", + "entire_row": { + "Category": "Users", + "Documented?": "https://docs.layer5.io/cloud/identity/users/user-management/#add-user-remove-user", + "Feature": "Delete a user account", + "Function": "Delete User", + "Pricing page?": "", + "Subscription Tier": "Team", + "Tech": "", + "Theme (also: Keychain Name)": "Identity \u0026 Access Management" + } + }, + { + "documentation": "https://docs.layer5.io/cloud/identity/users/user-management/#create-user", + "entire_row": { + "Category": "Users", + "Documented?": "https://docs.layer5.io/cloud/identity/users/user-management/#create-user", + "Feature": "Create a new user", + "Function": "Create User", + "Pricing page?": "", + "Subscription Tier": "", + "Tech": "", + "Theme (also: Keychain Name)": "Identity \u0026 Access Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Organization and Team Management", + "Documented?": "", + "Feature": "Manage access to designs on a team-by-team, or individual user, basis.", + "Function": "Manage access to designs", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", "Tech": "Kanvas" } }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Built-in Roles", + "Documented?": "", + "Feature": "Static - out of the box", + "Function": "Built-in Roles", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "Cloud" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "User-defined Roles", + "Documented?": "", + "Feature": "", + "Function": "Customizable roles for specific permission assignments", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "Cloud" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Authentication: LDAP", + "Documented?": "", + "Feature": "", + "Function": "Access Meshery Server using your existing accounts and centrally manage repository access.", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "Cloud" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Authentication: SAML", + "Documented?": "", + "Feature": "", + "Function": "Use an identity provider to manage the identities of GitHub users and applications.", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "Cloud" + } + }, + { + "documentation": "https://docs.layer5.io/cloud/identity/users/user-management/#add-user-remove-user", + "entire_row": { + "Category": "Users", + "Documented?": "https://docs.layer5.io/cloud/identity/users/user-management/#add-user-remove-user", + "Feature": "Delete a user account", + "Function": "Delete User", + "Pricing page?": "", + "Subscription Tier": "Team", + "Tech": "" + } + }, + { + "documentation": "https://docs.layer5.io/cloud/identity/users/user-management/#create-user", + "entire_row": { + "Category": "Users", + "Documented?": "https://docs.layer5.io/cloud/identity/users/user-management/#create-user", + "Feature": "Create a new user", + "Function": "Create User", + "Pricing page?": "", + "Subscription Tier": "", + "Tech": "" + } + }, { "documentation": "https://docs.layer5.io/cloud/identity/teams/", "entire_row": { @@ -357,7 +649,8 @@ "Function": "Add User to Team", "Pricing page?": "", "Subscription Tier": "Team", - "Tech": "Cloud" + "Tech": "Cloud", + "Theme (also: Keychain Name)": "Identity \u0026 Access Management" } }, { @@ -369,45 +662,85 @@ "Function": "Create Organization", "Pricing page?": "", "Subscription Tier": "Enterprise", - "Tech": "Cloud" + "Tech": "Cloud", + "Theme (also: Keychain Name)": "Identity \u0026 Access Management" } }, { "pricing_page": "true", "entire_row": { - "Category": "Sidecar", + "Category": "Dry-run", "Documented?": "", - "Feature": "", - "Function": "Parse logs", + "Feature": "Test and verify configuration changes in a separate environment.", + "Function": "Dry-run", + "Pricing page?": "X", + "Subscription Tier": "Team", + "Tech": "Server", + "Theme (also: Keychain Name)": "Lifecycle Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Multiple Kubernetes Clusters", + "Documented?": "", + "Feature": "Ongoing synchronization of Kubernetes configuration, workloads and service mesh changes across any number of Kubernetes clusters.", + "Function": "Multiple Kubernetes Clusters", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Server", + "Theme (also: Keychain Name)": "Lifecycle Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "mesheryctl", + "Documented?": "", + "Feature": "Seamlessly manage your configurations, deployments, and interactions through our intuitive and powerful command-line interface", + "Function": "all mesheryctl commands", "Pricing page?": "X", "Subscription Tier": "Free", - "Tech": "Adapter" + "Tech": "Golang", + "Theme (also: Keychain Name)": "Meshery System" } }, { "pricing_page": "true", "entire_row": { - "Category": "Sidecar", + "Category": "Cluster discovery", "Documented?": "", "Feature": "", - "Function": "Exec Shell", + "Function": "Day 2 support for ongoing synchronization of Kubernetes configuration, workloads and service mesh changes.", "Pricing page?": "X", "Subscription Tier": "Free", - "Tech": "Adapter" + "Tech": "MeshSync" } }, { "pricing_page": "true", "entire_row": { - "Category": "Filter", + "Category": "Multiple Kubernetes Clusters", "Documented?": "", "Feature": "", - "Function": "Dynamic load / unload", + "Function": "Ongoing synchronization of Kubernetes configuration, workloads and service mesh changes across any number of Kubernetes clusters.", "Pricing page?": "X", "Subscription Tier": "Free", "Tech": "Server" } }, + { + "pricing_page": "true", + "entire_row": { + "Category": "mesheryctl", + "Documented?": "", + "Feature": "Seamlessly manage your configurations, deployments, and interactions through our intuitive and powerful command-line interface", + "Function": "all mesheryctl commands", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Golang" + } + }, { "documentation": "https://docs.layer5.io/cloud/catalog/metrics/", "entire_row": { @@ -417,7 +750,33 @@ "Function": "View Metrics", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "Meshery System" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Service Performance", + "Documented?": "", + "Feature": "Continuous visibility across all of your clusters and workloads.", + "Function": "Service Performance", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Kanvas", + "Theme (also: Keychain Name)": "Kanvas" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Service Performance", + "Documented?": "", + "Feature": "", + "Function": "Continuous visibility across all of your clusters and workloads.", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Kanvas" } }, { @@ -429,7 +788,8 @@ "Function": "Use heirarchical relationships", "Pricing page?": "", "Subscription Tier": "Free", - "Tech": "Kanvas" + "Tech": "Kanvas", + "Theme (also: Keychain Name)": "Kanvas" } }, { @@ -441,7 +801,8 @@ "Function": "Undo or Redo", "Pricing page?": "X", "Subscription Tier": "Team", - "Tech": "Kanvas" + "Tech": "Kanvas", + "Theme (also: Keychain Name)": "Kanvas" } }, { @@ -454,7 +815,8 @@ "Function": "Whiteboarding", "Pricing page?": "X", "Subscription Tier": "Free", - "Tech": "Kanvas" + "Tech": "Kanvas", + "Theme (also: Keychain Name)": "Kanvas" } }, { @@ -466,7 +828,8 @@ "Function": "Drag-n-drop cloud native infrastructure designer to configure, model, and deploy your workloads", "Pricing page?": "X", "Subscription Tier": "Free", - "Tech": "Kanvas" + "Tech": "Kanvas", + "Theme (also: Keychain Name)": "Kanvas" } }, { @@ -478,7 +841,8 @@ "Function": "View Views", "Pricing page?": "", "Subscription Tier": "Team", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "MeshMap" } }, { @@ -490,7 +854,8 @@ "Function": "Delete View", "Pricing page?": "", "Subscription Tier": "Team", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "MeshMap" } }, { @@ -502,7 +867,8 @@ "Function": "Export views", "Pricing page?": "", "Subscription Tier": "Team", - "Tech": "Server" + "Tech": "Server", + "Theme (also: Keychain Name)": "MeshMap" } }, { @@ -514,11 +880,187 @@ "Function": "Share Views", "Pricing page?": "", "Subscription Tier": "Team", - "Tech": "Kanvas" + "Tech": "Kanvas", + "Theme (also: Keychain Name)": "Kanvas" } }, { - "documentation": "https://docs.layer5.io/cloud/security/sessions/#what-sessions-are", + "pricing_page": "true", + "entire_row": { + "Category": "Load Generation", + "Documented?": "", + "Feature": "Single Load Generator: Support testing multiple endpoints simultaneously.", + "Function": "Load Generation", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Server", + "Theme (also: Keychain Name)": "Performance Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Load Generation", + "Documented?": "", + "Feature": "Multiple Meshery Servers or Meshery Adapters generating load, collecting and coalescing results into a single report.", + "Function": "Distributed Load Generator", + "Pricing page?": "X", + "Subscription Tier": "Team", + "Tech": "GetNighthawk", + "Theme (also: Keychain Name)": "Performance Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Performance Profiles", + "Documented?": "", + "Feature": "Share performance profiles and test results with individual users or teams.", + "Function": "Performance Profiles", + "Pricing page?": "X", + "Subscription Tier": "Team", + "Tech": "Cloud", + "Theme (also: Keychain Name)": "Performance Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Comparative Testing", + "Documented?": "", + "Feature": "Historical views: Infrastructure-centric", + "Function": "Comparative Testing", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Server", + "Theme (also: Keychain Name)": "Performance Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Comparative Testing", + "Documented?": "", + "Feature": "Detect real-time anomalies.", + "Function": "Comparative Testing", + "Pricing page?": "X", + "Subscription Tier": "Team", + "Tech": "Cloud", + "Theme (also: Keychain Name)": "Performance Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Continuous Quality of Service Monitoring", + "Documented?": "", + "Feature": "Experience uninterrupted oversight of your service quality with our Continuous Quality of Service Monitoring.", + "Function": "Continuous Quality of Service Monitoring", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Server", + "Theme (also: Keychain Name)": "Performance Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "MeshMark", + "Documented?": "", + "Feature": "Identify the cost of a specific network function.", + "Function": "MeshMark", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Server", + "Theme (also: Keychain Name)": "Performance Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Load Generation", + "Documented?": "", + "Feature": "", + "Function": "Single Load Generator: Support testing multiple endpoints simultaneously.", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Server" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Load Generation", + "Documented?": "", + "Feature": "Multiple Meshery Servers or Meshery Adapters generating load, collecting and coalescing results into a single report.", + "Function": "Distributed Load Generator", + "Pricing page?": "X", + "Subscription Tier": "Team", + "Tech": "GetNighthawk" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Performance Profiles", + "Documented?": "", + "Feature": "", + "Function": "Share performance profiles and test results with individual users or teams.", + "Pricing page?": "X", + "Subscription Tier": "Team", + "Tech": "Cloud" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Comparative Testing", + "Documented?": "", + "Feature": "", + "Function": "Historical views: Infrastructure-centric", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Server" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Comparative Testing", + "Documented?": "", + "Feature": "", + "Function": "Detect real-time anomalies.", + "Pricing page?": "X", + "Subscription Tier": "Team", + "Tech": "Cloud" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Continuous Quality of Service Monitoring", + "Documented?": "", + "Feature": "Experience uninterrupted oversight of your service quality with our Continuous Quality of Service Monitoring.", + "Function": "", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Server" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "MeshMark", + "Documented?": "", + "Feature": "Identify the cost of a specific network function.", + "Function": "MeshMark", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Server" + } + }, + { + "documentation": "https://docs.layer5.io/cloud/security/sessions/#what-sessions-are", "entire_row": { "Category": "Sessions", "Documented?": "https://docs.layer5.io/cloud/security/sessions/#what-sessions-are", @@ -526,7 +1068,8 @@ "Function": "View Sessions", "Pricing page?": "", "Subscription Tier": "", - "Tech": "" + "Tech": "", + "Theme (also: Keychain Name)": "Security Management" } }, { @@ -538,7 +1081,8 @@ "Function": "Create Token", "Pricing page?": "", "Subscription Tier": "", - "Tech": "" + "Tech": "", + "Theme (also: Keychain Name)": "Security Management" } }, { @@ -550,7 +1094,8 @@ "Function": "View Keys", "Pricing page?": "", "Subscription Tier": "", - "Tech": "" + "Tech": "", + "Theme (also: Keychain Name)": "Security Management" } }, { @@ -561,8 +1106,9 @@ "Feature": "See all workspaces within an organisation", "Function": "View Workspace", "Pricing page?": "", - "Subscription Tier": "", - "Tech": "" + "Subscription Tier": "Enterprise", + "Tech": "", + "Theme (also: Keychain Name)": "Workspace Management" } }, { @@ -574,19 +1120,373 @@ "Function": "Delete Environment", "Pricing page?": "", "Subscription Tier": "Enterprise", + "Tech": "", + "Theme (also: Keychain Name)": "Workspace Management" + } + }, + { + "documentation": "https://docs.layer5.io/cloud/getting-started/creating-a-design-from-templete.md/", + "entire_row": { + "Category": "Catalog", + "Documented?": "https://docs.layer5.io/cloud/getting-started/creating-a-design-from-templete.md/", + "Feature": "Clone any item from catalog", + "Function": "Clone Catalog Item", + "Pricing page?": "", + "Subscription Tier": "", + "Tech": "", + "Theme (also: Keychain Name)": "Catalog Management" + } + }, + { + "pricing_page": "true", + "documentation": "https://docs.layer5.io/cloud/getting-started/support/#contacting-support", + "entire_row": { + "Category": "Community Support", + "Documented?": "https://docs.layer5.io/cloud/getting-started/support/#contacting-support", + "Feature": "Get help with most of your Meshery questions and issues in our Community Forum.", + "Function": "Community Support", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "", + "Theme (also: Keychain Name)": "Support and Deployment" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Standard Support", + "Documented?": "", + "Feature": "Layer5 Support can help you troubleshoot issues you run into while using Meshery. Get support via the web.", + "Function": "Standard Support", + "Pricing page?": "X", + "Subscription Tier": "Team", + "Tech": "", + "Theme (also: Keychain Name)": "Support and Deployment" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Premium and Premium Plus Support", + "Documented?": "", + "Feature": "With Premium, get a 30-minute SLA and 24/7 web and phone support. With Premium Plus, get everything in Premium plus your own Support Account Manager and more.", + "Function": "Premium and Premium Plus Support", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "", + "Theme (also: Keychain Name)": "Support and Deployment" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Self-hosted Deployment", + "Documented?": "", + "Feature": "Self-hosted Meshery Cloud for on-prem appliances or self-managed cloud tenants.", + "Function": "Self-hosted Deployment", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "", + "Theme (also: Keychain Name)": "Support and Deployment" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Phone Support", + "Documented?": "", + "Feature": "Layer5 Support can help you troubleshoot issues you run into while using Meshery. Get support via phone.", + "Function": "Phone Support", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "", + "Theme (also: Keychain Name)": "Support and Deployment" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Serverless Pricing", + "Documented?": "", + "Feature": "Subscription plan management. Transformation of workflow pricing model.", + "Function": "Serverless Pricing", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "WASM", + "Theme (also: Keychain Name)": "Business Performance" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Screenshots", + "Documented?": "", + "Feature": "Capture and share visual snapshots of your work with ease using our Screenshots feature.", + "Function": "Screenshots", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "WASM", + "Theme (also: Keychain Name)": "Digital Experience Management" + } + }, + { + "documentation": "https://docs.layer5.io/cloud/identity/users/notification-preferences/", + "entire_row": { + "Category": "Notification Center", + "Documented?": "https://docs.layer5.io/cloud/identity/users/notification-preferences/", + "Feature": "", + "Function": "Events: Reporting of asynchronous events.", + "Pricing page?": "", + "Subscription Tier": "Free", + "Tech": "Server", + "Theme (also: Keychain Name)": "Incident Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Notification Center", + "Documented?": "", + "Feature": "Consolidate all important updates, alerts, and messages in one centralized hub, ensuring you never miss a critical communication or task.", + "Function": "Notification Center", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Server", + "Theme (also: Keychain Name)": "Incident Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Audit Trail", + "Documented?": "", + "Feature": "Detailed accounting of user activity. Historical record or each action taken.", + "Function": "Audit Trail", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "", + "Theme (also: Keychain Name)": "Incident Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Alert Generation", + "Documented?": "", + "Feature": "Dismiss individual; Dismiss bulk.", + "Function": "Alert Generation", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Server UI", + "Theme (also: Keychain Name)": "Incident Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Calendaring", + "Documented?": "", + "Feature": "Get integration with GSuite and integration with Microsoft Outlook.", + "Function": "Calendaring", + "Pricing page?": "X", + "Subscription Tier": "Team", + "Tech": "Golang", + "Theme (also: Keychain Name)": "Incident Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Traffic Replay", + "Documented?": "", + "Feature": "Visual event replay in MeshMap", + "Function": "Traffic Replay", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "Postgres", + "Theme (also: Keychain Name)": "Incident Management" + } + }, + { + "documentation": "https://docs.layer5.io/cloud/getting-started/creating-a-design-from-templete.md/", + "entire_row": { + "Category": "Catalog", + "Documented?": "https://docs.layer5.io/cloud/getting-started/creating-a-design-from-templete.md/", + "Feature": "Clone any item from catalog", + "Function": "Clone Catalog Item", + "Pricing page?": "", + "Subscription Tier": "", "Tech": "" } }, { "pricing_page": "true", + "documentation": "https://docs.layer5.io/cloud/getting-started/support/#contacting-support", "entire_row": { - "Category": "Notification Integrations", + "Category": "Community Support", + "Documented?": "https://docs.layer5.io/cloud/getting-started/support/#contacting-support", + "Feature": "Get help with most of your Meshery questions and issues in our Community Forum.", + "Function": "Community Support", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Standard Support", + "Documented?": "", + "Feature": "Layer5 Support can help you troubleshoot issues you run into while using Meshery. Get support via the web.", + "Function": "Standard Support", + "Pricing page?": "X", + "Subscription Tier": "Team", + "Tech": "" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Premium and Premium Plus Support", "Documented?": "", + "Feature": "With Premium, get a 30-minute SLA and 24/7 web and phone support. With Premium Plus, get everything in Premium plus your own Support Account Manager and more.", + "Function": "Premium and Premium Plus Support", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Self-hosted Deployment", + "Documented?": "", + "Feature": "Self-hosted Meshery Cloud for on-prem appliances or self-managed cloud tenants.", + "Function": "Self-hosted Deployment", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Phone Support", + "Documented?": "", + "Feature": "Layer5 Support can help you troubleshoot issues you run into while using Meshery. Get support via phone.", + "Function": "Phone Support", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Serverless Pricing", + "Documented?": "", + "Feature": "Subscription plan management. Transformation of workflow pricing model.", + "Function": "Serverless Pricing", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "WASM" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Screenshots", + "Documented?": "", + "Feature": "Capture and share visual snapshots of your work with ease using our Screenshots feature.", + "Function": "Screenshots", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "WASM" + } + }, + { + "documentation": "https://docs.layer5.io/cloud/identity/users/notification-preferences/", + "entire_row": { + "Category": "Notification Center", + "Documented?": "https://docs.layer5.io/cloud/identity/users/notification-preferences/", "Feature": "", - "Function": "Access a variety of third-party applications, right from MeshMap. Send a message to Slack, identify an on-duty team to page, or raise an alarm in Datadog.", + "Function": "Events: Reporting of asynchronous events.", + "Pricing page?": "", + "Subscription Tier": "Free", + "Tech": "Server" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Notification Center", + "Documented?": "", + "Feature": "Consolidate all important updates, alerts, and messages in one centralized hub, ensuring you never miss a critical communication or task.", + "Function": "Notification Center", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Server" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Audit Trail", + "Documented?": "", + "Feature": "", + "Function": "Detailed accounting of user activity. Historical record or each action taken.", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Alert Generation", + "Documented?": "", + "Feature": "", + "Function": "Dismiss individual; Dismiss bulk.", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Server UI" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Calendaring", + "Documented?": "", + "Feature": "Get integration with GSuite and integration with Microsoft Outlook.", + "Function": "Calendaring", + "Pricing page?": "X", + "Subscription Tier": "Team", + "Tech": "Golang" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Traffic Replay", + "Documented?": "", + "Feature": "", + "Function": "Visual event replay in MeshMap", "Pricing page?": "X", "Subscription Tier": "Enterprise", - "Tech": "Cloud" + "Tech": "Postgres" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Notification Integrations", + "Documented?": "", + "Feature": "Access a variety of third-party applications, right from MeshMap. Send a message to Slack, identify an on-duty team to page, or raise an alarm in Datadog.", + "Function": "Notification Integrations", + "Pricing page?": "X", + "Subscription Tier": "Enterprise", + "Tech": "Cloud", + "Theme (also: Keychain Name)": "Incident Management" } } ] \ No newline at end of file From 49afffc085390be488410a6bf087a109e13ab44e Mon Sep 17 00:00:00 2001 From: SAHU-01 Date: Mon, 18 Nov 2024 00:41:05 +0000 Subject: [PATCH 05/22] Updated feature data from source repository Signed-off-by: l5io --- data/features.json | 425 +-------------------------------------------- 1 file changed, 2 insertions(+), 423 deletions(-) diff --git a/data/features.json b/data/features.json index ec565c70..7f01ed82 100644 --- a/data/features.json +++ b/data/features.json @@ -25,18 +25,6 @@ "Theme (also: Keychain Name)": "Catalog Management" } }, - { - "documentation": "https://docs.layer5.io/cloud/catalog/", - "entire_row": { - "Category": "Catalog", - "Documented?": "https://docs.layer5.io/cloud/catalog/", - "Feature": "Export a copy of a design to your local system.", - "Function": "", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server" - } - }, { "documentation": "https://docs.layer5.io/kanvas/designer/share-resource/", "entire_row": { @@ -167,18 +155,6 @@ "Theme (also: Keychain Name)": "Catalog Management" } }, - { - "documentation": "https://docs.layer5.io/cloud/getting-started/github-integration/#connect-github-and-import-designs", - "entire_row": { - "Category": "Designs", - "Documented?": "https://docs.layer5.io/cloud/getting-started/github-integration/#connect-github-and-import-designs", - "Feature": "Import a design from GitHub", - "Function": "Import Design", - "Pricing page?": "", - "Subscription Tier": "Enterprise", - "Tech": "Cloud" - } - }, { "pricing_page": "true", "entire_row": { @@ -257,18 +233,6 @@ "Theme (also: Keychain Name)": "Catalog Management" } }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Designs", - "Documented?": "", - "Feature": "Import and export your designs using your local filesystem or remote URL.", - "Function": "Cloud Native Design Patterns", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "" - } - }, { "documentation": "https://docs.meshery.io/extensions/publishing-a-design", "entire_row": { @@ -556,90 +520,6 @@ "Theme (also: Keychain Name)": "Identity \u0026 Access Management" } }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Organization and Team Management", - "Documented?": "", - "Feature": "Manage access to designs on a team-by-team, or individual user, basis.", - "Function": "Manage access to designs", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "Kanvas" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Built-in Roles", - "Documented?": "", - "Feature": "Static - out of the box", - "Function": "Built-in Roles", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "Cloud" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "User-defined Roles", - "Documented?": "", - "Feature": "", - "Function": "Customizable roles for specific permission assignments", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "Cloud" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Authentication: LDAP", - "Documented?": "", - "Feature": "", - "Function": "Access Meshery Server using your existing accounts and centrally manage repository access.", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "Cloud" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Authentication: SAML", - "Documented?": "", - "Feature": "", - "Function": "Use an identity provider to manage the identities of GitHub users and applications.", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "Cloud" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/identity/users/user-management/#add-user-remove-user", - "entire_row": { - "Category": "Users", - "Documented?": "https://docs.layer5.io/cloud/identity/users/user-management/#add-user-remove-user", - "Feature": "Delete a user account", - "Function": "Delete User", - "Pricing page?": "", - "Subscription Tier": "Team", - "Tech": "" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/identity/users/user-management/#create-user", - "entire_row": { - "Category": "Users", - "Documented?": "https://docs.layer5.io/cloud/identity/users/user-management/#create-user", - "Feature": "Create a new user", - "Function": "Create User", - "Pricing page?": "", - "Subscription Tier": "", - "Tech": "" - } - }, { "documentation": "https://docs.layer5.io/cloud/identity/teams/", "entire_row": { @@ -705,42 +585,6 @@ "Theme (also: Keychain Name)": "Meshery System" } }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Cluster discovery", - "Documented?": "", - "Feature": "", - "Function": "Day 2 support for ongoing synchronization of Kubernetes configuration, workloads and service mesh changes.", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "MeshSync" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Multiple Kubernetes Clusters", - "Documented?": "", - "Feature": "", - "Function": "Ongoing synchronization of Kubernetes configuration, workloads and service mesh changes across any number of Kubernetes clusters.", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "mesheryctl", - "Documented?": "", - "Feature": "Seamlessly manage your configurations, deployments, and interactions through our intuitive and powerful command-line interface", - "Function": "all mesheryctl commands", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Golang" - } - }, { "documentation": "https://docs.layer5.io/cloud/catalog/metrics/", "entire_row": { @@ -767,18 +611,6 @@ "Theme (also: Keychain Name)": "Kanvas" } }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Service Performance", - "Documented?": "", - "Feature": "", - "Function": "Continuous visibility across all of your clusters and workloads.", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Kanvas" - } - }, { "documentation": "https://docs.layer5.io/kanvas/concepts/relationships/#2-hierarchical-relationships", "entire_row": { @@ -824,8 +656,8 @@ "entire_row": { "Category": "Visual Design", "Documented?": "", - "Feature": "", - "Function": "Drag-n-drop cloud native infrastructure designer to configure, model, and deploy your workloads", + "Feature": "Drag-n-drop cloud native infrastructure designer to configure, model, and deploy your workloads", + "Function": "Visual Design", "Pricing page?": "X", "Subscription Tier": "Free", "Tech": "Kanvas", @@ -975,90 +807,6 @@ "Theme (also: Keychain Name)": "Performance Management" } }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Load Generation", - "Documented?": "", - "Feature": "", - "Function": "Single Load Generator: Support testing multiple endpoints simultaneously.", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Load Generation", - "Documented?": "", - "Feature": "Multiple Meshery Servers or Meshery Adapters generating load, collecting and coalescing results into a single report.", - "Function": "Distributed Load Generator", - "Pricing page?": "X", - "Subscription Tier": "Team", - "Tech": "GetNighthawk" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Performance Profiles", - "Documented?": "", - "Feature": "", - "Function": "Share performance profiles and test results with individual users or teams.", - "Pricing page?": "X", - "Subscription Tier": "Team", - "Tech": "Cloud" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Comparative Testing", - "Documented?": "", - "Feature": "", - "Function": "Historical views: Infrastructure-centric", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Comparative Testing", - "Documented?": "", - "Feature": "", - "Function": "Detect real-time anomalies.", - "Pricing page?": "X", - "Subscription Tier": "Team", - "Tech": "Cloud" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Continuous Quality of Service Monitoring", - "Documented?": "", - "Feature": "Experience uninterrupted oversight of your service quality with our Continuous Quality of Service Monitoring.", - "Function": "", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "MeshMark", - "Documented?": "", - "Feature": "Identify the cost of a specific network function.", - "Function": "MeshMark", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server" - } - }, { "documentation": "https://docs.layer5.io/cloud/security/sessions/#what-sessions-are", "entire_row": { @@ -1307,175 +1055,6 @@ "Theme (also: Keychain Name)": "Incident Management" } }, - { - "documentation": "https://docs.layer5.io/cloud/getting-started/creating-a-design-from-templete.md/", - "entire_row": { - "Category": "Catalog", - "Documented?": "https://docs.layer5.io/cloud/getting-started/creating-a-design-from-templete.md/", - "Feature": "Clone any item from catalog", - "Function": "Clone Catalog Item", - "Pricing page?": "", - "Subscription Tier": "", - "Tech": "" - } - }, - { - "pricing_page": "true", - "documentation": "https://docs.layer5.io/cloud/getting-started/support/#contacting-support", - "entire_row": { - "Category": "Community Support", - "Documented?": "https://docs.layer5.io/cloud/getting-started/support/#contacting-support", - "Feature": "Get help with most of your Meshery questions and issues in our Community Forum.", - "Function": "Community Support", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Standard Support", - "Documented?": "", - "Feature": "Layer5 Support can help you troubleshoot issues you run into while using Meshery. Get support via the web.", - "Function": "Standard Support", - "Pricing page?": "X", - "Subscription Tier": "Team", - "Tech": "" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Premium and Premium Plus Support", - "Documented?": "", - "Feature": "With Premium, get a 30-minute SLA and 24/7 web and phone support. With Premium Plus, get everything in Premium plus your own Support Account Manager and more.", - "Function": "Premium and Premium Plus Support", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Self-hosted Deployment", - "Documented?": "", - "Feature": "Self-hosted Meshery Cloud for on-prem appliances or self-managed cloud tenants.", - "Function": "Self-hosted Deployment", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Phone Support", - "Documented?": "", - "Feature": "Layer5 Support can help you troubleshoot issues you run into while using Meshery. Get support via phone.", - "Function": "Phone Support", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Serverless Pricing", - "Documented?": "", - "Feature": "Subscription plan management. Transformation of workflow pricing model.", - "Function": "Serverless Pricing", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "WASM" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Screenshots", - "Documented?": "", - "Feature": "Capture and share visual snapshots of your work with ease using our Screenshots feature.", - "Function": "Screenshots", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "WASM" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/identity/users/notification-preferences/", - "entire_row": { - "Category": "Notification Center", - "Documented?": "https://docs.layer5.io/cloud/identity/users/notification-preferences/", - "Feature": "", - "Function": "Events: Reporting of asynchronous events.", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Notification Center", - "Documented?": "", - "Feature": "Consolidate all important updates, alerts, and messages in one centralized hub, ensuring you never miss a critical communication or task.", - "Function": "Notification Center", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Audit Trail", - "Documented?": "", - "Feature": "", - "Function": "Detailed accounting of user activity. Historical record or each action taken.", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Alert Generation", - "Documented?": "", - "Feature": "", - "Function": "Dismiss individual; Dismiss bulk.", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server UI" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Calendaring", - "Documented?": "", - "Feature": "Get integration with GSuite and integration with Microsoft Outlook.", - "Function": "Calendaring", - "Pricing page?": "X", - "Subscription Tier": "Team", - "Tech": "Golang" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Traffic Replay", - "Documented?": "", - "Feature": "", - "Function": "Visual event replay in MeshMap", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "Postgres" - } - }, { "pricing_page": "true", "entire_row": { From 5276764a7c05f0cea74b4cd41c6983485b01a7c8 Mon Sep 17 00:00:00 2001 From: SAHU-01 Date: Tue, 26 Nov 2024 00:39:44 +0000 Subject: [PATCH 06/22] Updated feature data from source repository Signed-off-by: l5io --- data/features.json | 208 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 208 insertions(+) diff --git a/data/features.json b/data/features.json index 7f01ed82..bd3d93de 100644 --- a/data/features.json +++ b/data/features.json @@ -951,6 +951,214 @@ "Theme (also: Keychain Name)": "Support and Deployment" } }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Istio", + "Documented?": "", + "Feature": "VirtualService", + "Function": "VirtualService", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Istio", + "Documented?": "", + "Feature": "DestinationRule", + "Function": "DestinationRule", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Istio", + "Documented?": "", + "Feature": "mTLS (PeerAuthentication)", + "Function": "mTLS (PeerAuthentication)", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Istio", + "Documented?": "", + "Feature": "AuthorizationPolicy", + "Function": "AuthorizationPolicy", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Istio", + "Documented?": "", + "Feature": "EnvoyFilters", + "Function": "EnvoyFilters", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Istio", + "Documented?": "", + "Feature": "Istio Operator", + "Function": "Istio Operator", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Istio", + "Documented?": "", + "Feature": "Ingress Gateway (Gateways)", + "Function": "Ingress Gateway (Gateways)", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Istio", + "Documented?": "", + "Feature": "Egress Gateway (Gateways)", + "Function": "Egress Gateway (Gateways)", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Istio", + "Documented?": "", + "Feature": "Add-on: Prometheus", + "Function": "Add-on: Prometheus", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Istio", + "Documented?": "", + "Feature": "Add-on: Kiali", + "Function": "Add-on: Kiali", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Istio", + "Documented?": "", + "Feature": "Add-on: Grafana", + "Function": "Add-on: Grafana", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Istio", + "Documented?": "", + "Feature": "Add-on: Zipkin", + "Function": "Add-on: Zipkin", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Istio", + "Documented?": "", + "Feature": "Add-on: Jaeger", + "Function": "Add-on: Jaeger", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Istio", + "Documented?": "", + "Feature": "Custom Configuration", + "Function": "Custom Configuration", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Pattern Support: Kubernetes", + "Documented?": "", + "Feature": "Ingress", + "Function": "Ingress", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Multi-Mesh", + "Documented?": "", + "Feature": "Canary Rollout", + "Function": "Canary Rollout", + "Pricing page?": "X", + "Subscription Tier": "Free", + "Tech": "Adapter", + "Theme (also: Keychain Name)": "Configuration Management" + } + }, { "pricing_page": "true", "entire_row": { From c15339920096aa72ebca2eb0160b2568b2fe116d Mon Sep 17 00:00:00 2001 From: SAHU-01 Date: Wed, 27 Nov 2024 00:40:07 +0000 Subject: [PATCH 07/22] Updated feature data from source repository Signed-off-by: l5io --- data/features.json | 65 ---------------------------------------------- 1 file changed, 65 deletions(-) diff --git a/data/features.json b/data/features.json index bd3d93de..a4b50305 100644 --- a/data/features.json +++ b/data/features.json @@ -1055,71 +1055,6 @@ "Theme (also: Keychain Name)": "Configuration Management" } }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Pattern Support: Istio", - "Documented?": "", - "Feature": "Add-on: Prometheus", - "Function": "Add-on: Prometheus", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Pattern Support: Istio", - "Documented?": "", - "Feature": "Add-on: Kiali", - "Function": "Add-on: Kiali", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Pattern Support: Istio", - "Documented?": "", - "Feature": "Add-on: Grafana", - "Function": "Add-on: Grafana", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Pattern Support: Istio", - "Documented?": "", - "Feature": "Add-on: Zipkin", - "Function": "Add-on: Zipkin", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Pattern Support: Istio", - "Documented?": "", - "Feature": "Add-on: Jaeger", - "Function": "Add-on: Jaeger", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, { "pricing_page": "true", "entire_row": { From 192b7bb70ccbde4492a21ae33b45f28508f05ef6 Mon Sep 17 00:00:00 2001 From: SAHU-01 Date: Thu, 5 Dec 2024 00:41:15 +0000 Subject: [PATCH 08/22] Updated feature data from source repository Signed-off-by: l5io --- data/features.json | 218 ++++++++++++--------------------------------- 1 file changed, 57 insertions(+), 161 deletions(-) diff --git a/data/features.json b/data/features.json index a4b50305..bc381bbe 100644 --- a/data/features.json +++ b/data/features.json @@ -664,54 +664,93 @@ "Theme (also: Keychain Name)": "Kanvas" } }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Design Review", + "Documented?": "", + "Feature": "In-line commenting. Threaded discussions. Notifications w/user mentions. Silence notifications. Resolve and reopen comments. Comment history.", + "Function": "Collaborative Design Review", + "Pricing page?": "x", + "Subscription Tier": "TeamDesigner", + "Tech": "Kanvas", + "Theme (also: Keychain Name)": "Kanvas" + } + }, { "documentation": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/", "entire_row": { - "Category": "Visualizer", + "Category": "Operator", "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/", "Feature": "See all views withing a workspace", "Function": "View Views", "Pricing page?": "", - "Subscription Tier": "Team", + "Subscription Tier": "TeamOperator", "Tech": "Server", - "Theme (also: Keychain Name)": "MeshMap" + "Theme (also: Keychain Name)": "Kanvas" } }, { "documentation": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#4-delete-a-view", "entire_row": { - "Category": "Visualizer", + "Category": "Operator", "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#4-delete-a-view", "Feature": "Dissolve environment and all connection memberships. Leave associated resources intact.", "Function": "Delete View", "Pricing page?": "", - "Subscription Tier": "Team", + "Subscription Tier": "TeamOperator", "Tech": "Server", - "Theme (also: Keychain Name)": "MeshMap" + "Theme (also: Keychain Name)": "Kanvas" } }, { "documentation": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#5-export-a-view", "entire_row": { - "Category": "Visualizer", + "Category": "Operator", "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#5-export-a-view", "Feature": "Export views to JSON format", "Function": "Export views", "Pricing page?": "", - "Subscription Tier": "Team", + "Subscription Tier": "TeamOperator", "Tech": "Server", - "Theme (also: Keychain Name)": "MeshMap" + "Theme (also: Keychain Name)": "Kanvas" } }, { "documentation": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#3-share-a-view", "entire_row": { - "Category": "Visualizer", + "Category": "Operator", "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#3-share-a-view", "Feature": "Share Views", "Function": "Share Views", "Pricing page?": "", - "Subscription Tier": "Team", + "Subscription Tier": "TeamOperator", + "Tech": "Kanvas", + "Theme (also: Keychain Name)": "Kanvas" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Operator", + "Documented?": "", + "Feature": "View Interactive Terminal", + "Function": "View Interactive Terminal", + "Pricing page?": "X", + "Subscription Tier": "TeamOperator", + "Tech": "Kanvas", + "Theme (also: Keychain Name)": "Kanvas" + } + }, + { + "pricing_page": "true", + "entire_row": { + "Category": "Operator", + "Documented?": "", + "Feature": "View real-time resource metrics in Kanvas Operator", + "Function": "View Observability Metrics", + "Pricing page?": "X", + "Subscription Tier": "TeamOperator", "Tech": "Kanvas", "Theme (also: Keychain Name)": "Kanvas" } @@ -954,157 +993,14 @@ { "pricing_page": "true", "entire_row": { - "Category": "Pattern Support: Istio", - "Documented?": "", - "Feature": "VirtualService", - "Function": "VirtualService", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Pattern Support: Istio", + "Category": "Invoice Billing", "Documented?": "", - "Feature": "DestinationRule", - "Function": "DestinationRule", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Pattern Support: Istio", - "Documented?": "", - "Feature": "mTLS (PeerAuthentication)", - "Function": "mTLS (PeerAuthentication)", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Pattern Support: Istio", - "Documented?": "", - "Feature": "AuthorizationPolicy", - "Function": "AuthorizationPolicy", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Pattern Support: Istio", - "Documented?": "", - "Feature": "EnvoyFilters", - "Function": "EnvoyFilters", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Pattern Support: Istio", - "Documented?": "", - "Feature": "Istio Operator", - "Function": "Istio Operator", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Pattern Support: Istio", - "Documented?": "", - "Feature": "Ingress Gateway (Gateways)", - "Function": "Ingress Gateway (Gateways)", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Pattern Support: Istio", - "Documented?": "", - "Feature": "Egress Gateway (Gateways)", - "Function": "Egress Gateway (Gateways)", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Pattern Support: Istio", - "Documented?": "", - "Feature": "Custom Configuration", - "Function": "Custom Configuration", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Pattern Support: Kubernetes", - "Documented?": "", - "Feature": "Ingress", - "Function": "Ingress", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Multi-Mesh", - "Documented?": "", - "Feature": "Canary Rollout", - "Function": "Canary Rollout", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Adapter", - "Theme (also: Keychain Name)": "Configuration Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Serverless Pricing", - "Documented?": "", - "Feature": "Subscription plan management. Transformation of workflow pricing model.", - "Function": "Serverless Pricing", + "Feature": "", + "Function": "Pay bills via invoice, rather than using your credit card.", "Pricing page?": "X", "Subscription Tier": "Enterprise", - "Tech": "WASM", - "Theme (also: Keychain Name)": "Business Performance" + "Tech": "", + "Theme (also: Keychain Name)": "Support and Deployment" } }, { @@ -1190,7 +1086,7 @@ "entire_row": { "Category": "Traffic Replay", "Documented?": "", - "Feature": "Visual event replay in MeshMap", + "Feature": "Visual event replay in Kanvas", "Function": "Traffic Replay", "Pricing page?": "X", "Subscription Tier": "Enterprise", @@ -1203,7 +1099,7 @@ "entire_row": { "Category": "Notification Integrations", "Documented?": "", - "Feature": "Access a variety of third-party applications, right from MeshMap. Send a message to Slack, identify an on-duty team to page, or raise an alarm in Datadog.", + "Feature": "Access a variety of third-party applications, right from Kanvas. Send a message to Slack, identify an on-duty team to page, or raise an alarm in Datadog.", "Function": "Notification Integrations", "Pricing page?": "X", "Subscription Tier": "Enterprise", From 6af5192ca63c195f5fcdc651f43b29fa66ac6e3b Mon Sep 17 00:00:00 2001 From: SAHU-01 Date: Fri, 6 Dec 2024 00:40:51 +0000 Subject: [PATCH 09/22] Updated feature data from source repository Signed-off-by: l5io --- data/features.json | 238 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 212 insertions(+), 26 deletions(-) diff --git a/data/features.json b/data/features.json index bc381bbe..7a0f2504 100644 --- a/data/features.json +++ b/data/features.json @@ -4,7 +4,9 @@ "entire_row": { "Category": "Profile", "Documented?": "https://docs.layer5.io/cloud/getting-started/getting-started-with-layer5-account/#7-viewing-your-layer5-profile", + "Enterprise Comparison Tier": "", "Feature": "View your profile.", + "Free Comparison Tier": "", "Function": "View Profile", "Pricing page?": "", "Subscription Tier": "Free", @@ -17,7 +19,9 @@ "entire_row": { "Category": "Catalog", "Documented?": "https://docs.layer5.io/cloud/catalog/", + "Enterprise Comparison Tier": "", "Feature": "Export a copy of a design to your local system.", + "Free Comparison Tier": "", "Function": "", "Pricing page?": "", "Subscription Tier": "Free", @@ -30,7 +34,9 @@ "entire_row": { "Category": "Catalog", "Documented?": "https://docs.layer5.io/kanvas/designer/share-resource/", + "Enterprise Comparison Tier": "", "Feature": "Share design with anyone within your organization, and make your design easily accessible to all relevant team members.", + "Free Comparison Tier": "", "Function": "Share Design", "Pricing page?": "", "Subscription Tier": "Free", @@ -43,7 +49,9 @@ "entire_row": { "Category": "Catalog", "Documented?": "https://docs.layer5.io/kanvas/tasks/designs/cloning-a-design/", + "Enterprise Comparison Tier": "", "Feature": "Clone any published design to customise it according to your use cases", + "Free Comparison Tier": "", "Function": "Clone Design", "Pricing page?": "", "Subscription Tier": "Free", @@ -56,7 +64,9 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.meshery.io/guides/configuration-management/creating-a-meshery-design", + "Enterprise Comparison Tier": "", "Feature": "Create new Meshery design", + "Free Comparison Tier": "", "Function": "Create new design", "Pricing page?": "", "Subscription Tier": "Free", @@ -69,7 +79,9 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.meshery.io/extensions/importing-a-design", + "Enterprise Comparison Tier": "", "Feature": "Import a design", + "Free Comparison Tier": "", "Function": "Import Design", "Pricing page?": "", "Subscription Tier": "Free", @@ -82,7 +94,9 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-cli", + "Enterprise Comparison Tier": "", "Feature": "Import a design from Kubernetes Manifest", + "Free Comparison Tier": "", "Function": "Import Design", "Pricing page?": "", "Subscription Tier": "Free", @@ -95,7 +109,9 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.layer5.io/kanvas/getting-started/starting-helm/#importing-a-design", + "Enterprise Comparison Tier": "", "Feature": "Import a design from Meshery Design (YAML)", + "Free Comparison Tier": "", "Function": "Import Design", "Pricing page?": "", "Subscription Tier": "Free", @@ -108,7 +124,9 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-cli", + "Enterprise Comparison Tier": "", "Feature": "Import a design from Helm Chart", + "Free Comparison Tier": "", "Function": "Import Design", "Pricing page?": "", "Subscription Tier": "Free", @@ -121,7 +139,9 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-cli", + "Enterprise Comparison Tier": "", "Feature": "Import a design from Docker Compose", + "Free Comparison Tier": "", "Function": "Import Design", "Pricing page?": "", "Subscription Tier": "Free", @@ -134,8 +154,10 @@ "entire_row": { "Category": "Designs", "Documented?": "", - "Feature": "Import a design from Kubernetes Manifest, Meshery Design (YAML), Helm Chart, Docker Compose or Meshery Design (OCI Image)", - "Function": "Standard Import Design", + "Enterprise Comparison Tier": "", + "Feature": "Import a design from Kubernetes Manifest, Helm Chart, or Docker Compose", + "Free Comparison Tier": "", + "Function": "Standard Import IaC", "Pricing page?": "X", "Subscription Tier": "Free", "Tech": "Server", @@ -147,7 +169,9 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.layer5.io/cloud/getting-started/github-integration/#connect-github-and-import-designs", + "Enterprise Comparison Tier": "", "Feature": "Import a design from GitHub", + "Free Comparison Tier": "", "Function": "Import Design", "Pricing page?": "", "Subscription Tier": "Enterprise", @@ -160,8 +184,10 @@ "entire_row": { "Category": "Designs", "Documented?": "", - "Feature": "Import a design from GitHub, GitLab, BitBucket", - "Function": "Premium Design Import Features", + "Enterprise Comparison Tier": "", + "Feature": "Bulk import designs from GitHub", + "Free Comparison Tier": "", + "Function": "Premium Import IaC", "Pricing page?": "X", "Subscription Tier": "Enterprise", "Tech": "Server", @@ -173,7 +199,9 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.layer5.io/kanvas/designer/export-designs/#exporting-as-a-design-file", + "Enterprise Comparison Tier": "", "Feature": "Export a latest version of design in Meshery Design (YAML format)", + "Free Comparison Tier": "", "Function": "Export Design", "Pricing page?": "", "Subscription Tier": "Free", @@ -186,7 +214,9 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.layer5.io/kanvas/designer/export-designs/#exporting-as-an-oci-image", + "Enterprise Comparison Tier": "", "Feature": "Export a latest version of design in Meshery Design (OCI format)", + "Free Comparison Tier": "", "Function": "Export Design", "Pricing page?": "", "Subscription Tier": "Free", @@ -199,8 +229,10 @@ "entire_row": { "Category": "Designs", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Export a latest version of design in Meshery Design (OCI format, YAML format) Export a design in source type format (Kubernetes Manifest, Helm Chart, Docker Compose)", - "Function": "Standard Export Design", + "Free Comparison Tier": "", + "Function": "Standard Design Export", "Pricing page?": "X", "Subscription Tier": "Free", "Tech": "Server", @@ -212,8 +244,10 @@ "entire_row": { "Category": "Designs", "Documented?": "", - "Feature": "Export a design to GitHub, GitLab, BitBucket", - "Function": "Premium Export Design Features", + "Enterprise Comparison Tier": "", + "Feature": "Export a design as a snapshot", + "Free Comparison Tier": "", + "Function": "Premium Design Export", "Pricing page?": "X", "Subscription Tier": "Enterprise", "Tech": "Server", @@ -225,7 +259,9 @@ "entire_row": { "Category": "Designs", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Import and export your designs using your local filesystem or remote URL.", + "Free Comparison Tier": "", "Function": "Cloud Native Design Patterns", "Pricing page?": "X", "Subscription Tier": "Free", @@ -238,10 +274,12 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.meshery.io/extensions/publishing-a-design", + "Enterprise Comparison Tier": "", "Feature": "Publish a design", + "Free Comparison Tier": "", "Function": "Publish Design", "Pricing page?": "", - "Subscription Tier": "Free", + "Subscription Tier": "TeamDesigner", "Tech": "Server", "Theme (also: Keychain Name)": "Catalog Management" } @@ -251,10 +289,12 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.layer5.io/kanvas/tasks/designs/validating-designs/", + "Enterprise Comparison Tier": "", "Feature": "Validate a design", + "Free Comparison Tier": "", "Function": "Validate Design", "Pricing page?": "", - "Subscription Tier": "Free", + "Subscription Tier": "TeamDesigner", "Tech": "Server", "Theme (also: Keychain Name)": "Catalog Management" } @@ -264,10 +304,12 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.layer5.io/kanvas/tasks/designs/deploying-designs/", + "Enterprise Comparison Tier": "", "Feature": "Deploy a design", + "Free Comparison Tier": "", "Function": "Deploy Design", "Pricing page?": "", - "Subscription Tier": "Free", + "Subscription Tier": "TeamOperator", "Tech": "Server", "Theme (also: Keychain Name)": "Catalog Management" } @@ -277,7 +319,9 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.layer5.io/kanvas/tasks/designs/undeploying-designs/", + "Enterprise Comparison Tier": "", "Feature": "Retract all resources used in a Meshery design from the cluster", + "Free Comparison Tier": "", "Function": "Undeploy Design", "Pricing page?": "", "Subscription Tier": "Free", @@ -290,7 +334,9 @@ "entire_row": { "Category": "Filters", "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", + "Enterprise Comparison Tier": "", "Feature": "Import a filter", + "Free Comparison Tier": "", "Function": "Import Filter", "Pricing page?": "", "Subscription Tier": "Free", @@ -303,7 +349,9 @@ "entire_row": { "Category": "Filters", "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", + "Enterprise Comparison Tier": "", "Feature": "Publish WASM Filter", + "Free Comparison Tier": "", "Function": "Publish WASM Filter", "Pricing page?": "", "Subscription Tier": "Free", @@ -316,7 +364,9 @@ "entire_row": { "Category": "Filters", "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", + "Enterprise Comparison Tier": "", "Feature": "Unpublish WASM Filter", + "Free Comparison Tier": "", "Function": "Unpublish WASM Filter", "Pricing page?": "", "Subscription Tier": "Free", @@ -329,7 +379,9 @@ "entire_row": { "Category": "Filters", "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", + "Enterprise Comparison Tier": "", "Feature": "Download a WASM filter", + "Free Comparison Tier": "", "Function": "Download a WASM filter", "Pricing page?": "", "Subscription Tier": "Free", @@ -342,7 +394,9 @@ "entire_row": { "Category": "Filters", "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", + "Enterprise Comparison Tier": "", "Feature": "Check information or details of a WASM filter", + "Free Comparison Tier": "", "Function": "Details of WASM Filter", "Pricing page?": "", "Subscription Tier": "Free", @@ -355,7 +409,9 @@ "entire_row": { "Category": "Filters", "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", + "Enterprise Comparison Tier": "", "Feature": "Edit WASM filter", + "Free Comparison Tier": "", "Function": "Edit WASM filter", "Pricing page?": "", "Subscription Tier": "Free", @@ -368,7 +424,9 @@ "entire_row": { "Category": "Filters", "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", + "Enterprise Comparison Tier": "", "Feature": "Clone WASM filter from catalog, which allows customizing filter and use it in design", + "Free Comparison Tier": "", "Function": "Clone WASM Filter", "Pricing page?": "", "Subscription Tier": "Free", @@ -381,7 +439,9 @@ "entire_row": { "Category": "Filters", "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", + "Enterprise Comparison Tier": "", "Feature": "Delete WASM filter permanently from catalog.", + "Free Comparison Tier": "", "Function": "Delete WASM Filter", "Pricing page?": "", "Subscription Tier": "Free", @@ -394,7 +454,9 @@ "entire_row": { "Category": "Filters", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Import, Unpublish, Publish, Download, Edit, Clone, Delete, Details of WASM Filter", + "Free Comparison Tier": "", "Function": "WASM Filter and filter", "Pricing page?": "X", "Subscription Tier": "Free", @@ -407,7 +469,9 @@ "entire_row": { "Category": "Team Chat", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Message in real-time, unattached to a specific design. Control who can pariticpate in the discussion.", + "Free Comparison Tier": "", "Function": "Message in real-time", "Pricing page?": "X", "Subscription Tier": "Enterprise", @@ -421,7 +485,9 @@ "entire_row": { "Category": "Design Reviews", "Documented?": "https://docs.layer5.io/kanvas/designer/comments/", + "Enterprise Comparison Tier": "", "Feature": "Discuss any design by leaving review comments or notes on a specific design. Control who has access, notify discussion participants with updates, and link from anywhere.", + "Free Comparison Tier": "", "Function": "Discuss any design by leaving review comments", "Pricing page?": "X", "Subscription Tier": "Team", @@ -434,23 +500,42 @@ "entire_row": { "Category": "Organization and Team Management", "Documented?": "", + "Enterprise Comparison Tier": "x", "Feature": "Manage access to designs on a team-by-team, or individual user, basis.", + "Free Comparison Tier": "", "Function": "Manage access to designs", "Pricing page?": "X", - "Subscription Tier": "Enterprise", + "Subscription Tier": "TeamDesigner", "Tech": "Kanvas", "Theme (also: Keychain Name)": "Collaboration" } }, + { + "pricing_page": "true", + "entire_row": { + "Category": "", + "Documented?": "", + "Enterprise Comparison Tier": "x", + "Feature": "Create and collaborate in online operational topologies in real-time.", + "Free Comparison Tier": "", + "Function": "Manage access to views", + "Pricing page?": "X", + "Subscription Tier": "TeamOperator", + "Tech": "Kanvas", + "Theme (also: Keychain Name)": "" + } + }, { "pricing_page": "true", "entire_row": { "Category": "Built-in Roles", "Documented?": "", + "Enterprise Comparison Tier": "x", "Feature": "Static - out of the box", + "Free Comparison Tier": "x", "Function": "Built-in Roles", "Pricing page?": "X", - "Subscription Tier": "Enterprise", + "Subscription Tier": "Free", "Tech": "Cloud", "Theme (also: Keychain Name)": "Identity \u0026 Access Management" } @@ -460,7 +545,9 @@ "entire_row": { "Category": "User-defined Roles", "Documented?": "", + "Enterprise Comparison Tier": "x", "Feature": "Customizable roles for specific permission assignments", + "Free Comparison Tier": "x", "Function": "User-defined Roles", "Pricing page?": "X", "Subscription Tier": "Enterprise", @@ -473,7 +560,9 @@ "entire_row": { "Category": "Authentication: LDAP", "Documented?": "", + "Enterprise Comparison Tier": "x", "Feature": "Access Meshery Server using your existing accounts and centrally manage repository access.", + "Free Comparison Tier": "", "Function": "Authentication: LDAP", "Pricing page?": "X", "Subscription Tier": "Enterprise", @@ -486,7 +575,9 @@ "entire_row": { "Category": "Authentication: SAML", "Documented?": "", + "Enterprise Comparison Tier": "x", "Feature": "Use an identity provider to manage the identities of GitHub users and applications.", + "Free Comparison Tier": "", "Function": "Authentication: SAML", "Pricing page?": "X", "Subscription Tier": "Enterprise", @@ -499,7 +590,9 @@ "entire_row": { "Category": "Users", "Documented?": "https://docs.layer5.io/cloud/identity/users/user-management/#add-user-remove-user", + "Enterprise Comparison Tier": "", "Feature": "Delete a user account", + "Free Comparison Tier": "", "Function": "Delete User", "Pricing page?": "", "Subscription Tier": "Team", @@ -512,7 +605,9 @@ "entire_row": { "Category": "Users", "Documented?": "https://docs.layer5.io/cloud/identity/users/user-management/#create-user", + "Enterprise Comparison Tier": "", "Feature": "Create a new user", + "Free Comparison Tier": "", "Function": "Create User", "Pricing page?": "", "Subscription Tier": "", @@ -525,7 +620,9 @@ "entire_row": { "Category": "Teams", "Documented?": "https://docs.layer5.io/cloud/identity/teams/", + "Enterprise Comparison Tier": "", "Feature": "Directly create a new user account within a team.", + "Free Comparison Tier": "", "Function": "Add User to Team", "Pricing page?": "", "Subscription Tier": "Team", @@ -538,7 +635,9 @@ "entire_row": { "Category": "Organizations", "Documented?": "https://docs.layer5.io/cloud/identity/organizations/", + "Enterprise Comparison Tier": "", "Feature": "Establish new organization for organizing teams, users, and resource access.", + "Free Comparison Tier": "", "Function": "Create Organization", "Pricing page?": "", "Subscription Tier": "Enterprise", @@ -551,10 +650,12 @@ "entire_row": { "Category": "Dry-run", "Documented?": "", + "Enterprise Comparison Tier": "x", "Feature": "Test and verify configuration changes in a separate environment.", + "Free Comparison Tier": "", "Function": "Dry-run", "Pricing page?": "X", - "Subscription Tier": "Team", + "Subscription Tier": "TeamOperator", "Tech": "Server", "Theme (also: Keychain Name)": "Lifecycle Management" } @@ -564,21 +665,26 @@ "entire_row": { "Category": "Multiple Kubernetes Clusters", "Documented?": "", + "Enterprise Comparison Tier": "x", "Feature": "Ongoing synchronization of Kubernetes configuration, workloads and service mesh changes across any number of Kubernetes clusters.", + "Free Comparison Tier": "", "Function": "Multiple Kubernetes Clusters", "Pricing page?": "X", - "Subscription Tier": "Free", + "Subscription Tier": "TeamOperator", "Tech": "Server", "Theme (also: Keychain Name)": "Lifecycle Management" } }, { "pricing_page": "true", + "documentation": "https://docs.meshery.io/reference/mesheryctl", "entire_row": { "Category": "mesheryctl", - "Documented?": "", - "Feature": "Seamlessly manage your configurations, deployments, and interactions through our intuitive and powerful command-line interface", - "Function": "all mesheryctl commands", + "Documented?": "https://docs.meshery.io/reference/mesheryctl", + "Enterprise Comparison Tier": "x", + "Feature": "Seamlessly manage your configurations, deployments, and interactions through our intuitive and powerful command-line interface: mesheryctl", + "Free Comparison Tier": "x", + "Function": "CLI", "Pricing page?": "X", "Subscription Tier": "Free", "Tech": "Golang", @@ -590,7 +696,9 @@ "entire_row": { "Category": "Settings", "Documented?": "https://docs.layer5.io/cloud/catalog/metrics/", + "Enterprise Comparison Tier": "", "Feature": "View already configured metrics", + "Free Comparison Tier": "", "Function": "View Metrics", "Pricing page?": "", "Subscription Tier": "Free", @@ -603,7 +711,9 @@ "entire_row": { "Category": "Service Performance", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Continuous visibility across all of your clusters and workloads.", + "Free Comparison Tier": "", "Function": "Service Performance", "Pricing page?": "X", "Subscription Tier": "Free", @@ -616,7 +726,9 @@ "entire_row": { "Category": "Design Patterns", "Documented?": "https://docs.layer5.io/kanvas/concepts/relationships/#2-hierarchical-relationships", + "Enterprise Comparison Tier": "", "Feature": "", + "Free Comparison Tier": "", "Function": "Use heirarchical relationships", "Pricing page?": "", "Subscription Tier": "Free", @@ -629,7 +741,9 @@ "entire_row": { "Category": "Design Patterns", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "This permission grants the user the ability to undo/redo any action in done in Kanvas", + "Free Comparison Tier": "", "Function": "Undo or Redo", "Pricing page?": "X", "Subscription Tier": "Team", @@ -643,7 +757,9 @@ "entire_row": { "Category": "Design Patterns", "Documented?": "https://docs.layer5.io/kanvas/designer/whiteboarding/", + "Enterprise Comparison Tier": "", "Feature": "Ability to freeform draw any shapes, draw edges", + "Free Comparison Tier": "", "Function": "Whiteboarding", "Pricing page?": "X", "Subscription Tier": "Free", @@ -656,7 +772,9 @@ "entire_row": { "Category": "Visual Design", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Drag-n-drop cloud native infrastructure designer to configure, model, and deploy your workloads", + "Free Comparison Tier": "", "Function": "Visual Design", "Pricing page?": "X", "Subscription Tier": "Free", @@ -669,7 +787,9 @@ "entire_row": { "Category": "Design Review", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "In-line commenting. Threaded discussions. Notifications w/user mentions. Silence notifications. Resolve and reopen comments. Comment history.", + "Free Comparison Tier": "", "Function": "Collaborative Design Review", "Pricing page?": "x", "Subscription Tier": "TeamDesigner", @@ -682,7 +802,9 @@ "entire_row": { "Category": "Operator", "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/", + "Enterprise Comparison Tier": "", "Feature": "See all views withing a workspace", + "Free Comparison Tier": "", "Function": "View Views", "Pricing page?": "", "Subscription Tier": "TeamOperator", @@ -695,7 +817,9 @@ "entire_row": { "Category": "Operator", "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#4-delete-a-view", + "Enterprise Comparison Tier": "", "Feature": "Dissolve environment and all connection memberships. Leave associated resources intact.", + "Free Comparison Tier": "", "Function": "Delete View", "Pricing page?": "", "Subscription Tier": "TeamOperator", @@ -708,7 +832,9 @@ "entire_row": { "Category": "Operator", "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#5-export-a-view", + "Enterprise Comparison Tier": "", "Feature": "Export views to JSON format", + "Free Comparison Tier": "", "Function": "Export views", "Pricing page?": "", "Subscription Tier": "TeamOperator", @@ -721,7 +847,9 @@ "entire_row": { "Category": "Operator", "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#3-share-a-view", + "Enterprise Comparison Tier": "", "Feature": "Share Views", + "Free Comparison Tier": "", "Function": "Share Views", "Pricing page?": "", "Subscription Tier": "TeamOperator", @@ -734,8 +862,10 @@ "entire_row": { "Category": "Operator", "Documented?": "", - "Feature": "View Interactive Terminal", - "Function": "View Interactive Terminal", + "Enterprise Comparison Tier": "x", + "Feature": "Direct terminal access to one ore more pods/containers simultaneously. Integrated experience.", + "Free Comparison Tier": "", + "Function": "Web-based Terminal", "Pricing page?": "X", "Subscription Tier": "TeamOperator", "Tech": "Kanvas", @@ -747,11 +877,13 @@ "entire_row": { "Category": "Operator", "Documented?": "", - "Feature": "View real-time resource metrics in Kanvas Operator", - "Function": "View Observability Metrics", + "Enterprise Comparison Tier": "x", + "Feature": "Real-time resource metrics.", + "Free Comparison Tier": "", + "Function": "Standard Events and Metrics", "Pricing page?": "X", "Subscription Tier": "TeamOperator", - "Tech": "Kanvas", + "Tech": "", "Theme (also: Keychain Name)": "Kanvas" } }, @@ -760,7 +892,9 @@ "entire_row": { "Category": "Load Generation", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Single Load Generator: Support testing multiple endpoints simultaneously.", + "Free Comparison Tier": "", "Function": "Load Generation", "Pricing page?": "X", "Subscription Tier": "Free", @@ -773,7 +907,9 @@ "entire_row": { "Category": "Load Generation", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Multiple Meshery Servers or Meshery Adapters generating load, collecting and coalescing results into a single report.", + "Free Comparison Tier": "", "Function": "Distributed Load Generator", "Pricing page?": "X", "Subscription Tier": "Team", @@ -786,7 +922,9 @@ "entire_row": { "Category": "Performance Profiles", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Share performance profiles and test results with individual users or teams.", + "Free Comparison Tier": "", "Function": "Performance Profiles", "Pricing page?": "X", "Subscription Tier": "Team", @@ -799,7 +937,9 @@ "entire_row": { "Category": "Comparative Testing", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Historical views: Infrastructure-centric", + "Free Comparison Tier": "", "Function": "Comparative Testing", "Pricing page?": "X", "Subscription Tier": "Free", @@ -812,7 +952,9 @@ "entire_row": { "Category": "Comparative Testing", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Detect real-time anomalies.", + "Free Comparison Tier": "", "Function": "Comparative Testing", "Pricing page?": "X", "Subscription Tier": "Team", @@ -825,7 +967,9 @@ "entire_row": { "Category": "Continuous Quality of Service Monitoring", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Experience uninterrupted oversight of your service quality with our Continuous Quality of Service Monitoring.", + "Free Comparison Tier": "", "Function": "Continuous Quality of Service Monitoring", "Pricing page?": "X", "Subscription Tier": "Free", @@ -838,7 +982,9 @@ "entire_row": { "Category": "MeshMark", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Identify the cost of a specific network function.", + "Free Comparison Tier": "", "Function": "MeshMark", "Pricing page?": "X", "Subscription Tier": "Free", @@ -851,7 +997,9 @@ "entire_row": { "Category": "Sessions", "Documented?": "https://docs.layer5.io/cloud/security/sessions/#what-sessions-are", + "Enterprise Comparison Tier": "", "Feature": "", + "Free Comparison Tier": "", "Function": "View Sessions", "Pricing page?": "", "Subscription Tier": "", @@ -864,7 +1012,9 @@ "entire_row": { "Category": "Tokens", "Documented?": "https://docs.layer5.io/cloud/security/tokens/#creating-tokens", + "Enterprise Comparison Tier": "", "Feature": "", + "Free Comparison Tier": "", "Function": "Create Token", "Pricing page?": "", "Subscription Tier": "", @@ -877,7 +1027,9 @@ "entire_row": { "Category": "Keys", "Documented?": "https://docs.layer5.io/cloud/security/keys/", + "Enterprise Comparison Tier": "", "Feature": "", + "Free Comparison Tier": "", "Function": "View Keys", "Pricing page?": "", "Subscription Tier": "", @@ -890,7 +1042,9 @@ "entire_row": { "Category": "Workspace", "Documented?": "https://docs.layer5.io/cloud/spaces/workspaces/", + "Enterprise Comparison Tier": "", "Feature": "See all workspaces within an organisation", + "Free Comparison Tier": "", "Function": "View Workspace", "Pricing page?": "", "Subscription Tier": "Enterprise", @@ -903,7 +1057,9 @@ "entire_row": { "Category": "Environments", "Documented?": "https://docs.layer5.io/cloud/spaces/environments/#deleting-an-environment", + "Enterprise Comparison Tier": "", "Feature": "Dissolve environment and all connection memberships. Leave associated resources intact.", + "Free Comparison Tier": "", "Function": "Delete Environment", "Pricing page?": "", "Subscription Tier": "Enterprise", @@ -916,7 +1072,9 @@ "entire_row": { "Category": "Catalog", "Documented?": "https://docs.layer5.io/cloud/getting-started/creating-a-design-from-templete.md/", + "Enterprise Comparison Tier": "", "Feature": "Clone any item from catalog", + "Free Comparison Tier": "", "Function": "Clone Catalog Item", "Pricing page?": "", "Subscription Tier": "", @@ -930,7 +1088,9 @@ "entire_row": { "Category": "Community Support", "Documented?": "https://docs.layer5.io/cloud/getting-started/support/#contacting-support", + "Enterprise Comparison Tier": "", "Feature": "Get help with most of your Meshery questions and issues in our Community Forum.", + "Free Comparison Tier": "", "Function": "Community Support", "Pricing page?": "X", "Subscription Tier": "Free", @@ -943,10 +1103,12 @@ "entire_row": { "Category": "Standard Support", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Layer5 Support can help you troubleshoot issues you run into while using Meshery. Get support via the web.", + "Free Comparison Tier": "", "Function": "Standard Support", "Pricing page?": "X", - "Subscription Tier": "Team", + "Subscription Tier": "TeamDesigner", "Tech": "", "Theme (also: Keychain Name)": "Support and Deployment" } @@ -956,7 +1118,9 @@ "entire_row": { "Category": "Premium and Premium Plus Support", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "With Premium, get a 30-minute SLA and 24/7 web and phone support. With Premium Plus, get everything in Premium plus your own Support Account Manager and more.", + "Free Comparison Tier": "", "Function": "Premium and Premium Plus Support", "Pricing page?": "X", "Subscription Tier": "Enterprise", @@ -969,7 +1133,9 @@ "entire_row": { "Category": "Self-hosted Deployment", "Documented?": "", - "Feature": "Self-hosted Meshery Cloud for on-prem appliances or self-managed cloud tenants.", + "Enterprise Comparison Tier": "", + "Feature": "Self-hosted Layer5 Cloud for on-prem appliances or self-managed cloud tenants. Keep your Kanvas designs internal to your workplace. Get remote support from Layer5 when you need it.", + "Free Comparison Tier": "", "Function": "Self-hosted Deployment", "Pricing page?": "X", "Subscription Tier": "Enterprise", @@ -982,10 +1148,12 @@ "entire_row": { "Category": "Phone Support", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Layer5 Support can help you troubleshoot issues you run into while using Meshery. Get support via phone.", + "Free Comparison Tier": "", "Function": "Phone Support", "Pricing page?": "X", - "Subscription Tier": "Enterprise", + "Subscription Tier": "TeamDesigner", "Tech": "", "Theme (also: Keychain Name)": "Support and Deployment" } @@ -995,7 +1163,9 @@ "entire_row": { "Category": "Invoice Billing", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "", + "Free Comparison Tier": "", "Function": "Pay bills via invoice, rather than using your credit card.", "Pricing page?": "X", "Subscription Tier": "Enterprise", @@ -1008,7 +1178,9 @@ "entire_row": { "Category": "Screenshots", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Capture and share visual snapshots of your work with ease using our Screenshots feature.", + "Free Comparison Tier": "", "Function": "Screenshots", "Pricing page?": "X", "Subscription Tier": "Free", @@ -1021,7 +1193,9 @@ "entire_row": { "Category": "Notification Center", "Documented?": "https://docs.layer5.io/cloud/identity/users/notification-preferences/", + "Enterprise Comparison Tier": "", "Feature": "", + "Free Comparison Tier": "", "Function": "Events: Reporting of asynchronous events.", "Pricing page?": "", "Subscription Tier": "Free", @@ -1034,7 +1208,9 @@ "entire_row": { "Category": "Notification Center", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Consolidate all important updates, alerts, and messages in one centralized hub, ensuring you never miss a critical communication or task.", + "Free Comparison Tier": "", "Function": "Notification Center", "Pricing page?": "X", "Subscription Tier": "Free", @@ -1047,10 +1223,12 @@ "entire_row": { "Category": "Audit Trail", "Documented?": "", + "Enterprise Comparison Tier": "x", "Feature": "Detailed accounting of user activity. Historical record or each action taken.", + "Free Comparison Tier": "", "Function": "Audit Trail", "Pricing page?": "X", - "Subscription Tier": "Free", + "Subscription Tier": "Enterprise", "Tech": "", "Theme (also: Keychain Name)": "Incident Management" } @@ -1060,7 +1238,9 @@ "entire_row": { "Category": "Alert Generation", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Dismiss individual; Dismiss bulk.", + "Free Comparison Tier": "", "Function": "Alert Generation", "Pricing page?": "X", "Subscription Tier": "Free", @@ -1073,7 +1253,9 @@ "entire_row": { "Category": "Calendaring", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Get integration with GSuite and integration with Microsoft Outlook.", + "Free Comparison Tier": "", "Function": "Calendaring", "Pricing page?": "X", "Subscription Tier": "Team", @@ -1086,7 +1268,9 @@ "entire_row": { "Category": "Traffic Replay", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Visual event replay in Kanvas", + "Free Comparison Tier": "", "Function": "Traffic Replay", "Pricing page?": "X", "Subscription Tier": "Enterprise", @@ -1099,7 +1283,9 @@ "entire_row": { "Category": "Notification Integrations", "Documented?": "", + "Enterprise Comparison Tier": "", "Feature": "Access a variety of third-party applications, right from Kanvas. Send a message to Slack, identify an on-duty team to page, or raise an alarm in Datadog.", + "Free Comparison Tier": "", "Function": "Notification Integrations", "Pricing page?": "X", "Subscription Tier": "Enterprise", From 9dbc89a232c460e399a5db0309df1ef504de7ea6 Mon Sep 17 00:00:00 2001 From: SAHU-01 Date: Sat, 7 Dec 2024 00:40:25 +0000 Subject: [PATCH 10/22] Updated feature data from source repository Signed-off-by: l5io --- data/features.json | 96 +++++++++++++++++++++++----------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/data/features.json b/data/features.json index 7a0f2504..0ff9d3c8 100644 --- a/data/features.json +++ b/data/features.json @@ -4,9 +4,9 @@ "entire_row": { "Category": "Profile", "Documented?": "https://docs.layer5.io/cloud/getting-started/getting-started-with-layer5-account/#7-viewing-your-layer5-profile", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "View your profile.", - "Free Comparison Tier": "", + "Free Comparison Tier": "x", "Function": "View Profile", "Pricing page?": "", "Subscription Tier": "Free", @@ -19,9 +19,9 @@ "entire_row": { "Category": "Catalog", "Documented?": "https://docs.layer5.io/cloud/catalog/", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Export a copy of a design to your local system.", - "Free Comparison Tier": "", + "Free Comparison Tier": "x", "Function": "", "Pricing page?": "", "Subscription Tier": "Free", @@ -34,9 +34,9 @@ "entire_row": { "Category": "Catalog", "Documented?": "https://docs.layer5.io/kanvas/designer/share-resource/", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Share design with anyone within your organization, and make your design easily accessible to all relevant team members.", - "Free Comparison Tier": "", + "Free Comparison Tier": "x", "Function": "Share Design", "Pricing page?": "", "Subscription Tier": "Free", @@ -49,9 +49,9 @@ "entire_row": { "Category": "Catalog", "Documented?": "https://docs.layer5.io/kanvas/tasks/designs/cloning-a-design/", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Clone any published design to customise it according to your use cases", - "Free Comparison Tier": "", + "Free Comparison Tier": "x", "Function": "Clone Design", "Pricing page?": "", "Subscription Tier": "Free", @@ -64,7 +64,7 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.meshery.io/guides/configuration-management/creating-a-meshery-design", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Create new Meshery design", "Free Comparison Tier": "", "Function": "Create new design", @@ -79,7 +79,7 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.meshery.io/extensions/importing-a-design", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Import a design", "Free Comparison Tier": "", "Function": "Import Design", @@ -94,7 +94,7 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-cli", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Import a design from Kubernetes Manifest", "Free Comparison Tier": "", "Function": "Import Design", @@ -109,7 +109,7 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.layer5.io/kanvas/getting-started/starting-helm/#importing-a-design", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Import a design from Meshery Design (YAML)", "Free Comparison Tier": "", "Function": "Import Design", @@ -124,7 +124,7 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-cli", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Import a design from Helm Chart", "Free Comparison Tier": "", "Function": "Import Design", @@ -139,7 +139,7 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-cli", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Import a design from Docker Compose", "Free Comparison Tier": "", "Function": "Import Design", @@ -154,7 +154,7 @@ "entire_row": { "Category": "Designs", "Documented?": "", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Import a design from Kubernetes Manifest, Helm Chart, or Docker Compose", "Free Comparison Tier": "", "Function": "Standard Import IaC", @@ -169,7 +169,7 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.layer5.io/cloud/getting-started/github-integration/#connect-github-and-import-designs", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Import a design from GitHub", "Free Comparison Tier": "", "Function": "Import Design", @@ -184,7 +184,7 @@ "entire_row": { "Category": "Designs", "Documented?": "", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Bulk import designs from GitHub", "Free Comparison Tier": "", "Function": "Premium Import IaC", @@ -199,9 +199,9 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.layer5.io/kanvas/designer/export-designs/#exporting-as-a-design-file", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Export a latest version of design in Meshery Design (YAML format)", - "Free Comparison Tier": "", + "Free Comparison Tier": "x", "Function": "Export Design", "Pricing page?": "", "Subscription Tier": "Free", @@ -214,12 +214,12 @@ "entire_row": { "Category": "Designs", "Documented?": "https://docs.layer5.io/kanvas/designer/export-designs/#exporting-as-an-oci-image", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Export a latest version of design in Meshery Design (OCI format)", "Free Comparison Tier": "", "Function": "Export Design", "Pricing page?": "", - "Subscription Tier": "Free", + "Subscription Tier": "TeamDesigner", "Tech": "Server", "Theme (also: Keychain Name)": "Catalog Management" } @@ -229,12 +229,12 @@ "entire_row": { "Category": "Designs", "Documented?": "", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Export a latest version of design in Meshery Design (OCI format, YAML format) Export a design in source type format (Kubernetes Manifest, Helm Chart, Docker Compose)", "Free Comparison Tier": "", "Function": "Standard Design Export", "Pricing page?": "X", - "Subscription Tier": "Free", + "Subscription Tier": "TeamDesigner", "Tech": "Server", "Theme (also: Keychain Name)": "Catalog Management" } @@ -244,7 +244,7 @@ "entire_row": { "Category": "Designs", "Documented?": "", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Export a design as a snapshot", "Free Comparison Tier": "", "Function": "Premium Design Export", @@ -698,7 +698,7 @@ "Documented?": "https://docs.layer5.io/cloud/catalog/metrics/", "Enterprise Comparison Tier": "", "Feature": "View already configured metrics", - "Free Comparison Tier": "", + "Free Comparison Tier": "x", "Function": "View Metrics", "Pricing page?": "", "Subscription Tier": "Free", @@ -728,7 +728,7 @@ "Documented?": "https://docs.layer5.io/kanvas/concepts/relationships/#2-hierarchical-relationships", "Enterprise Comparison Tier": "", "Feature": "", - "Free Comparison Tier": "", + "Free Comparison Tier": "x", "Function": "Use heirarchical relationships", "Pricing page?": "", "Subscription Tier": "Free", @@ -743,7 +743,7 @@ "Documented?": "", "Enterprise Comparison Tier": "", "Feature": "This permission grants the user the ability to undo/redo any action in done in Kanvas", - "Free Comparison Tier": "", + "Free Comparison Tier": "x", "Function": "Undo or Redo", "Pricing page?": "X", "Subscription Tier": "Team", @@ -759,7 +759,7 @@ "Documented?": "https://docs.layer5.io/kanvas/designer/whiteboarding/", "Enterprise Comparison Tier": "", "Feature": "Ability to freeform draw any shapes, draw edges", - "Free Comparison Tier": "", + "Free Comparison Tier": "x", "Function": "Whiteboarding", "Pricing page?": "X", "Subscription Tier": "Free", @@ -774,7 +774,7 @@ "Documented?": "", "Enterprise Comparison Tier": "", "Feature": "Drag-n-drop cloud native infrastructure designer to configure, model, and deploy your workloads", - "Free Comparison Tier": "", + "Free Comparison Tier": "x", "Function": "Visual Design", "Pricing page?": "X", "Subscription Tier": "Free", @@ -787,7 +787,7 @@ "entire_row": { "Category": "Design Review", "Documented?": "", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "In-line commenting. Threaded discussions. Notifications w/user mentions. Silence notifications. Resolve and reopen comments. Comment history.", "Free Comparison Tier": "", "Function": "Collaborative Design Review", @@ -802,7 +802,7 @@ "entire_row": { "Category": "Operator", "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "See all views withing a workspace", "Free Comparison Tier": "", "Function": "View Views", @@ -817,7 +817,7 @@ "entire_row": { "Category": "Operator", "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#4-delete-a-view", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Dissolve environment and all connection memberships. Leave associated resources intact.", "Free Comparison Tier": "", "Function": "Delete View", @@ -832,7 +832,7 @@ "entire_row": { "Category": "Operator", "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#5-export-a-view", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Export views to JSON format", "Free Comparison Tier": "", "Function": "Export views", @@ -847,7 +847,7 @@ "entire_row": { "Category": "Operator", "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#3-share-a-view", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Share Views", "Free Comparison Tier": "", "Function": "Share Views", @@ -892,7 +892,7 @@ "entire_row": { "Category": "Load Generation", "Documented?": "", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Single Load Generator: Support testing multiple endpoints simultaneously.", "Free Comparison Tier": "", "Function": "Load Generation", @@ -907,7 +907,7 @@ "entire_row": { "Category": "Load Generation", "Documented?": "", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Multiple Meshery Servers or Meshery Adapters generating load, collecting and coalescing results into a single report.", "Free Comparison Tier": "", "Function": "Distributed Load Generator", @@ -997,12 +997,12 @@ "entire_row": { "Category": "Sessions", "Documented?": "https://docs.layer5.io/cloud/security/sessions/#what-sessions-are", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "", - "Free Comparison Tier": "", + "Free Comparison Tier": "x", "Function": "View Sessions", "Pricing page?": "", - "Subscription Tier": "", + "Subscription Tier": "Free", "Tech": "", "Theme (also: Keychain Name)": "Security Management" } @@ -1012,12 +1012,12 @@ "entire_row": { "Category": "Tokens", "Documented?": "https://docs.layer5.io/cloud/security/tokens/#creating-tokens", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "", "Free Comparison Tier": "", "Function": "Create Token", "Pricing page?": "", - "Subscription Tier": "", + "Subscription Tier": "Enterprise", "Tech": "", "Theme (also: Keychain Name)": "Security Management" } @@ -1027,12 +1027,12 @@ "entire_row": { "Category": "Keys", "Documented?": "https://docs.layer5.io/cloud/security/keys/", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "", "Free Comparison Tier": "", "Function": "View Keys", "Pricing page?": "", - "Subscription Tier": "", + "Subscription Tier": "Enterprise", "Tech": "", "Theme (also: Keychain Name)": "Security Management" } @@ -1042,12 +1042,12 @@ "entire_row": { "Category": "Workspace", "Documented?": "https://docs.layer5.io/cloud/spaces/workspaces/", - "Enterprise Comparison Tier": "", - "Feature": "See all workspaces within an organisation", - "Free Comparison Tier": "", + "Enterprise Comparison Tier": "x", + "Feature": "See all workspaces within an organization", + "Free Comparison Tier": "x", "Function": "View Workspace", "Pricing page?": "", - "Subscription Tier": "Enterprise", + "Subscription Tier": "Free", "Tech": "", "Theme (also: Keychain Name)": "Workspace Management" } @@ -1057,7 +1057,7 @@ "entire_row": { "Category": "Environments", "Documented?": "https://docs.layer5.io/cloud/spaces/environments/#deleting-an-environment", - "Enterprise Comparison Tier": "", + "Enterprise Comparison Tier": "x", "Feature": "Dissolve environment and all connection memberships. Leave associated resources intact.", "Free Comparison Tier": "", "Function": "Delete Environment", From 78fecf2e28a529549d7dcb314bf9ca4ca4efc419 Mon Sep 17 00:00:00 2001 From: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> Date: Mon, 16 Dec 2024 09:52:30 +0530 Subject: [PATCH 11/22] [UI]: subscription tier relocation Signed-off-by: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> --- assets/scss/_styles_project.scss | 14 +++++- data/features.json | 4 +- layouts/docs/baseof.html | 46 +++++++++++++++++- layouts/docs/list.html | 19 ++++---- layouts/docs/single.html | 5 +- layouts/partials/feature-info.html | 14 +++--- layouts/shortcodes/front-matter.html | 70 ++++++++++++++-------------- 7 files changed, 112 insertions(+), 60 deletions(-) diff --git a/assets/scss/_styles_project.scss b/assets/scss/_styles_project.scss index 279f6894..bbf6ebd9 100644 --- a/assets/scss/_styles_project.scss +++ b/assets/scss/_styles_project.scss @@ -373,13 +373,25 @@ a:not([href]):not([class]):hover { font-weight: $font-weight-medium; background: $black; font-family: "Qanelas Soft"; - border-style: solid; + // border-style: solid; margin: 2rem auto; padding: 1rem; border-color: #00b39f; border-radius: 10px; } +// .matterinfo { +// position: absolute; +// top: 20px; +// right: 20px; +// background-color: #1D1D1D; +// color: #FFFFFF; +// padding: 20px; +// border-radius: 8px; +// box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); +// max-width: 300px; +// } + .heading { font-size: 1.2rem; color: #00b39f; diff --git a/data/features.json b/data/features.json index 0ff9d3c8..c5c0fb1c 100644 --- a/data/features.json +++ b/data/features.json @@ -610,7 +610,7 @@ "Free Comparison Tier": "", "Function": "Create User", "Pricing page?": "", - "Subscription Tier": "", + "Subscription Tier": "Free", "Tech": "", "Theme (also: Keychain Name)": "Identity \u0026 Access Management" } @@ -1077,7 +1077,7 @@ "Free Comparison Tier": "", "Function": "Clone Catalog Item", "Pricing page?": "", - "Subscription Tier": "", + "Subscription Tier": "Free", "Tech": "", "Theme (also: Keychain Name)": "Catalog Management" } diff --git a/layouts/docs/baseof.html b/layouts/docs/baseof.html index 25e3cb6b..3ff420f0 100644 --- a/layouts/docs/baseof.html +++ b/layouts/docs/baseof.html @@ -1,4 +1,4 @@ - + + + + + + + {{ partial "head.html" . }} + + + +
{{ partial "navbar.html" . }}
+
+
+
+ + +
+ {{ partial "version-banner.html" . }} + + {{ block "main" . }}{{ end }} +
+
+
+ {{ partial "footer.html" . }} +
+ {{ partial "scripts.html" . }} {{ partial "image-modal.html" . }} + + + \ No newline at end of file diff --git a/layouts/docs/list.html b/layouts/docs/list.html index 2c0a6adf..a93af80a 100644 --- a/layouts/docs/list.html +++ b/layouts/docs/list.html @@ -1,25 +1,24 @@ {{ define "main" }}

{{ .Title }}

- {{ with .Params.description }}
{{ . | markdownify }}
{{ end }} + {{ with .Params.description }}
{{ . | markdownify }}
{{ end }} {{ with .Params.plan }} - {{ partial "plan-info.html" (dict "plan" .) }} - {{ end }} - {{- partial "feature-info.html" . -}} + {{ partial "plan-info.html" (dict "plan" .) }} + {{ end }} {{ .Content }} - {{ partial "section-index.html" . -}} - + {{ partial "section-index.html" . -}} + {{ if (.Site.Config.Services.Disqus.Shortname) -}} -
- {{- partial "disqus-comment.html" . -}} +
+ {{- partial "disqus-comment.html" . -}} {{ end -}}{{ partial "pager.html" . }} {{ partial "page-meta-lastmod.html" . -}} {{ partial "recent-discussions.html" . -}}
-{{ end -}} +{{ end -}} \ No newline at end of file diff --git a/layouts/docs/single.html b/layouts/docs/single.html index b8ae29bb..589654ae 100644 --- a/layouts/docs/single.html +++ b/layouts/docs/single.html @@ -1,7 +1,6 @@ {{ define "main" }} -{{ partial "feature-info.html" . }} {{ .Render "content" }}
-{{ partial "recent-discussions.html" . }} + {{ partial "recent-discussions.html" . }}
-{{ end }} +{{ end }} \ No newline at end of file diff --git a/layouts/partials/feature-info.html b/layouts/partials/feature-info.html index 0d6cb49e..16023691 100644 --- a/layouts/partials/feature-info.html +++ b/layouts/partials/feature-info.html @@ -15,7 +15,8 @@ {{ $tier := index .entire_row "Subscription Tier" }} {{ $feature := index .entire_row "Feature" }} {{ $currentFeatures := index $groupedFeatures $tier | default "" }} -{{ $groupedFeatures = merge $groupedFeatures (dict $tier (printf "%s%s%s" $currentFeatures (cond (eq $currentFeatures "") "" ", ") $feature)) }} +{{ $groupedFeatures = merge $groupedFeatures (dict $tier (printf "%s%s%s" $currentFeatures (cond (eq $currentFeatures +"") "" ", ") $feature)) }} {{ end }} {{ end }} @@ -32,10 +33,10 @@ {{ end }}
-

Who can use this feature

- Icon - Supported on {{ $maxTier }} Plan + Icon + Subscription: {{ $maxTier + }}
{{ if gt (len $groupedFeatures) 1 }}
@@ -45,11 +46,12 @@

Who can use this feature

{{ if ne $tier $maxTier }} {{ if not $first }}, {{ end }} {{ $first = false }} - {{ $features }} [{{ $tier }}] + {{ $features }} [{{ $tier + }}] {{ end }} {{ end }}
{{ end }}
{{ end }} -{{ end }} +{{ end }} \ No newline at end of file diff --git a/layouts/shortcodes/front-matter.html b/layouts/shortcodes/front-matter.html index a548d62e..a63b5703 100644 --- a/layouts/shortcodes/front-matter.html +++ b/layouts/shortcodes/front-matter.html @@ -5,42 +5,40 @@ {{ $color := .Get "color" | default "primary" }}
-

Who can use this feature

- {{ if $feature }} - {{ $supported_plans := slice }} - {{ if $feature.personal }} - {{ $supported_plans = $supported_plans | append "Personal" }} - {{ end }} - {{ if $feature.team }} - {{ $supported_plans = $supported_plans | append "Team" }} - {{ end }} - {{ if $feature.enterprise }} - {{ $supported_plans = $supported_plans | append "Enterprise" }} - {{ end }} - - {{ $plan_count := len $supported_plans }} - - {{ if eq $plan_count 3 }} -
- Icon - - Supported for all -
- {{ else if eq $plan_count 1 }} -
- Icon - - Supported on {{ index $supported_plans 0 }} Plan -
- {{ else if gt $plan_count 1 }} -
- Icon - - Supported on {{ delimit $supported_plans " and " }} Plans -
- {{ end }} + {{ $supported_plans := slice }} + {{ if $feature.personal }} + {{ $supported_plans = $supported_plans | append "Personal" }} + {{ end }} + {{ if $feature.team }} + {{ $supported_plans = $supported_plans | append "Team" }} + {{ end }} + {{ if $feature.enterprise }} + {{ $supported_plans = $supported_plans | append "Enterprise" }} + {{ end }} + + {{ $plan_count := len $supported_plans }} + + {{ if eq $plan_count 3 }} +
+ Icon + + Subscription: Free, Team, Enterprise +
+ {{ else if eq $plan_count 1 }} +
+ Icon + + Subscription:{{ index $supported_plans 0 }} Plan +
+ {{ else if gt $plan_count 1 }} +
+ Icon + + Subscription: {{ delimit $supported_plans " and " }} Plans +
+ {{ end }} {{ else }} -

Feature information not found

+

Feature information not found

{{ end }} -
+ \ No newline at end of file From 0bdd9926d57bbfe23af5df0971021995019bb61e Mon Sep 17 00:00:00 2001 From: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> Date: Mon, 16 Dec 2024 09:53:34 +0530 Subject: [PATCH 12/22] CSS changes Signed-off-by: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> --- assets/scss/_styles_project.scss | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/assets/scss/_styles_project.scss b/assets/scss/_styles_project.scss index bbf6ebd9..9e61dec4 100644 --- a/assets/scss/_styles_project.scss +++ b/assets/scss/_styles_project.scss @@ -373,25 +373,12 @@ a:not([href]):not([class]):hover { font-weight: $font-weight-medium; background: $black; font-family: "Qanelas Soft"; - // border-style: solid; margin: 2rem auto; padding: 1rem; border-color: #00b39f; border-radius: 10px; } -// .matterinfo { -// position: absolute; -// top: 20px; -// right: 20px; -// background-color: #1D1D1D; -// color: #FFFFFF; -// padding: 20px; -// border-radius: 8px; -// box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); -// max-width: 300px; -// } - .heading { font-size: 1.2rem; color: #00b39f; From ecabb6a12e22c7db683ea3507cc001ff243ebebd Mon Sep 17 00:00:00 2001 From: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> Date: Mon, 16 Dec 2024 09:54:10 +0530 Subject: [PATCH 13/22] Removed commented code Signed-off-by: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> --- layouts/docs/baseof.html | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/layouts/docs/baseof.html b/layouts/docs/baseof.html index 3ff420f0..3574f8c3 100644 --- a/layouts/docs/baseof.html +++ b/layouts/docs/baseof.html @@ -1,40 +1,3 @@ - - From ab6a8c2155f4d4612d7610f1fc5ebe28fff40753 Mon Sep 17 00:00:00 2001 From: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> Date: Mon, 16 Dec 2024 10:04:30 +0530 Subject: [PATCH 14/22] Removed unwanted code Signed-off-by: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> --- content/en/kanvas/getting-started/starting-helm.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/en/kanvas/getting-started/starting-helm.md b/content/en/kanvas/getting-started/starting-helm.md index ec6ae2bb..373d3f5b 100644 --- a/content/en/kanvas/getting-started/starting-helm.md +++ b/content/en/kanvas/getting-started/starting-helm.md @@ -9,8 +9,6 @@ aliases: - /meshmap/getting-started/starting-helm --- -{{< front-matter feature_name="Application Import" >}} - Helm helps you manage Kubernetes applications. Helm Charts help you define, install, and upgrade even the most complex Kubernetes application. Starting a Kanvas design from a Helm chart is another way to get started with an entire application stack. From 5005ec394970d8dbcfeb98b255be0ac8d847e714 Mon Sep 17 00:00:00 2001 From: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> Date: Mon, 16 Dec 2024 10:06:27 +0530 Subject: [PATCH 15/22] Removed unwanted code Signed-off-by: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> --- .../users/notification-preferences.md | 2 - .../self-hosted/planning/identity-services.md | 2 - .../en/cloud/tutorials/gitops-snapshots.md | 40 ++++++++--------- content/en/kanvas/designer/comments/_index.md | 2 - layouts/shortcodes/front-matter.html | 44 ------------------- 5 files changed, 19 insertions(+), 71 deletions(-) delete mode 100644 layouts/shortcodes/front-matter.html diff --git a/content/en/cloud/identity/users/notification-preferences.md b/content/en/cloud/identity/users/notification-preferences.md index e3e74a57..f79989fd 100644 --- a/content/en/cloud/identity/users/notification-preferences.md +++ b/content/en/cloud/identity/users/notification-preferences.md @@ -6,8 +6,6 @@ categories: [Identity] tags: [users] --- -{{< front-matter feature_name="Notification Center" >}} - Layer5 Cloud offers a range of user-configurable preferences that allows you to control the types of email notifications you receive. How to set your notifications preferences diff --git a/content/en/cloud/self-hosted/planning/identity-services.md b/content/en/cloud/self-hosted/planning/identity-services.md index 4f15cc84..5e3b66ec 100644 --- a/content/en/cloud/self-hosted/planning/identity-services.md +++ b/content/en/cloud/self-hosted/planning/identity-services.md @@ -6,8 +6,6 @@ tags: [identity] weight: 3 --- -{{< front-matter feature_name="Authentication SAML" >}} - Layer5 Cloud offers a built-in identity provider (IDP), supporting OIDC for normal users and token-based authentication (access, ID, refresh tokens) for API clients with JSON Web Signature (JWS) for token signing. Layer5 Cloud users can sign-up via email and password in addition to social identity providers (Google and GitHub) via OAuth2. See [Getting Started with a Layer5 Account](../../getting-started/getting-started-with-layer5-account.md) for details. Layer5 Cloud identity services include features such as account recovery, email verification, automatica social sign-in account linking, and multi-factor authentication (coming soon). diff --git a/content/en/cloud/tutorials/gitops-snapshots.md b/content/en/cloud/tutorials/gitops-snapshots.md index 91b4505c..18a0b12b 100644 --- a/content/en/cloud/tutorials/gitops-snapshots.md +++ b/content/en/cloud/tutorials/gitops-snapshots.md @@ -6,8 +6,6 @@ category: GitOps weight: 4 --- -{{< front-matter feature_name="MeshMap Snapshots" >}} - Kanvas Snapshots offer visual insights in every pull request. Verify your workload designs and Kubernetes cluster configurations prior to accepting and merging pull requests. ## Meshery GitHub App @@ -79,11 +77,11 @@ Next level leggings before they sold out, PBR&B church-key shaman echo park. Kal ###### Header 6 -| What | Follows | -|-----------|-----------------| -| A table | A header | -| A table | A header | -| A table | A header | +| What | Follows | +| ------- | -------- | +| A table | A header | +| A table | A header | +| A table | A header | ---------------- @@ -148,19 +146,19 @@ Color Tables should have bold headings and alternating shaded rows. -| Artist | Album | Year | -|-------------------|-----------------|------| -| Michael Jackson | Thriller | 1982 | -| Prince | Purple Rain | 1984 | -| Beastie Boys | License to Ill | 1986 | +| Artist | Album | Year | +| --------------- | -------------- | ---- | +| Michael Jackson | Thriller | 1982 | +| Prince | Purple Rain | 1984 | +| Beastie Boys | License to Ill | 1986 | If a table is too wide, it should scroll horizontally. -| Artist | Album | Year | Label | Awards | Songs | -|-------------------|-----------------|------|-------------|----------|-----------| -| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life | -| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain | -| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill | +| Artist | Album | Year | Label | Awards | Songs | +| --------------- | -------------- | ---- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life | +| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain | +| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill | ---------------- @@ -199,10 +197,10 @@ Long, single-line code blocks should not wrap. They should horizontally scroll i Inline code inside table cells should still be distinguishable. -| Language | Code | -|-------------|--------------------| -| Javascript | `var foo = "bar";` | -| Ruby | `foo = "bar"{` | +| Language | Code | +| ---------- | ------------------ | +| Javascript | `var foo = "bar";` | +| Ruby | `foo = "bar"{` | ---------------- diff --git a/content/en/kanvas/designer/comments/_index.md b/content/en/kanvas/designer/comments/_index.md index 08d579f5..dc97741e 100644 --- a/content/en/kanvas/designer/comments/_index.md +++ b/content/en/kanvas/designer/comments/_index.md @@ -9,8 +9,6 @@ aliases: - /meshmap/designer/comments --- -{{< front-matter feature_name="Design Reviews" >}} - ## Overview Kanvas's Designer offers enables you to place comments "inline" with your infrastructure as code. Use comments to offer feedback to team members, take detailed design notes, capture helpful tips for your team members, and include justification as to your infrastructure and application configuration decisions. Pay it forward to your future self by leaving comments for reference later. diff --git a/layouts/shortcodes/front-matter.html b/layouts/shortcodes/front-matter.html deleted file mode 100644 index a63b5703..00000000 --- a/layouts/shortcodes/front-matter.html +++ /dev/null @@ -1,44 +0,0 @@ -{{ $feature_name := .Get "feature_name" }} -{{ $featuresYaml := readFile "static/data/csv/features.yml" }} -{{ $featuresData := unmarshal $featuresYaml }} -{{ $feature := index (where $featuresData.features "name" $feature_name) 0 }} -{{ $color := .Get "color" | default "primary" }} - -
- {{ if $feature }} - {{ $supported_plans := slice }} - {{ if $feature.personal }} - {{ $supported_plans = $supported_plans | append "Personal" }} - {{ end }} - {{ if $feature.team }} - {{ $supported_plans = $supported_plans | append "Team" }} - {{ end }} - {{ if $feature.enterprise }} - {{ $supported_plans = $supported_plans | append "Enterprise" }} - {{ end }} - - {{ $plan_count := len $supported_plans }} - - {{ if eq $plan_count 3 }} -
- Icon - - Subscription: Free, Team, Enterprise -
- {{ else if eq $plan_count 1 }} -
- Icon - - Subscription:{{ index $supported_plans 0 }} Plan -
- {{ else if gt $plan_count 1 }} -
- Icon - - Subscription: {{ delimit $supported_plans " and " }} Plans -
- {{ end }} - {{ else }} -

Feature information not found

- {{ end }} -
\ No newline at end of file From 34c37940216edec6990bf1a5311b0ab4171ca24d Mon Sep 17 00:00:00 2001 From: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> Date: Mon, 16 Dec 2024 10:10:13 +0530 Subject: [PATCH 16/22] Removed unwanted code Signed-off-by: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> --- static/data/csv/features.yml | 154 ----------------------------------- 1 file changed, 154 deletions(-) delete mode 100644 static/data/csv/features.yml diff --git a/static/data/csv/features.yml b/static/data/csv/features.yml deleted file mode 100644 index 99090bf1..00000000 --- a/static/data/csv/features.yml +++ /dev/null @@ -1,154 +0,0 @@ ---- -features: - - name: Cloud Native Design Patterns - personal: true - team: true - enterprise: true - - name: Multiple Kubernetes Clusters - personal: true - team: true - enterprise: true - - name: Cluster Discovery - personal: true - team: true - enterprise: true - - name: Microservices Performance - personal: true - team: true - enterprise: true - - name: Load Generation - personal: true - team: true - enterprise: true - - name: Open Policy Agent Integration - personal: true - team: true - enterprise: true - - name: Continuous Service Monitoring - personal: true - team: true - enterprise: true - - name: Audit Trail - personal: true - team: true - enterprise: true - - name: Alert Generation - personal: true - team: true - enterprise: true - - name: mesheryctl Commands - personal: true - team: true - enterprise: true - - name: MeshMark - personal: true - team: true - enterprise: true - - name: Notification Center - personal: true - team: true - enterprise: true - - name: MeshMap Snapshots - personal: true - team: true - enterprise: true - - name: Application Import - personal: true - team: true - enterprise: true - - name: Authentication SAML - personal: false - team: false - enterprise: true - - name: Community Support - personal: true - team: true - enterprise: true - - name: Dry-run - personal: false - team: true - enterprise: true - - name: Design Reviews - personal: false - team: true - enterprise: true - - name: WASM Envoy Filter Management - personal: false - team: true - enterprise: true - - name: Visual Design - personal: false - team: true - enterprise: true - - name: Design Versioning - personal: false - team: true - enterprise: true - - name: Distributed Performance Analysis - personal: false - team: true - enterprise: true - - name: Performance Profiles - personal: false - team: true - enterprise: true - - name: Test User Flow Performance - personal: false - team: true - enterprise: true - - name: Built-in Roles - personal: false - team: true - enterprise: true - - name: Comparative Testing - personal: false - team: true - enterprise: true - - name: Calendaring - personal: false - team: true - enterprise: true - - name: Standard Support - personal: false - team: true - enterprise: true - - name: Add-ons - personal: false - team: true - enterprise: true - - name: User-defined Roles - personal: false - team: false - enterprise: true - - name: Self-hosted Deployment - personal: false - team: false - enterprise: true - - name: Traffic Replay - personal: false - team: false - enterprise: true - - name: Certificate Support in Performance Profiles - personal: false - team: false - enterprise: true - - name: Phone Support - personal: false - team: false - enterprise: true - - name: Organization and Team Management - personal: false - team: false - enterprise: true - - name: Team Chat - personal: false - team: false - enterprise: true - - name: Serverless Pricing - personal: false - team: false - enterprise: true - - name: Premium and Premium Plus Support - personal: false - team: false - enterprise: true \ No newline at end of file From efc7703e37015c84491e1e8f273f5c4a29caef66 Mon Sep 17 00:00:00 2001 From: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> Date: Mon, 16 Dec 2024 10:21:33 +0530 Subject: [PATCH 17/22] Workflow updates based on new csv file Signed-off-by: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> --- .github/build/features-to-json.js | 87 +++++++++++++++ .github/workflows/feature-list.yml | 170 +++++++++++++++++++---------- 2 files changed, 198 insertions(+), 59 deletions(-) create mode 100644 .github/build/features-to-json.js diff --git a/.github/build/features-to-json.js b/.github/build/features-to-json.js new file mode 100644 index 00000000..23a345b3 --- /dev/null +++ b/.github/build/features-to-json.js @@ -0,0 +1,87 @@ +#!/usr/bin/env node +const fs = require("fs").promises; +const csv = require("csvtojson"); + +const headers = [ + "Theme", + "Category Order", + "Category", + "Function Order", + "Function", + "Feature", + "Subscription Tier", + "Free", + "Team Designer", + "Team Operator", + "Enterprise", + "Exclude", + "Docs", +]; + +async function processCSV() { + try { + // Default paths, can be overridden by command line arguments + const csvFilePath = process.argv[2] || ".github/build/spreadsheet.csv"; + const featuresFile = process.argv[3] || "data/feature_data.json"; + + // Log file paths if custom paths are provided + if (process.argv[2]) { + console.log("Reading features from: " + process.argv[2]); + } + if (process.argv[3]) { + console.log("Outputting JSON to: " + process.argv[3]); + } + + // Read CSV and parse + const rows = await csv({ + noheader: true, + headers: headers, + output: "json", + }).fromFile(csvFilePath); + + // Filter and transform rows + const filteredData = rows + .filter(row => { + // Only include rows with a non-empty docs column + const docsValue = row["Docs"]?.trim(); + return docsValue && docsValue !== ""; + }) + .map(row => { + // Transform row to desired structure + return { + theme: row["Theme"]?.trim(), + categoryOrder: row["Category Order"]?.trim(), + category: row["Category"]?.trim(), + functionOrder: row["Function Order"]?.trim(), + function: row["Function"]?.trim(), + feature: row["Feature"]?.trim(), + subscriptionTier: row["Subscription Tier"]?.trim(), + comparisonTiers: { + free: row["Free"]?.trim().toLowerCase() === 'x', + teamDesigner: row["Team Designer"]?.trim().toLowerCase() === 'x', + teamOperator: row["Team Operator"]?.trim().toLowerCase() === 'x', + enterprise: row["Enterprise"]?.trim().toLowerCase() === 'x' + }, + docs: row["Docs"]?.trim() + }; + }); + + // Write filtered data to JSON file + try { + await fs.writeFile( + featuresFile, + JSON.stringify(filteredData, null, 2) + ); + console.log(`Successfully wrote ${filteredData.length} features to ${featuresFile}`); + } catch (error) { + console.error("Error writing to features JSON file:", error); + process.exit(1); + } + + } catch (error) { + console.error("Error processing CSV:", error); + process.exit(1); + } +} + +processCSV(); \ No newline at end of file diff --git a/.github/workflows/feature-list.yml b/.github/workflows/feature-list.yml index cb94acd7..b26d65da 100644 --- a/.github/workflows/feature-list.yml +++ b/.github/workflows/feature-list.yml @@ -1,85 +1,137 @@ -name: Feature List Update +# name: Feature List Update + +# on: +# schedule: +# - cron: '0 0 * * *' # Run every night at midnight UTC +# workflow_dispatch: + +# permissions: +# contents: write +# actions: read + +# jobs: +# check-and-update-features: +# runs-on: ubuntu-latest +# env: +# FEATURES_FILE: 'data/features.json' + +# steps: +# - name: Checkout current repository +# uses: actions/checkout@v4 + +# - name: Restore cache +# id: cache-sha +# uses: actions/cache@v3 +# with: +# path: .sha-cache +# key: feature-data-sha +# restore-keys: | +# feature-data-sha + +# - name: Check for updates in source repository +# id: check-updates +# uses: actions/github-script@v7 +# with: +# script: | +# const { data: sourceFile } = await github.rest.repos.getContent({ +# owner: 'layer5labs', +# repo: 'meshery-extensions-packages', +# path: 'feature_data.json', +# ref: 'master' +# }); + +# // Store the latest commit SHA +# const latestSHA = sourceFile.sha; + +# const fs = require('fs'); + +# // Check if we have a previous SHA +# let hasUpdates = true; +# const shaCachePath = '.sha-cache/latest-sha'; +# if (fs.existsSync(shaCachePath)) { +# const lastSHA = fs.readFileSync(shaCachePath, 'utf8'); +# hasUpdates = lastSHA !== latestSHA; +# } + +# if (hasUpdates) { +# // Save the new SHA +# fs.mkdirSync('.sha-cache', { recursive: true }); +# fs.writeFileSync(shaCachePath, latestSHA); + +# // Decode and save the content +# const content = Buffer.from(sourceFile.content, 'base64').toString('utf8'); + +# // Create data directory if it doesn't exist +# fs.mkdirSync('data', { recursive: true }); + +# // Write the new content +# fs.writeFileSync(process.env.FEATURES_FILE, content); + +# core.setOutput('has-updates', 'true'); +# } else { +# core.setOutput('has-updates', 'false'); +# } + +# - name: Commit changes +# if: steps.check-updates.outputs.has-updates == 'true' +# uses: stefanzweifel/git-auto-commit-action@v5 +# with: +# commit_message: "Updated feature data from source repository" +# file_pattern: ${{ env.FEATURES_FILE }} +# branch: master +# commit_options: "--signoff" +# commit_user_name: l5io +# commit_user_email: ci@layer5.io +# commit_author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com> + +name: Feature List on: + workflow_dispatch: schedule: - - cron: '0 0 * * *' # Run every night at midnight UTC - workflow_dispatch: + - cron: '0 0 * * *' permissions: contents: write actions: read jobs: - check-and-update-features: + trigger-feature-list: runs-on: ubuntu-latest env: - FEATURES_FILE: 'data/features.json' + FEATURES_FILE: 'data/feature_data.json' + SPREADSHEET_URL: 'https://docs.google.com/spreadsheets/d/e/2PACX-1vQwzrUSKfuSRcpkp7sJTw1cSB63s4HCjYLJeGPWECsvqn222hjaaONQlN4X8auKvlaB0es3BqV5rQyz/pub?gid=1153419764&single=true&output=csv' steps: - name: Checkout current repository uses: actions/checkout@v4 - - name: Restore cache - id: cache-sha - uses: actions/cache@v3 + - name: Install Node.js + uses: actions/setup-node@v4 with: - path: .sha-cache - key: feature-data-sha - restore-keys: | - feature-data-sha - - - name: Check for updates in source repository - id: check-updates - uses: actions/github-script@v7 - with: - script: | - const { data: sourceFile } = await github.rest.repos.getContent({ - owner: 'layer5labs', - repo: 'meshery-extensions-packages', - path: 'feature_data.json', - ref: 'master' - }); - - // Store the latest commit SHA - const latestSHA = sourceFile.sha; - - const fs = require('fs'); - - // Check if we have a previous SHA - let hasUpdates = true; - const shaCachePath = '.sha-cache/latest-sha'; - if (fs.existsSync(shaCachePath)) { - const lastSHA = fs.readFileSync(shaCachePath, 'utf8'); - hasUpdates = lastSHA !== latestSHA; - } - - if (hasUpdates) { - // Save the new SHA - fs.mkdirSync('.sha-cache', { recursive: true }); - fs.writeFileSync(shaCachePath, latestSHA); - - // Decode and save the content - const content = Buffer.from(sourceFile.content, 'base64').toString('utf8'); - - // Create data directory if it doesn't exist - fs.mkdirSync('data', { recursive: true }); - - // Write the new content - fs.writeFileSync(process.env.FEATURES_FILE, content); - - core.setOutput('has-updates', 'true'); - } else { - core.setOutput('has-updates', 'false'); - } + node-version: 18 + + - name: Install dependencies + run: | + npm install csvtojson --legacy-peer-deps + + - name: Fetch spreadsheet and process updates + run: | + # Download the spreadsheet + curl -L $SPREADSHEET_URL -o .github/build/spreadsheet.csv + ls -al + + # Process the CSV, filter data, and append to feature_data.json + node .github/build/features-to-json.js - name: Commit changes - if: steps.check-updates.outputs.has-updates == 'true' + id: commit-changes uses: stefanzweifel/git-auto-commit-action@v5 with: - commit_message: "Updated feature data from source repository" + commit_message: "Updated feature data from spreadsheet" file_pattern: ${{ env.FEATURES_FILE }} branch: master commit_options: "--signoff" commit_user_name: l5io commit_user_email: ci@layer5.io - commit_author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com> \ No newline at end of file + commit_author: 'l5io ' \ No newline at end of file From c97087f0a53fd95b034c6549b710f1a7f0c42bda Mon Sep 17 00:00:00 2001 From: l5io Date: Mon, 16 Dec 2024 04:53:38 +0000 Subject: [PATCH 18/22] Updated feature data from spreadsheet Signed-off-by: l5io --- data/feature_data.json | 690 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 690 insertions(+) create mode 100644 data/feature_data.json diff --git a/data/feature_data.json b/data/feature_data.json new file mode 100644 index 00000000..94632291 --- /dev/null +++ b/data/feature_data.json @@ -0,0 +1,690 @@ +[ + { + "theme": "Theme", + "categoryOrder": "Category\nOrder", + "category": "Category", + "functionOrder": "Function\nOrder", + "function": "Function", + "feature": "Feature", + "subscriptionTier": "Subscription Tier", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": false + }, + "docs": "Docs" + }, + { + "theme": "", + "categoryOrder": "0", + "category": "Configuration Management", + "functionOrder": "2", + "function": "Export Designs", + "feature": "Export a latest version of design in any supported format: Kubernetes Manifest, Helm Chart, Docker Compose, Artifact Hub and as any OCI, YAML, or JSON.", + "subscriptionTier": "", + "comparisonTiers": { + "free": true, + "teamDesigner": true, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.layer5.io/kanvas/designer/export-designs/#exporting-as-a-design-file" + }, + { + "theme": "", + "categoryOrder": "0", + "category": "Configuration Management", + "functionOrder": "3", + "function": "350 Built-in Models", + "feature": "Thousands of standardized components to represent complex systems, providing logical architecture of your infrastructure.", + "subscriptionTier": "Free", + "comparisonTiers": { + "free": true, + "teamDesigner": true, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.meshery.io/concepts/logical/models" + }, + { + "theme": "", + "categoryOrder": "0", + "category": "Configuration Management", + "functionOrder": "4", + "function": "Custom Models", + "feature": "Define new components, relationships, and policies as needed. Import/export your custom models as OCI images.", + "subscriptionTier": "Free", + "comparisonTiers": { + "free": true, + "teamDesigner": true, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.meshery.io/guides/configuration-management/importing-models" + }, + { + "theme": "", + "categoryOrder": "0", + "category": "Configuration Management", + "functionOrder": "5", + "function": "Import your IaC", + "feature": "Import a design from Kubernetes Manifest, Helm Chart, Docker Compose or Artifact Hub.", + "subscriptionTier": "", + "comparisonTiers": { + "free": true, + "teamDesigner": true, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.meshery.io/extensions/importing-a-design" + }, + { + "theme": "", + "categoryOrder": "0", + "category": "Configuration Management", + "functionOrder": "7", + "function": "Bulk Import IaC", + "feature": "Bulk import of your existing infrastructure as code from GitHub repositories.", + "subscriptionTier": "", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/getting-started/github-integration/" + }, + { + "theme": "", + "categoryOrder": "0", + "category": "Configuration Management", + "functionOrder": "8", + "function": "Validate Infrastructure Configuration", + "feature": "Static validation of configured parameters for design completeness and accuracy.", + "subscriptionTier": "TeamDesigner", + "comparisonTiers": { + "free": false, + "teamDesigner": true, + "teamOperator": false, + "enterprise": false + }, + "docs": "https://docs.layer5.io/kanvas/tasks/designs/validating-designs/" + }, + { + "theme": "", + "categoryOrder": "0", + "category": "Configuration Management", + "functionOrder": "12", + "function": "Intelligent Inference", + "feature": "Relationeirarchical relationships", + "subscriptionTier": "Free", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": false + }, + "docs": "https://docs.layer5.io/kanvas/concepts/relationships/#2-hierarchical-relationships" + }, + { + "theme": "", + "categoryOrder": "1", + "category": "Lifecycle Management", + "functionOrder": "102", + "function": "Robust CLI", + "feature": "Seamlessly manage your configurations, deployments, and interactions through our intuitive and powerful command-line interface: mesheryctl", + "subscriptionTier": "Free", + "comparisonTiers": { + "free": true, + "teamDesigner": true, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.meshery.io/reference/mesheryctl" + }, + { + "theme": "", + "categoryOrder": "1", + "category": "Lifecycle Management", + "functionOrder": "104", + "function": "Web-based Terminal", + "feature": "Direct terminal access to one ore more pods/containers simultaneously. Integrated experience.", + "subscriptionTier": "TeamOperator", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.layer5.io/kanvas/tasks/designs/deploying-designs/" + }, + { + "theme": "", + "categoryOrder": "1", + "category": "Lifecycle Management", + "functionOrder": "105", + "function": "Standard Metrics", + "feature": "Real-time resource metrics for managed workloads.", + "subscriptionTier": "", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.layer5.io/kanvas/operator/operator-views/" + }, + { + "theme": "", + "categoryOrder": "1", + "category": "Lifecycle Management", + "functionOrder": "108", + "function": "Export views", + "feature": "Export views to JSON format", + "subscriptionTier": "", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.layer5.io/kanvas/operator/operator-views/#5-export-a-view" + }, + { + "theme": "", + "categoryOrder": "1", + "category": "Lifecycle Management", + "functionOrder": "109", + "function": "Share Views", + "feature": "Share views with anyone within your organization, and make your design easily accessible to all relevant team members.", + "subscriptionTier": "", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.layer5.io/kanvas/operator/operator-views/#3-share-a-view" + }, + { + "theme": "", + "categoryOrder": "1", + "category": "Lifecycle Management", + "functionOrder": "111", + "function": "Deployments and Deployment dry-runs", + "feature": "Test and verify configuration changes in a separate environment.", + "subscriptionTier": "TeamOperator", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.layer5.io/kanvas/tasks/designs/deploying-designs/" + }, + { + "theme": "", + "categoryOrder": "1", + "category": "Lifecycle Management", + "functionOrder": "115", + "function": "Orchestration: Provisioning / Deprovisioning", + "feature": "Provision and deprovision cloud native infrastructure using your designs.", + "subscriptionTier": "", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.layer5.io/kanvas/tasks/designs/undeploying-designs/" + }, + { + "theme": "", + "categoryOrder": "1", + "category": "Lifecycle Management", + "functionOrder": "116", + "function": "Orchestration: Deprovisioning", + "feature": "Retract all resources used in a Meshery design from the cluster", + "subscriptionTier": "", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": true, + "enterprise": false + }, + "docs": "https://docs.layer5.io/kanvas/tasks/designs/undeploying-designs/" + }, + { + "theme": "", + "categoryOrder": "2", + "category": "Kanvas", + "functionOrder": "201", + "function": "Whiteboarding", + "feature": "Pencil for freeform drawing of any shapes", + "subscriptionTier": "Free", + "comparisonTiers": { + "free": true, + "teamDesigner": true, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.layer5.io/kanvas/designer/whiteboarding/" + }, + { + "theme": "", + "categoryOrder": "3", + "category": "Performance Management", + "functionOrder": "301", + "function": "Load Generation and Performance Testing", + "feature": "Continuous visibility across all of your clusters and workloads. Single or multiple results in standardized format.", + "subscriptionTier": "Free", + "comparisonTiers": { + "free": true, + "teamDesigner": true, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.meshery.io/guides/performance-management/performance-management" + }, + { + "theme": "", + "categoryOrder": "4", + "category": "Collaboration", + "functionOrder": "401", + "function": "Team Design Review", + "feature": "Multiple users to simultaneously edit a document, leave comments directly on specific text sections, and track changes made by others, enabling efficient collaboration and feedback loops during the review process.", + "subscriptionTier": "TeamDesigner", + "comparisonTiers": { + "free": false, + "teamDesigner": true, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/kanvas/designer/comments/" + }, + { + "theme": "", + "categoryOrder": "4", + "category": "Collaboration", + "functionOrder": "405", + "function": "Public and Private Views", + "feature": "Invite any user to collaborate on your public or private views.", + "subscriptionTier": "TeamOperator", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.layer5.io/kanvas/operator/operator-views/" + }, + { + "theme": "", + "categoryOrder": "5", + "category": "Identity & Access Management", + "functionOrder": "501", + "function": "Built-in Roles", + "feature": "Predefined user roles: Organization Admin, Team Admin, Workspace Admin", + "subscriptionTier": "Free", + "comparisonTiers": { + "free": true, + "teamDesigner": true, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/security/roles/" + }, + { + "theme": "", + "categoryOrder": "5", + "category": "Identity & Access Management", + "functionOrder": "503", + "function": "Teams", + "feature": "Establish new team for organizing groups of users and resource access. Single organization, multiple teams.", + "subscriptionTier": "TeamDesigner|TeamOperator", + "comparisonTiers": { + "free": false, + "teamDesigner": true, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/identity/teams/" + }, + { + "theme": "", + "categoryOrder": "5", + "category": "Identity & Access Management", + "functionOrder": "504", + "function": "Custom Roles", + "feature": "Assign User Roles, Assign Keychains to Roles", + "subscriptionTier": "Enterprise", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/security/roles/" + }, + { + "theme": "", + "categoryOrder": "5", + "category": "Identity & Access Management", + "functionOrder": "506", + "function": "User-defined Roles", + "feature": "Customizable roles for specific permission assignments", + "subscriptionTier": "Enterprise", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/security/roles/" + }, + { + "theme": "", + "categoryOrder": "5", + "category": "Identity & Access Management", + "functionOrder": "509", + "function": "Organizations", + "feature": "Particpate as a member of multiple organizations each with their own accounting and billing structure. Multiple organizations, multiple teams.", + "subscriptionTier": "Enterprise", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/identity/organizations/" + }, + { + "theme": "", + "categoryOrder": "6", + "category": "Workspaces", + "functionOrder": "603", + "function": "GitOps Snapshots", + "feature": "Visual insights in your pull requests in GitHub. Verify your workload designs and Kubernetes cluster configurations prior to accepting and merging pull requests.", + "subscriptionTier": "TeamDesigner", + "comparisonTiers": { + "free": false, + "teamDesigner": true, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/tutorials/gitops-snapshots/" + }, + { + "theme": "", + "categoryOrder": "7", + "category": "Catalog", + "functionOrder": "701", + "function": "Public Catalog: 400 Cloud Native Patterns", + "feature": "A library of pre-built design patterns and operational templates for common deployment scenarios, simplifying the configuration process and ensuring best practices.", + "subscriptionTier": "Free", + "comparisonTiers": { + "free": true, + "teamDesigner": true, + "teamOperator": true, + "enterprise": true + }, + "docs": "https://cloud.layer5.io/catalog" + }, + { + "theme": "", + "categoryOrder": "7", + "category": "Catalog", + "functionOrder": "702", + "function": "Organization Private Catalog", + "feature": "Privately publish and share reusable design patterns and operational templates within your organization.", + "subscriptionTier": "Enterprise", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/catalog/" + }, + { + "theme": "", + "categoryOrder": "7", + "category": "Catalog", + "functionOrder": "703", + "function": "Share Design", + "feature": "Share design with anyone within your organization, and make your design easily accessible to all relevant team members.", + "subscriptionTier": "", + "comparisonTiers": { + "free": true, + "teamDesigner": true, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/kanvas/designer/share-resource/" + }, + { + "theme": "", + "categoryOrder": "7", + "category": "Catalog", + "functionOrder": "704", + "function": "Clone Design", + "feature": "Clone any published design to customise it according to your use cases", + "subscriptionTier": "", + "comparisonTiers": { + "free": true, + "teamDesigner": true, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/kanvas/tasks/designs/cloning-a-design/" + }, + { + "theme": "", + "categoryOrder": "7", + "category": "Catalog", + "functionOrder": "705", + "function": "Publish Design", + "feature": "Publish a design", + "subscriptionTier": "", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": false + }, + "docs": "https://docs.meshery.io/extensions/publishing-a-design" + }, + { + "theme": "", + "categoryOrder": "7", + "category": "Catalog", + "functionOrder": "706", + "function": "View Designs", + "feature": "View all public and published designs of other team members and private of signed-in user", + "subscriptionTier": "", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": false + }, + "docs": "https://docs.meshery.io/guides/configuration-management/creating-a-meshery-design" + }, + { + "theme": "", + "categoryOrder": "7", + "category": "Catalog", + "functionOrder": "708", + "function": "Approve Catalog Request", + "feature": "Change management through a process of curation of content to be published in the catalog.", + "subscriptionTier": "Enterprise", + "comparisonTiers": { + "free": false, + "teamDesigner": true, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/catalog/" + }, + { + "theme": "", + "categoryOrder": "7", + "category": "Catalog", + "functionOrder": "709", + "function": "Single and multiple approvers", + "feature": "", + "subscriptionTier": "", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": false + }, + "docs": "https://docs.layer5.io/cloud/catalog/" + }, + { + "theme": "", + "categoryOrder": "7", + "category": "Catalog", + "functionOrder": "710", + "function": "Import Filter", + "feature": "Import a publish WASM filter", + "subscriptionTier": "", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": false + }, + "docs": "https://docs.meshery.io/guides/configuration-management/filter-management" + }, + { + "theme": "", + "categoryOrder": "8", + "category": "Security", + "functionOrder": "802", + "function": "Event Audit Trail", + "feature": "Detailed accounting of user activity. Historical record or each action taken.", + "subscriptionTier": "Enterprise", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/security/" + }, + { + "theme": "", + "categoryOrder": "8", + "category": "Security", + "functionOrder": "803", + "function": "Customizable Permissions: Keys, Keychains and Roles", + "feature": "Highly flexible permissioning. Organize keys into custom keychains and assign to existing or custom roles that you define.", + "subscriptionTier": "Enterprise", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/security/" + }, + { + "theme": "", + "categoryOrder": "8", + "category": "Security", + "functionOrder": "805", + "function": "User Session and API Token Oversight", + "feature": "Expiring and non-expiring API tokens. Visibility into active and expired user sessions.", + "subscriptionTier": "Enterprise", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/security/tokens/" + }, + { + "theme": "", + "categoryOrder": "9", + "category": "Managed Service Provider", + "functionOrder": "904", + "function": "Self-service User Accounts", + "feature": "New user sign-up verification. Self-service password recovery.", + "subscriptionTier": "", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/getting-started/getting-started-with-layer5-account/#7-viewing-your-layer5-profile" + }, + { + "theme": "", + "categoryOrder": "10", + "category": "Support and Deployment", + "functionOrder": "1008", + "function": "Self-hosted Deployment", + "feature": "Self-hosted Layer5 Cloud for on-prem appliances or self-managed cloud tenants. Keep your Kanvas designs internal to your workplace. Get remote support from Layer5 when you need it.", + "subscriptionTier": "Enterprise", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/self-hosted/" + }, + { + "theme": "", + "categoryOrder": "", + "category": "Identity & Access Management", + "functionOrder": "", + "function": "Organizations", + "feature": "Establish new organization for organizing teams, users, and resource access.", + "subscriptionTier": "Enterprise", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": true + }, + "docs": "https://docs.layer5.io/cloud/identity/organizations/" + }, + { + "theme": "", + "categoryOrder": "", + "category": "Identity & Access Management", + "functionOrder": "", + "function": "Direct Add or Invite User to Organization", + "feature": "Directly create a new user account within an organization. Send a request for a user to join an organization.", + "subscriptionTier": "Enterprise", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": false + }, + "docs": "https://docs.layer5.io/cloud/identity/users/user-management/#create-user" + }, + { + "theme": "Meshery System", + "categoryOrder": "", + "category": "Settings", + "functionOrder": "", + "function": "View Metrics", + "feature": "View already configured metrics", + "subscriptionTier": "Free", + "comparisonTiers": { + "free": false, + "teamDesigner": false, + "teamOperator": false, + "enterprise": false + }, + "docs": "https://docs.layer5.io/cloud/catalog/metrics/" + } +] \ No newline at end of file From ef4d45558d1f57be91e168918de4cc0f6252e76c Mon Sep 17 00:00:00 2001 From: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> Date: Mon, 16 Dec 2024 12:00:43 +0530 Subject: [PATCH 19/22] based on new workflow data updated and necessary change simplemented Signed-off-by: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> --- .github/workflows/feature-list.yml | 86 ------------------------------ layouts/docs/baseof.html | 8 +-- layouts/partials/feature-info.html | 60 +++++++++------------ 3 files changed, 30 insertions(+), 124 deletions(-) diff --git a/.github/workflows/feature-list.yml b/.github/workflows/feature-list.yml index b26d65da..3709ecd3 100644 --- a/.github/workflows/feature-list.yml +++ b/.github/workflows/feature-list.yml @@ -1,89 +1,3 @@ -# name: Feature List Update - -# on: -# schedule: -# - cron: '0 0 * * *' # Run every night at midnight UTC -# workflow_dispatch: - -# permissions: -# contents: write -# actions: read - -# jobs: -# check-and-update-features: -# runs-on: ubuntu-latest -# env: -# FEATURES_FILE: 'data/features.json' - -# steps: -# - name: Checkout current repository -# uses: actions/checkout@v4 - -# - name: Restore cache -# id: cache-sha -# uses: actions/cache@v3 -# with: -# path: .sha-cache -# key: feature-data-sha -# restore-keys: | -# feature-data-sha - -# - name: Check for updates in source repository -# id: check-updates -# uses: actions/github-script@v7 -# with: -# script: | -# const { data: sourceFile } = await github.rest.repos.getContent({ -# owner: 'layer5labs', -# repo: 'meshery-extensions-packages', -# path: 'feature_data.json', -# ref: 'master' -# }); - -# // Store the latest commit SHA -# const latestSHA = sourceFile.sha; - -# const fs = require('fs'); - -# // Check if we have a previous SHA -# let hasUpdates = true; -# const shaCachePath = '.sha-cache/latest-sha'; -# if (fs.existsSync(shaCachePath)) { -# const lastSHA = fs.readFileSync(shaCachePath, 'utf8'); -# hasUpdates = lastSHA !== latestSHA; -# } - -# if (hasUpdates) { -# // Save the new SHA -# fs.mkdirSync('.sha-cache', { recursive: true }); -# fs.writeFileSync(shaCachePath, latestSHA); - -# // Decode and save the content -# const content = Buffer.from(sourceFile.content, 'base64').toString('utf8'); - -# // Create data directory if it doesn't exist -# fs.mkdirSync('data', { recursive: true }); - -# // Write the new content -# fs.writeFileSync(process.env.FEATURES_FILE, content); - -# core.setOutput('has-updates', 'true'); -# } else { -# core.setOutput('has-updates', 'false'); -# } - -# - name: Commit changes -# if: steps.check-updates.outputs.has-updates == 'true' -# uses: stefanzweifel/git-auto-commit-action@v5 -# with: -# commit_message: "Updated feature data from source repository" -# file_pattern: ${{ env.FEATURES_FILE }} -# branch: master -# commit_options: "--signoff" -# commit_user_name: l5io -# commit_user_email: ci@layer5.io -# commit_author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com> - name: Feature List on: diff --git a/layouts/docs/baseof.html b/layouts/docs/baseof.html index 3574f8c3..b7b5327b 100644 --- a/layouts/docs/baseof.html +++ b/layouts/docs/baseof.html @@ -14,8 +14,9 @@ {{ partial "sidebar.html" . }}
{{ partial "version-banner.html" . }} @@ -35,7 +36,8 @@ {{ partial "footer.html" . }} - {{ partial "scripts.html" . }} {{ partial "image-modal.html" . }} + {{ partial "scripts.html" . }} + {{ partial "image-modal.html" . }} \ No newline at end of file diff --git a/layouts/partials/feature-info.html b/layouts/partials/feature-info.html index 16023691..7cc6dea6 100644 --- a/layouts/partials/feature-info.html +++ b/layouts/partials/feature-info.html @@ -1,57 +1,47 @@ {{ $currentPage := .Page.Permalink }} -{{ $features := .Site.Data.features }} +{{ $features := .Site.Data.feature_data }} {{ if not $features }} -{{ $features = getJSON "features.json" }} +{{ $features = getJSON "feature_data.json" }} {{ end }} + +{{ $currentPage := .Page.Permalink }} + {{ if $features }} -{{ $groupedFeatures := dict }} {{ range $features }} -{{ $docUrl := .documentation | default "" }} +{{ $docUrl := .docs | default "" }} {{ $cleanDocUrl := (index (split $docUrl "#") 0) }} {{ $currentPagePath := path.Clean (urls.Parse $currentPage).Path }} {{ $cleanDocUrlPath := path.Clean (urls.Parse $cleanDocUrl).Path }} -{{ if eq $cleanDocUrlPath $currentPagePath }} -{{ $tier := index .entire_row "Subscription Tier" }} -{{ $feature := index .entire_row "Feature" }} -{{ $currentFeatures := index $groupedFeatures $tier | default "" }} -{{ $groupedFeatures = merge $groupedFeatures (dict $tier (printf "%s%s%s" $currentFeatures (cond (eq $currentFeatures -"") "" ", ") $feature)) }} +{{ if and (ne $docUrl "") (eq $cleanDocUrlPath $currentPagePath) }} +{{ $tiers := slice }} +{{ if .comparisonTiers.free }} +{{ $tiers = $tiers | append "Free" }} {{ end }} + +{{ if .comparisonTiers.teamDesigner }} +{{ $tiers = $tiers | append "Team Designer" }} {{ end }} -{{ if ne (len $groupedFeatures) 0 }} -{{ $maxTier := "" }} -{{ $maxLength := 0 }} -{{ range $tier, $features := $groupedFeatures }} -{{ $length := len (split $features ", ") }} -{{ if gt $length $maxLength }} -{{ $maxTier = $tier }} -{{ $maxLength = $length }} +{{ if .comparisonTiers.teamOperator }} +{{ $tiers = $tiers | append "Team Operator" }} {{ end }} + +{{ if .comparisonTiers.enterprise }} +{{ $tiers = $tiers | append "Enterprise" }} {{ end }} +{{ if len $tiers }}
-
+
Icon - Subscription: {{ $maxTier - }} -
- {{ if gt (len $groupedFeatures) 1 }} -
- Add-ons: - {{ $first := true }} - {{ range $tier, $features := $groupedFeatures }} - {{ if ne $tier $maxTier }} - {{ if not $first }}, {{ end }} - {{ $first = false }} - {{ $features }} [{{ $tier - }}] - {{ end }} - {{ end }} + Subscription: + {{ delimit $tiers ", " }} +
- {{ end }}
{{ end }} +{{ end }} +{{ end }} {{ end }} \ No newline at end of file From a84c4b6de44d855905df7545627a57595c6d3342 Mon Sep 17 00:00:00 2001 From: l5io Date: Tue, 17 Dec 2024 00:41:12 +0000 Subject: [PATCH 20/22] Updated feature data from spreadsheet Signed-off-by: l5io --- data/feature_data.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/feature_data.json b/data/feature_data.json index 94632291..a6ee920c 100644 --- a/data/feature_data.json +++ b/data/feature_data.json @@ -517,11 +517,11 @@ "category": "Catalog", "functionOrder": "708", "function": "Approve Catalog Request", - "feature": "Change management through a process of curation of content to be published in the catalog.", + "feature": "Change management for the curation of content published in the catalog.", "subscriptionTier": "Enterprise", "comparisonTiers": { "free": false, - "teamDesigner": true, + "teamDesigner": false, "teamOperator": false, "enterprise": true }, From 22dc31c73bf64d64bb02575ce120aaf18fd11ec3 Mon Sep 17 00:00:00 2001 From: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> Date: Tue, 17 Dec 2024 18:27:04 +0530 Subject: [PATCH 21/22] union of plans Signed-off-by: Ankita Sahu <71656941+SAHU-01@users.noreply.github.com> --- layouts/partials/feature-info.html | 51 ++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 17 deletions(-) diff --git a/layouts/partials/feature-info.html b/layouts/partials/feature-info.html index 7cc6dea6..e97c0587 100644 --- a/layouts/partials/feature-info.html +++ b/layouts/partials/feature-info.html @@ -4,44 +4,61 @@ {{ $features = getJSON "feature_data.json" }} {{ end }} -{{ $currentPage := .Page.Permalink }} - -{{ if $features }} +{{ $featuresByUrl := dict }} {{ range $features }} {{ $docUrl := .docs | default "" }} +{{ if ne $docUrl "" }} {{ $cleanDocUrl := (index (split $docUrl "#") 0) }} + +{{ $existingFeatures := slice }} +{{ with index $featuresByUrl $cleanDocUrl }} +{{ if reflect.IsSlice . }} +{{ $existingFeatures = . }} +{{ else if reflect.IsMap . }} +{{ $existingFeatures = slice . }} +{{ end }} +{{ end }} + +{{ $updatedFeatures := $existingFeatures }} +{{ $updatedFeatures = $updatedFeatures | append . }} + +{{ $featuresByUrl = merge $featuresByUrl (dict $cleanDocUrl $updatedFeatures) }} +{{ end }} +{{ end }} + +{{ range $docUrl, $urlFeatures := $featuresByUrl }} {{ $currentPagePath := path.Clean (urls.Parse $currentPage).Path }} -{{ $cleanDocUrlPath := path.Clean (urls.Parse $cleanDocUrl).Path }} +{{ $cleanDocUrlPath := path.Clean (urls.Parse $docUrl).Path }} -{{ if and (ne $docUrl "") (eq $cleanDocUrlPath $currentPagePath) }} +{{ if eq $cleanDocUrlPath $currentPagePath }} {{ $tiers := slice }} - -{{ if .comparisonTiers.free }} +{{ range $feature := $urlFeatures }} +{{ if $feature.comparisonTiers.free }} {{ $tiers = $tiers | append "Free" }} {{ end }} - -{{ if .comparisonTiers.teamDesigner }} +{{ if $feature.comparisonTiers.teamDesigner }} {{ $tiers = $tiers | append "Team Designer" }} {{ end }} - -{{ if .comparisonTiers.teamOperator }} +{{ if $feature.comparisonTiers.teamOperator }} {{ $tiers = $tiers | append "Team Operator" }} {{ end }} - -{{ if .comparisonTiers.enterprise }} +{{ if $feature.comparisonTiers.enterprise }} {{ $tiers = $tiers | append "Enterprise" }} {{ end }} +{{ end }} -{{ if len $tiers }} +{{ $uniqueTiers := uniq $tiers }} + +{{ if len $uniqueTiers }} {{ end }} {{ end }} -{{ end }} {{ end }} \ No newline at end of file From e05c4cd98cb18b008d9656ddac730f94ad5db8e2 Mon Sep 17 00:00:00 2001 From: Lee Calcote Date: Tue, 17 Dec 2024 08:10:06 -0600 Subject: [PATCH 22/22] Delete data/features.json Signed-off-by: Lee Calcote --- data/features.json | 1296 -------------------------------------------- 1 file changed, 1296 deletions(-) delete mode 100644 data/features.json diff --git a/data/features.json b/data/features.json deleted file mode 100644 index c5c0fb1c..00000000 --- a/data/features.json +++ /dev/null @@ -1,1296 +0,0 @@ -[ - { - "documentation": "https://docs.layer5.io/cloud/getting-started/getting-started-with-layer5-account/#7-viewing-your-layer5-profile", - "entire_row": { - "Category": "Profile", - "Documented?": "https://docs.layer5.io/cloud/getting-started/getting-started-with-layer5-account/#7-viewing-your-layer5-profile", - "Enterprise Comparison Tier": "x", - "Feature": "View your profile.", - "Free Comparison Tier": "x", - "Function": "View Profile", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Cloud", - "Theme (also: Keychain Name)": "Account Management" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/catalog/", - "entire_row": { - "Category": "Catalog", - "Documented?": "https://docs.layer5.io/cloud/catalog/", - "Enterprise Comparison Tier": "x", - "Feature": "Export a copy of a design to your local system.", - "Free Comparison Tier": "x", - "Function": "", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.layer5.io/kanvas/designer/share-resource/", - "entire_row": { - "Category": "Catalog", - "Documented?": "https://docs.layer5.io/kanvas/designer/share-resource/", - "Enterprise Comparison Tier": "x", - "Feature": "Share design with anyone within your organization, and make your design easily accessible to all relevant team members.", - "Free Comparison Tier": "x", - "Function": "Share Design", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.layer5.io/kanvas/tasks/designs/cloning-a-design/", - "entire_row": { - "Category": "Catalog", - "Documented?": "https://docs.layer5.io/kanvas/tasks/designs/cloning-a-design/", - "Enterprise Comparison Tier": "x", - "Feature": "Clone any published design to customise it according to your use cases", - "Free Comparison Tier": "x", - "Function": "Clone Design", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.meshery.io/guides/configuration-management/creating-a-meshery-design", - "entire_row": { - "Category": "Designs", - "Documented?": "https://docs.meshery.io/guides/configuration-management/creating-a-meshery-design", - "Enterprise Comparison Tier": "x", - "Feature": "Create new Meshery design", - "Free Comparison Tier": "", - "Function": "Create new design", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.meshery.io/extensions/importing-a-design", - "entire_row": { - "Category": "Designs", - "Documented?": "https://docs.meshery.io/extensions/importing-a-design", - "Enterprise Comparison Tier": "x", - "Feature": "Import a design", - "Free Comparison Tier": "", - "Function": "Import Design", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-cli", - "entire_row": { - "Category": "Designs", - "Documented?": "https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-cli", - "Enterprise Comparison Tier": "x", - "Feature": "Import a design from Kubernetes Manifest", - "Free Comparison Tier": "", - "Function": "Import Design", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.layer5.io/kanvas/getting-started/starting-helm/#importing-a-design", - "entire_row": { - "Category": "Designs", - "Documented?": "https://docs.layer5.io/kanvas/getting-started/starting-helm/#importing-a-design", - "Enterprise Comparison Tier": "x", - "Feature": "Import a design from Meshery Design (YAML)", - "Free Comparison Tier": "", - "Function": "Import Design", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-cli", - "entire_row": { - "Category": "Designs", - "Documented?": "https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-cli", - "Enterprise Comparison Tier": "x", - "Feature": "Import a design from Helm Chart", - "Free Comparison Tier": "", - "Function": "Import Design", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-cli", - "entire_row": { - "Category": "Designs", - "Documented?": "https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-cli", - "Enterprise Comparison Tier": "x", - "Feature": "Import a design from Docker Compose", - "Free Comparison Tier": "", - "Function": "Import Design", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Designs", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Import a design from Kubernetes Manifest, Helm Chart, or Docker Compose", - "Free Comparison Tier": "", - "Function": "Standard Import IaC", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/getting-started/github-integration/#connect-github-and-import-designs", - "entire_row": { - "Category": "Designs", - "Documented?": "https://docs.layer5.io/cloud/getting-started/github-integration/#connect-github-and-import-designs", - "Enterprise Comparison Tier": "x", - "Feature": "Import a design from GitHub", - "Free Comparison Tier": "", - "Function": "Import Design", - "Pricing page?": "", - "Subscription Tier": "Enterprise", - "Tech": "Cloud", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Designs", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Bulk import designs from GitHub", - "Free Comparison Tier": "", - "Function": "Premium Import IaC", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.layer5.io/kanvas/designer/export-designs/#exporting-as-a-design-file", - "entire_row": { - "Category": "Designs", - "Documented?": "https://docs.layer5.io/kanvas/designer/export-designs/#exporting-as-a-design-file", - "Enterprise Comparison Tier": "x", - "Feature": "Export a latest version of design in Meshery Design (YAML format)", - "Free Comparison Tier": "x", - "Function": "Export Design", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.layer5.io/kanvas/designer/export-designs/#exporting-as-an-oci-image", - "entire_row": { - "Category": "Designs", - "Documented?": "https://docs.layer5.io/kanvas/designer/export-designs/#exporting-as-an-oci-image", - "Enterprise Comparison Tier": "x", - "Feature": "Export a latest version of design in Meshery Design (OCI format)", - "Free Comparison Tier": "", - "Function": "Export Design", - "Pricing page?": "", - "Subscription Tier": "TeamDesigner", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Designs", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Export a latest version of design in Meshery Design (OCI format, YAML format) Export a design in source type format (Kubernetes Manifest, Helm Chart, Docker Compose)", - "Free Comparison Tier": "", - "Function": "Standard Design Export", - "Pricing page?": "X", - "Subscription Tier": "TeamDesigner", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Designs", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Export a design as a snapshot", - "Free Comparison Tier": "", - "Function": "Premium Design Export", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Designs", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Import and export your designs using your local filesystem or remote URL.", - "Free Comparison Tier": "", - "Function": "Cloud Native Design Patterns", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.meshery.io/extensions/publishing-a-design", - "entire_row": { - "Category": "Designs", - "Documented?": "https://docs.meshery.io/extensions/publishing-a-design", - "Enterprise Comparison Tier": "", - "Feature": "Publish a design", - "Free Comparison Tier": "", - "Function": "Publish Design", - "Pricing page?": "", - "Subscription Tier": "TeamDesigner", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.layer5.io/kanvas/tasks/designs/validating-designs/", - "entire_row": { - "Category": "Designs", - "Documented?": "https://docs.layer5.io/kanvas/tasks/designs/validating-designs/", - "Enterprise Comparison Tier": "", - "Feature": "Validate a design", - "Free Comparison Tier": "", - "Function": "Validate Design", - "Pricing page?": "", - "Subscription Tier": "TeamDesigner", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.layer5.io/kanvas/tasks/designs/deploying-designs/", - "entire_row": { - "Category": "Designs", - "Documented?": "https://docs.layer5.io/kanvas/tasks/designs/deploying-designs/", - "Enterprise Comparison Tier": "", - "Feature": "Deploy a design", - "Free Comparison Tier": "", - "Function": "Deploy Design", - "Pricing page?": "", - "Subscription Tier": "TeamOperator", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.layer5.io/kanvas/tasks/designs/undeploying-designs/", - "entire_row": { - "Category": "Designs", - "Documented?": "https://docs.layer5.io/kanvas/tasks/designs/undeploying-designs/", - "Enterprise Comparison Tier": "", - "Feature": "Retract all resources used in a Meshery design from the cluster", - "Free Comparison Tier": "", - "Function": "Undeploy Design", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.meshery.io/guides/configuration-management/filter-management", - "entire_row": { - "Category": "Filters", - "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", - "Enterprise Comparison Tier": "", - "Feature": "Import a filter", - "Free Comparison Tier": "", - "Function": "Import Filter", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.meshery.io/guides/configuration-management/filter-management", - "entire_row": { - "Category": "Filters", - "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", - "Enterprise Comparison Tier": "", - "Feature": "Publish WASM Filter", - "Free Comparison Tier": "", - "Function": "Publish WASM Filter", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.meshery.io/guides/configuration-management/filter-management", - "entire_row": { - "Category": "Filters", - "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", - "Enterprise Comparison Tier": "", - "Feature": "Unpublish WASM Filter", - "Free Comparison Tier": "", - "Function": "Unpublish WASM Filter", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.meshery.io/guides/configuration-management/filter-management", - "entire_row": { - "Category": "Filters", - "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", - "Enterprise Comparison Tier": "", - "Feature": "Download a WASM filter", - "Free Comparison Tier": "", - "Function": "Download a WASM filter", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.meshery.io/guides/configuration-management/filter-management", - "entire_row": { - "Category": "Filters", - "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", - "Enterprise Comparison Tier": "", - "Feature": "Check information or details of a WASM filter", - "Free Comparison Tier": "", - "Function": "Details of WASM Filter", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.meshery.io/guides/configuration-management/filter-management", - "entire_row": { - "Category": "Filters", - "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", - "Enterprise Comparison Tier": "", - "Feature": "Edit WASM filter", - "Free Comparison Tier": "", - "Function": "Edit WASM filter", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.meshery.io/guides/configuration-management/filter-management", - "entire_row": { - "Category": "Filters", - "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", - "Enterprise Comparison Tier": "", - "Feature": "Clone WASM filter from catalog, which allows customizing filter and use it in design", - "Free Comparison Tier": "", - "Function": "Clone WASM Filter", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "documentation": "https://docs.meshery.io/guides/configuration-management/filter-management", - "entire_row": { - "Category": "Filters", - "Documented?": "https://docs.meshery.io/guides/configuration-management/filter-management", - "Enterprise Comparison Tier": "", - "Feature": "Delete WASM filter permanently from catalog.", - "Free Comparison Tier": "", - "Function": "Delete WASM Filter", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Filters", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Import, Unpublish, Publish, Download, Edit, Clone, Delete, Details of WASM Filter", - "Free Comparison Tier": "", - "Function": "WASM Filter and filter", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Team Chat", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Message in real-time, unattached to a specific design. Control who can pariticpate in the discussion.", - "Free Comparison Tier": "", - "Function": "Message in real-time", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "Kanvas", - "Theme (also: Keychain Name)": "Collaboration" - } - }, - { - "pricing_page": "true", - "documentation": "https://docs.layer5.io/kanvas/designer/comments/", - "entire_row": { - "Category": "Design Reviews", - "Documented?": "https://docs.layer5.io/kanvas/designer/comments/", - "Enterprise Comparison Tier": "", - "Feature": "Discuss any design by leaving review comments or notes on a specific design. Control who has access, notify discussion participants with updates, and link from anywhere.", - "Free Comparison Tier": "", - "Function": "Discuss any design by leaving review comments", - "Pricing page?": "X", - "Subscription Tier": "Team", - "Tech": "Kanvas", - "Theme (also: Keychain Name)": "Collaboration" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Organization and Team Management", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Manage access to designs on a team-by-team, or individual user, basis.", - "Free Comparison Tier": "", - "Function": "Manage access to designs", - "Pricing page?": "X", - "Subscription Tier": "TeamDesigner", - "Tech": "Kanvas", - "Theme (also: Keychain Name)": "Collaboration" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Create and collaborate in online operational topologies in real-time.", - "Free Comparison Tier": "", - "Function": "Manage access to views", - "Pricing page?": "X", - "Subscription Tier": "TeamOperator", - "Tech": "Kanvas", - "Theme (also: Keychain Name)": "" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Built-in Roles", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Static - out of the box", - "Free Comparison Tier": "x", - "Function": "Built-in Roles", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Cloud", - "Theme (also: Keychain Name)": "Identity \u0026 Access Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "User-defined Roles", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Customizable roles for specific permission assignments", - "Free Comparison Tier": "x", - "Function": "User-defined Roles", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "Cloud", - "Theme (also: Keychain Name)": "Identity \u0026 Access Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Authentication: LDAP", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Access Meshery Server using your existing accounts and centrally manage repository access.", - "Free Comparison Tier": "", - "Function": "Authentication: LDAP", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "Cloud", - "Theme (also: Keychain Name)": "Identity \u0026 Access Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Authentication: SAML", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Use an identity provider to manage the identities of GitHub users and applications.", - "Free Comparison Tier": "", - "Function": "Authentication: SAML", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "Cloud", - "Theme (also: Keychain Name)": "Identity \u0026 Access Management" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/identity/users/user-management/#add-user-remove-user", - "entire_row": { - "Category": "Users", - "Documented?": "https://docs.layer5.io/cloud/identity/users/user-management/#add-user-remove-user", - "Enterprise Comparison Tier": "", - "Feature": "Delete a user account", - "Free Comparison Tier": "", - "Function": "Delete User", - "Pricing page?": "", - "Subscription Tier": "Team", - "Tech": "", - "Theme (also: Keychain Name)": "Identity \u0026 Access Management" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/identity/users/user-management/#create-user", - "entire_row": { - "Category": "Users", - "Documented?": "https://docs.layer5.io/cloud/identity/users/user-management/#create-user", - "Enterprise Comparison Tier": "", - "Feature": "Create a new user", - "Free Comparison Tier": "", - "Function": "Create User", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "", - "Theme (also: Keychain Name)": "Identity \u0026 Access Management" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/identity/teams/", - "entire_row": { - "Category": "Teams", - "Documented?": "https://docs.layer5.io/cloud/identity/teams/", - "Enterprise Comparison Tier": "", - "Feature": "Directly create a new user account within a team.", - "Free Comparison Tier": "", - "Function": "Add User to Team", - "Pricing page?": "", - "Subscription Tier": "Team", - "Tech": "Cloud", - "Theme (also: Keychain Name)": "Identity \u0026 Access Management" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/identity/organizations/", - "entire_row": { - "Category": "Organizations", - "Documented?": "https://docs.layer5.io/cloud/identity/organizations/", - "Enterprise Comparison Tier": "", - "Feature": "Establish new organization for organizing teams, users, and resource access.", - "Free Comparison Tier": "", - "Function": "Create Organization", - "Pricing page?": "", - "Subscription Tier": "Enterprise", - "Tech": "Cloud", - "Theme (also: Keychain Name)": "Identity \u0026 Access Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Dry-run", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Test and verify configuration changes in a separate environment.", - "Free Comparison Tier": "", - "Function": "Dry-run", - "Pricing page?": "X", - "Subscription Tier": "TeamOperator", - "Tech": "Server", - "Theme (also: Keychain Name)": "Lifecycle Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Multiple Kubernetes Clusters", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Ongoing synchronization of Kubernetes configuration, workloads and service mesh changes across any number of Kubernetes clusters.", - "Free Comparison Tier": "", - "Function": "Multiple Kubernetes Clusters", - "Pricing page?": "X", - "Subscription Tier": "TeamOperator", - "Tech": "Server", - "Theme (also: Keychain Name)": "Lifecycle Management" - } - }, - { - "pricing_page": "true", - "documentation": "https://docs.meshery.io/reference/mesheryctl", - "entire_row": { - "Category": "mesheryctl", - "Documented?": "https://docs.meshery.io/reference/mesheryctl", - "Enterprise Comparison Tier": "x", - "Feature": "Seamlessly manage your configurations, deployments, and interactions through our intuitive and powerful command-line interface: mesheryctl", - "Free Comparison Tier": "x", - "Function": "CLI", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Golang", - "Theme (also: Keychain Name)": "Meshery System" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/catalog/metrics/", - "entire_row": { - "Category": "Settings", - "Documented?": "https://docs.layer5.io/cloud/catalog/metrics/", - "Enterprise Comparison Tier": "", - "Feature": "View already configured metrics", - "Free Comparison Tier": "x", - "Function": "View Metrics", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Meshery System" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Service Performance", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Continuous visibility across all of your clusters and workloads.", - "Free Comparison Tier": "", - "Function": "Service Performance", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Kanvas", - "Theme (also: Keychain Name)": "Kanvas" - } - }, - { - "documentation": "https://docs.layer5.io/kanvas/concepts/relationships/#2-hierarchical-relationships", - "entire_row": { - "Category": "Design Patterns", - "Documented?": "https://docs.layer5.io/kanvas/concepts/relationships/#2-hierarchical-relationships", - "Enterprise Comparison Tier": "", - "Feature": "", - "Free Comparison Tier": "x", - "Function": "Use heirarchical relationships", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Kanvas", - "Theme (also: Keychain Name)": "Kanvas" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Design Patterns", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "This permission grants the user the ability to undo/redo any action in done in Kanvas", - "Free Comparison Tier": "x", - "Function": "Undo or Redo", - "Pricing page?": "X", - "Subscription Tier": "Team", - "Tech": "Kanvas", - "Theme (also: Keychain Name)": "Kanvas" - } - }, - { - "pricing_page": "true", - "documentation": "https://docs.layer5.io/kanvas/designer/whiteboarding/", - "entire_row": { - "Category": "Design Patterns", - "Documented?": "https://docs.layer5.io/kanvas/designer/whiteboarding/", - "Enterprise Comparison Tier": "", - "Feature": "Ability to freeform draw any shapes, draw edges", - "Free Comparison Tier": "x", - "Function": "Whiteboarding", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Kanvas", - "Theme (also: Keychain Name)": "Kanvas" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Visual Design", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Drag-n-drop cloud native infrastructure designer to configure, model, and deploy your workloads", - "Free Comparison Tier": "x", - "Function": "Visual Design", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Kanvas", - "Theme (also: Keychain Name)": "Kanvas" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Design Review", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "In-line commenting. Threaded discussions. Notifications w/user mentions. Silence notifications. Resolve and reopen comments. Comment history.", - "Free Comparison Tier": "", - "Function": "Collaborative Design Review", - "Pricing page?": "x", - "Subscription Tier": "TeamDesigner", - "Tech": "Kanvas", - "Theme (also: Keychain Name)": "Kanvas" - } - }, - { - "documentation": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/", - "entire_row": { - "Category": "Operator", - "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/", - "Enterprise Comparison Tier": "x", - "Feature": "See all views withing a workspace", - "Free Comparison Tier": "", - "Function": "View Views", - "Pricing page?": "", - "Subscription Tier": "TeamOperator", - "Tech": "Server", - "Theme (also: Keychain Name)": "Kanvas" - } - }, - { - "documentation": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#4-delete-a-view", - "entire_row": { - "Category": "Operator", - "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#4-delete-a-view", - "Enterprise Comparison Tier": "x", - "Feature": "Dissolve environment and all connection memberships. Leave associated resources intact.", - "Free Comparison Tier": "", - "Function": "Delete View", - "Pricing page?": "", - "Subscription Tier": "TeamOperator", - "Tech": "Server", - "Theme (also: Keychain Name)": "Kanvas" - } - }, - { - "documentation": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#5-export-a-view", - "entire_row": { - "Category": "Operator", - "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#5-export-a-view", - "Enterprise Comparison Tier": "x", - "Feature": "Export views to JSON format", - "Free Comparison Tier": "", - "Function": "Export views", - "Pricing page?": "", - "Subscription Tier": "TeamOperator", - "Tech": "Server", - "Theme (also: Keychain Name)": "Kanvas" - } - }, - { - "documentation": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#3-share-a-view", - "entire_row": { - "Category": "Operator", - "Documented?": "https://docs.layer5.io/kanvas/visualizer/visualizer-views/#3-share-a-view", - "Enterprise Comparison Tier": "x", - "Feature": "Share Views", - "Free Comparison Tier": "", - "Function": "Share Views", - "Pricing page?": "", - "Subscription Tier": "TeamOperator", - "Tech": "Kanvas", - "Theme (also: Keychain Name)": "Kanvas" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Operator", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Direct terminal access to one ore more pods/containers simultaneously. Integrated experience.", - "Free Comparison Tier": "", - "Function": "Web-based Terminal", - "Pricing page?": "X", - "Subscription Tier": "TeamOperator", - "Tech": "Kanvas", - "Theme (also: Keychain Name)": "Kanvas" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Operator", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Real-time resource metrics.", - "Free Comparison Tier": "", - "Function": "Standard Events and Metrics", - "Pricing page?": "X", - "Subscription Tier": "TeamOperator", - "Tech": "", - "Theme (also: Keychain Name)": "Kanvas" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Load Generation", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Single Load Generator: Support testing multiple endpoints simultaneously.", - "Free Comparison Tier": "", - "Function": "Load Generation", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Performance Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Load Generation", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Multiple Meshery Servers or Meshery Adapters generating load, collecting and coalescing results into a single report.", - "Free Comparison Tier": "", - "Function": "Distributed Load Generator", - "Pricing page?": "X", - "Subscription Tier": "Team", - "Tech": "GetNighthawk", - "Theme (also: Keychain Name)": "Performance Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Performance Profiles", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Share performance profiles and test results with individual users or teams.", - "Free Comparison Tier": "", - "Function": "Performance Profiles", - "Pricing page?": "X", - "Subscription Tier": "Team", - "Tech": "Cloud", - "Theme (also: Keychain Name)": "Performance Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Comparative Testing", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Historical views: Infrastructure-centric", - "Free Comparison Tier": "", - "Function": "Comparative Testing", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Performance Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Comparative Testing", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Detect real-time anomalies.", - "Free Comparison Tier": "", - "Function": "Comparative Testing", - "Pricing page?": "X", - "Subscription Tier": "Team", - "Tech": "Cloud", - "Theme (also: Keychain Name)": "Performance Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Continuous Quality of Service Monitoring", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Experience uninterrupted oversight of your service quality with our Continuous Quality of Service Monitoring.", - "Free Comparison Tier": "", - "Function": "Continuous Quality of Service Monitoring", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Performance Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "MeshMark", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Identify the cost of a specific network function.", - "Free Comparison Tier": "", - "Function": "MeshMark", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Performance Management" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/security/sessions/#what-sessions-are", - "entire_row": { - "Category": "Sessions", - "Documented?": "https://docs.layer5.io/cloud/security/sessions/#what-sessions-are", - "Enterprise Comparison Tier": "x", - "Feature": "", - "Free Comparison Tier": "x", - "Function": "View Sessions", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "", - "Theme (also: Keychain Name)": "Security Management" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/security/tokens/#creating-tokens", - "entire_row": { - "Category": "Tokens", - "Documented?": "https://docs.layer5.io/cloud/security/tokens/#creating-tokens", - "Enterprise Comparison Tier": "x", - "Feature": "", - "Free Comparison Tier": "", - "Function": "Create Token", - "Pricing page?": "", - "Subscription Tier": "Enterprise", - "Tech": "", - "Theme (also: Keychain Name)": "Security Management" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/security/keys/", - "entire_row": { - "Category": "Keys", - "Documented?": "https://docs.layer5.io/cloud/security/keys/", - "Enterprise Comparison Tier": "x", - "Feature": "", - "Free Comparison Tier": "", - "Function": "View Keys", - "Pricing page?": "", - "Subscription Tier": "Enterprise", - "Tech": "", - "Theme (also: Keychain Name)": "Security Management" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/spaces/workspaces/", - "entire_row": { - "Category": "Workspace", - "Documented?": "https://docs.layer5.io/cloud/spaces/workspaces/", - "Enterprise Comparison Tier": "x", - "Feature": "See all workspaces within an organization", - "Free Comparison Tier": "x", - "Function": "View Workspace", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "", - "Theme (also: Keychain Name)": "Workspace Management" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/spaces/environments/#deleting-an-environment", - "entire_row": { - "Category": "Environments", - "Documented?": "https://docs.layer5.io/cloud/spaces/environments/#deleting-an-environment", - "Enterprise Comparison Tier": "x", - "Feature": "Dissolve environment and all connection memberships. Leave associated resources intact.", - "Free Comparison Tier": "", - "Function": "Delete Environment", - "Pricing page?": "", - "Subscription Tier": "Enterprise", - "Tech": "", - "Theme (also: Keychain Name)": "Workspace Management" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/getting-started/creating-a-design-from-templete.md/", - "entire_row": { - "Category": "Catalog", - "Documented?": "https://docs.layer5.io/cloud/getting-started/creating-a-design-from-templete.md/", - "Enterprise Comparison Tier": "", - "Feature": "Clone any item from catalog", - "Free Comparison Tier": "", - "Function": "Clone Catalog Item", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "", - "Theme (also: Keychain Name)": "Catalog Management" - } - }, - { - "pricing_page": "true", - "documentation": "https://docs.layer5.io/cloud/getting-started/support/#contacting-support", - "entire_row": { - "Category": "Community Support", - "Documented?": "https://docs.layer5.io/cloud/getting-started/support/#contacting-support", - "Enterprise Comparison Tier": "", - "Feature": "Get help with most of your Meshery questions and issues in our Community Forum.", - "Free Comparison Tier": "", - "Function": "Community Support", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "", - "Theme (also: Keychain Name)": "Support and Deployment" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Standard Support", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Layer5 Support can help you troubleshoot issues you run into while using Meshery. Get support via the web.", - "Free Comparison Tier": "", - "Function": "Standard Support", - "Pricing page?": "X", - "Subscription Tier": "TeamDesigner", - "Tech": "", - "Theme (also: Keychain Name)": "Support and Deployment" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Premium and Premium Plus Support", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "With Premium, get a 30-minute SLA and 24/7 web and phone support. With Premium Plus, get everything in Premium plus your own Support Account Manager and more.", - "Free Comparison Tier": "", - "Function": "Premium and Premium Plus Support", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "", - "Theme (also: Keychain Name)": "Support and Deployment" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Self-hosted Deployment", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Self-hosted Layer5 Cloud for on-prem appliances or self-managed cloud tenants. Keep your Kanvas designs internal to your workplace. Get remote support from Layer5 when you need it.", - "Free Comparison Tier": "", - "Function": "Self-hosted Deployment", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "", - "Theme (also: Keychain Name)": "Support and Deployment" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Phone Support", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Layer5 Support can help you troubleshoot issues you run into while using Meshery. Get support via phone.", - "Free Comparison Tier": "", - "Function": "Phone Support", - "Pricing page?": "X", - "Subscription Tier": "TeamDesigner", - "Tech": "", - "Theme (also: Keychain Name)": "Support and Deployment" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Invoice Billing", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "", - "Free Comparison Tier": "", - "Function": "Pay bills via invoice, rather than using your credit card.", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "", - "Theme (also: Keychain Name)": "Support and Deployment" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Screenshots", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Capture and share visual snapshots of your work with ease using our Screenshots feature.", - "Free Comparison Tier": "", - "Function": "Screenshots", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "WASM", - "Theme (also: Keychain Name)": "Digital Experience Management" - } - }, - { - "documentation": "https://docs.layer5.io/cloud/identity/users/notification-preferences/", - "entire_row": { - "Category": "Notification Center", - "Documented?": "https://docs.layer5.io/cloud/identity/users/notification-preferences/", - "Enterprise Comparison Tier": "", - "Feature": "", - "Free Comparison Tier": "", - "Function": "Events: Reporting of asynchronous events.", - "Pricing page?": "", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Incident Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Notification Center", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Consolidate all important updates, alerts, and messages in one centralized hub, ensuring you never miss a critical communication or task.", - "Free Comparison Tier": "", - "Function": "Notification Center", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server", - "Theme (also: Keychain Name)": "Incident Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Audit Trail", - "Documented?": "", - "Enterprise Comparison Tier": "x", - "Feature": "Detailed accounting of user activity. Historical record or each action taken.", - "Free Comparison Tier": "", - "Function": "Audit Trail", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "", - "Theme (also: Keychain Name)": "Incident Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Alert Generation", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Dismiss individual; Dismiss bulk.", - "Free Comparison Tier": "", - "Function": "Alert Generation", - "Pricing page?": "X", - "Subscription Tier": "Free", - "Tech": "Server UI", - "Theme (also: Keychain Name)": "Incident Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Calendaring", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Get integration with GSuite and integration with Microsoft Outlook.", - "Free Comparison Tier": "", - "Function": "Calendaring", - "Pricing page?": "X", - "Subscription Tier": "Team", - "Tech": "Golang", - "Theme (also: Keychain Name)": "Incident Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Traffic Replay", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Visual event replay in Kanvas", - "Free Comparison Tier": "", - "Function": "Traffic Replay", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "Postgres", - "Theme (also: Keychain Name)": "Incident Management" - } - }, - { - "pricing_page": "true", - "entire_row": { - "Category": "Notification Integrations", - "Documented?": "", - "Enterprise Comparison Tier": "", - "Feature": "Access a variety of third-party applications, right from Kanvas. Send a message to Slack, identify an on-duty team to page, or raise an alarm in Datadog.", - "Free Comparison Tier": "", - "Function": "Notification Integrations", - "Pricing page?": "X", - "Subscription Tier": "Enterprise", - "Tech": "Cloud", - "Theme (also: Keychain Name)": "Incident Management" - } - } -] \ No newline at end of file