diff --git a/.github/workflows/build-and-preview-site.yml b/.github/workflows/build-and-preview-site.yml index 765a02d06a23..a1ba8eaf7f4b 100644 --- a/.github/workflows/build-and-preview-site.yml +++ b/.github/workflows/build-and-preview-site.yml @@ -20,9 +20,6 @@ jobs: npm install npm run noIndex - - name: Run Eslint - run: npm run checklint - - name: Zip Site run: bash ./script.sh diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml new file mode 100644 index 000000000000..ff9913a19db4 --- /dev/null +++ b/.github/workflows/checks.yml @@ -0,0 +1,25 @@ +name: Checks +on: + pull_request: + branches: [ master ] + types: [opened, synchronize, reopened] + + +jobs: + checks: + runs-on: ubuntu-latest + steps: + - name: Checkout 🛎️ + uses: actions/checkout@master + with: + persist-credentials: false + fetch-depth: 1 + + - name: NPM Install + run: npm install + + - name: Build + run: npm run build + + - name: Run Eslint + run: npm run checklint diff --git a/.github/workflows/meshmap.yml b/.github/workflows/meshmap.yml index ea1f3ba433c9..49dfc91cacce 100644 --- a/.github/workflows/meshmap.yml +++ b/.github/workflows/meshmap.yml @@ -32,8 +32,8 @@ jobs: run: | export pull_number=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH") echo "PULL_NO=$pull_number" >> $GITHUB_ENV - - uses: actions/checkout@v3 - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 + - uses: actions/checkout@v4 with: path: action repository: layer5labs/meshmap-snapshot @@ -41,7 +41,7 @@ jobs: uses: ${GITHUB_REF/refs/tags//} with: githubToken: ${{ secrets.GITHUB_TOKEN }} - providerToken: ${{ secrets.PROVIDER_TOKEN }} + mesheryToken: ${{ secrets.MESHERY_TOKEN }} prNumber: ${{ env.PULL_NO }} application_type: Kubernetes Manifest - filePath: ${{ inputs.fileName == '' && 'lkjh' || inputs.fileName }} + filePath: ${{ inputs.fileName == '' && '.gitpod.yml' || inputs.fileName }} diff --git a/.husky/pre-commit b/.husky/pre-commit index 36af219892fd..97d2a7b93ccb 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ #!/bin/sh . "$(dirname "$0")/_/husky.sh" -npx lint-staged +npm run checklint diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 96f3a58c74b3..5b54053833db 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,7 +12,7 @@ We are beyond excited to see that you want to contribute! We would love to accep ⚠️ Cloning this repository ⚠️ -Cloning the repo with all its history results in a ~6 GB download. If you don't need the whole history you can use the depth parameter to significantly reduce download size. +Cloning the repo with all its history results in a ~6 GB download. To contribute to this site, you don't need its entire history. Use the `--depth=1` flag to significantly reduce the footprint this repo creates in your environment. ```bash git clone --depth=1 https://github.com/layer5io/layer5.git @@ -558,6 +558,18 @@ git push -u origin **15.** Once you’ve committed and pushed all of your changes to GitHub, go to the page for your fork on GitHub, select your development branch, and click the pull request button. Please ensure that you compare your feature branch to the desired branch of the repo you are supposed to make a PR to. If you need to make any adjustments to your pull request, just push the updates to GitHub. Your pull request will automatically track the changes in your development branch and update it. +### Lint Rules + +Layer5 uses ESLint to maintain code quality and consistency in our UI code. Use this command to trigger a lint check: + +```sh +make lint +``` + +> Note: +> - Eslint in Gatsby requires generating config files from CLI. Run `gatsby build` or `gatsby develop` if you face this error during linting. + + ## Signing-off on Commits To contribute to this project, you must agree to the **Developer Certificate of diff --git a/Makefile b/Makefile index 78c65c399da0..9dbf266c3c6e 100644 --- a/Makefile +++ b/Makefile @@ -37,4 +37,8 @@ build: clean: gatsby clean && make site -.PHONY: setup build site clean site-fast \ No newline at end of file +## Run Eslint on your local machine. +lint: + npm run lint + +.PHONY: setup build site clean site-fast lint diff --git a/gatsby-node.js b/gatsby-node.js index 838d06780192..76e47087e289 100644 --- a/gatsby-node.js +++ b/gatsby-node.js @@ -266,6 +266,12 @@ exports.createPages = async ({ actions, graphql, reporter }) => { redirectInBrowser: true, isPermanent: true, }); + createRedirect({ + fromPath: "/blog/announcements/meshery-5000-star-milestone", + toPath: "/blog/announcements/mesherys-5000-star-milestone", + redirectInBrowser: true, + isPermanent: true, + }); //**** // External Resource Redirects diff --git a/package-lock.json b/package-lock.json index b3eced1076ab..308fd21be0f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -106,7 +106,6 @@ "gatsby-plugin-webpack-bundle-analyser-v2": "^1.1.30", "gh-pages": "^6.1.1", "husky": "^8.0.3", - "lint-staged": "^15.2.7", "rimraf": "^3.0.2", "webpack-cli": "^5.0.2" } @@ -7912,11 +7911,11 @@ } }, "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dependencies": { - "fill-range": "^7.1.1" + "fill-range": "^7.0.1" }, "engines": { "node": ">=8" @@ -8622,112 +8621,6 @@ "node": ">=8" } }, - "node_modules/cli-truncate": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", - "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", - "dev": true, - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dev": true, - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, "node_modules/cli-width": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", @@ -12301,9 +12194,9 @@ } }, "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -15483,18 +15376,6 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-east-asian-width": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", - "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-intrinsic": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", @@ -17966,314 +17847,6 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, - "node_modules/lint-staged": { - "version": "15.2.7", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.7.tgz", - "integrity": "sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw==", - "dev": true, - "dependencies": { - "chalk": "~5.3.0", - "commander": "~12.1.0", - "debug": "~4.3.4", - "execa": "~8.0.1", - "lilconfig": "~3.1.1", - "listr2": "~8.2.1", - "micromatch": "~4.0.7", - "pidtree": "~0.6.0", - "string-argv": "~0.3.2", - "yaml": "~2.4.2" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" - }, - "engines": { - "node": ">=18.12.0" - }, - "funding": { - "url": "https://opencollective.com/lint-staged" - } - }, - "node_modules/lint-staged/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", - "dev": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/lint-staged/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/lint-staged/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/lint-staged/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/lint-staged/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/yaml": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", - "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", - "dev": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/listr2": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.3.tgz", - "integrity": "sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw==", - "dev": true, - "dependencies": { - "cli-truncate": "^4.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.0.0", - "rfdc": "^1.4.1", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/listr2/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/listr2/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/listr2/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "node_modules/listr2/node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", - "dev": true - }, - "node_modules/listr2/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dev": true, - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/listr2/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/listr2/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/lmdb": { "version": "2.5.3", "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.5.3.tgz", @@ -18490,178 +18063,6 @@ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" }, - "node_modules/log-update": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", - "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", - "dev": true, - "dependencies": { - "ansi-escapes": "^6.2.0", - "cli-cursor": "^4.0.0", - "slice-ansi": "^7.0.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-escapes": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", - "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/node_modules/cli-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", - "dev": true, - "dependencies": { - "restore-cursor": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "node_modules/log-update/node_modules/is-fullwidth-code-point": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", - "dev": true, - "dependencies": { - "get-east-asian-width": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/restore-cursor": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", - "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dev": true, - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/longest-streak": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", @@ -19126,11 +18527,11 @@ } }, "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dependencies": { - "braces": "^3.0.3", + "braces": "^3.0.2", "picomatch": "^2.3.1" }, "engines": { @@ -20782,18 +20183,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", - "dev": true, - "bin": { - "pidtree": "bin/pidtree.js" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -23519,12 +22908,6 @@ "node": ">=0.10.0" } }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true - }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -25019,15 +24402,6 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/string-argv": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", - "dev": true, - "engines": { - "node": ">=0.6.19" - } - }, "node_modules/string-convert": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", diff --git a/package.json b/package.json index 098572f9f041..4a9a4fe87a0e 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "start": "npm run develop", "serve": "gatsby serve", "lint": "eslint --fix .", - "checklint": "eslint . --max-warnings=0", + "checklint": "eslint .", "pretest": "eslint --ignore-path .gitignore .", "preload-fonts": "gatsby-preload-fonts", "deploy": "gatsby build && gh-pages -d public -b master", @@ -110,11 +110,6 @@ "swiper": "^9.2.0", "url": "^0.11.3" }, - "lint-staged": { - "*.js": [ - "eslint --fix" - ] - }, "devDependencies": { "@babel/cli": "^7.18.10", "@babel/core": "^7.22.9", @@ -128,7 +123,6 @@ "gatsby-plugin-webpack-bundle-analyser-v2": "^1.1.30", "gh-pages": "^6.1.1", "husky": "^8.0.3", - "lint-staged": "^15.2.7", "rimraf": "^3.0.2", "webpack-cli": "^5.0.2" } diff --git a/src/assets/images/code-cleanup-crew/code-cleanup-crew.svg b/src/assets/images/code-cleanup-crew/code-cleanup-crew.svg new file mode 100644 index 000000000000..4042aef9b5b3 --- /dev/null +++ b/src/assets/images/code-cleanup-crew/code-cleanup-crew.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/continuous-contributor/continuous-contributor.svg b/src/assets/images/continuous-contributor/continuous-contributor.svg new file mode 100644 index 000000000000..0a0e019b398a --- /dev/null +++ b/src/assets/images/continuous-contributor/continuous-contributor.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/longevity-legend/longevity-legend.svg b/src/assets/images/longevity-legend/longevity-legend.svg new file mode 100644 index 000000000000..840fe0e12718 --- /dev/null +++ b/src/assets/images/longevity-legend/longevity-legend.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/meshmap-snapshot/meshmap-snapshot.svg b/src/assets/images/meshmap-snapshot/meshmap-snapshot.svg new file mode 100644 index 000000000000..694ca086fcd4 --- /dev/null +++ b/src/assets/images/meshmap-snapshot/meshmap-snapshot.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/review-rockstar/review-rockstar.svg b/src/assets/images/review-rockstar/review-rockstar.svg new file mode 100644 index 000000000000..30a054fd1f40 --- /dev/null +++ b/src/assets/images/review-rockstar/review-rockstar.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/security-sentinel/security-sentinel.png b/src/assets/images/security-sentinel/security-sentinel.png new file mode 100644 index 000000000000..77a4b7064e02 Binary files /dev/null and b/src/assets/images/security-sentinel/security-sentinel.png differ diff --git a/src/collections/blog/2024/04-26-2024-docker-compose-with-meshery/docker-compose-with-meshery.mdx b/src/collections/blog/2024/04-26-docker-compose-with-meshery/docker-compose-with-meshery.mdx similarity index 100% rename from src/collections/blog/2024/04-26-2024-docker-compose-with-meshery/docker-compose-with-meshery.mdx rename to src/collections/blog/2024/04-26-docker-compose-with-meshery/docker-compose-with-meshery.mdx diff --git a/src/collections/blog/2024/05-12-cost-of-observability/comparative-cost-of-observability-signals.png b/src/collections/blog/2024/05-12-cost-of-observability/comparative-cost-of-observability-signals.png new file mode 100644 index 000000000000..cfe5e9aef766 Binary files /dev/null and b/src/collections/blog/2024/05-12-cost-of-observability/comparative-cost-of-observability-signals.png differ diff --git a/src/collections/blog/2024/05-12-cost-of-observability/comparative-cost-of-observability-signals.svg b/src/collections/blog/2024/05-12-cost-of-observability/comparative-cost-of-observability-signals.svg new file mode 100644 index 000000000000..d5c6d66bc7db --- /dev/null +++ b/src/collections/blog/2024/05-12-cost-of-observability/comparative-cost-of-observability-signals.svg @@ -0,0 +1,1043 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/collections/blog/2024/05-12-cost-of-observability/index.mdx b/src/collections/blog/2024/05-12-cost-of-observability/index.mdx new file mode 100644 index 000000000000..55b787a7e3e1 --- /dev/null +++ b/src/collections/blog/2024/05-12-cost-of-observability/index.mdx @@ -0,0 +1,130 @@ +--- +title: The Observability Arms Race +subtitle: Logs vs. Traces – A Cost vs. Clarity Showdown +date: 2024-05-31 +author: Lee Calcote +thumbnail: ./comparative-cost-of-observability-signals.png +darkthumbnail: ./comparative-cost-of-observability-signals.png +description: "Logs vs. Traces – A Cost vs. Clarity Showdown" +type: Blog +category: Observability +tags: + - Engineering + - Observability +featured: false +published: true +--- + +import { BlogWrapper } from "../../Blog.style.js"; +import { Link } from "gatsby"; +import comparativeCost from "./comparative-cost-of-observability-signals.png"; +import Blockquote from "../../../../reusecore/Blockquote"; + + + +The world of software development is embroiled in a silent war – the Observability Arms Race. On one side, verbose logs, relics of our debugging days, threaten to devour production budgets. On the other, traces, the Sherlock Holmes of observability, offer targeted insights but come with their own complexities. + +All signals have different ways to be collected/instrumented. They also have different resource costs to obtain, store, and analyze, while providing different ways to observe the same system. Choosing between them, or all of them, is a game of trade-offs like all other tasks in engineering. In the next sections, we’ll help you make this decision by digging deeper into each signal, starting with the most popular ones: metrics, logs and traces, and then the two new possible signals: application profiles and crash dumps. + +**The Logpocalypse Looms:** + +Remember that single log statement you sprinkled in development? Imagine it bombarded with millions of hits daily in production. The cost implications are staggering. Are we clinging to outdated habits, drowning in a sea of irrelevant data? + +
+ +Log levels offer some relief, silencing the noise in production. But what if that critical error gets buried under an avalanche of info logs? Is there a risk of sacrificing valuable insights for a false sense of cost control? + +**Traces: A Targeted Approach Emerges:** + +Traces offer a compelling alternative. They map a request's journey through your system, meticulously recording events and their connections. This targeted approach inherently generates less data, making them potentially cost-effective. + +Tracing offers the ability to granularly track request segments (spans) as the request is processed across various services. It is hard to introduce later, one reason being third party libraries that are used by the application also need to be instrumented. The cost of distributed tracing can be high, and so, most service mesh tracing systems employ various forms of sampling to capture only a certain portion of the observed traces. When traces are sampled performance overhead and storage costs are reduced, but so is your visibility. The rate at which sampling is done is a balance between the frequency by which traces are captured (typically expressed as a percentage in relation to service request volume). + +**Figure: Cost vs. Value Spectrum** + + + +_Figure: a comparative spectrum of value provided by and cost of each pillar._ + +The figure above presents a visual spectrum that acknowledges that collecting telemetry in production is a compromise between cost in terms of storage and performance (CPU, memory, and request latency) overhead, and the value of information collection, typically in terms of how expressiveness it is or useful it is in solving puzzles of slow or errored responses. +It’s argued that metrics provide the highest value for the smallest investment. Given that some service meshes facilitate distributed tracing, an argument that distributed tracing provides the highest value and can be achieved at low investment (relative to the amount of insight provided). Ideally, your instrumentation allows you to dial back the verbosity levels and sampling rate to facilitate control over your overhead costs vs desired observability. + + +We won't dive into metrics as a signal in this post, but will ackowledge their use and validaty in the converation. Metrics also represent point in time observations of the state of a system. This differs from logs or traces, which focus on records or information about individual events. + +### The Power of Smart Sampling + +Not all traces are created equal. Simple sampling techniques can leave you blindsided. The key lies in dynamic/adaptive tail sampling – a detective sniffing out the real clues in a crime scene, focusing on the most valuable traces. + +**The Power of Smart Sampling with Jaeger** + +We've established that simple, "dumb" sampling techniques for traces can leave you blindsided. Imagine a scenario in Jaeger, a popular distributed tracing platform, where every trace has a 10% chance of being captured, regardless of content. Crucial errors with low occurrence might slip through the cracks. + +This is where dynamic/adaptive tail sampling, a champion feature of Jaeger, enters the scene, offering a more intelligent approach. Here's how it works within the Jaeger ecosystem: + +* **Jaeger's Collector Takes Center Stage:** As traces flow into your Jaeger collector, it doesn't make a snap decision about sampling. Instead, it analyzes key characteristics of each trace using Jaeger's robust sampling framework. This might include: + * **Span Duration:** Did a particular span within the trace take an exceptionally long time, indicating a potential bottleneck in a specific service? + * **Error Tags:** Did any spans within the trace contain error tags, suggesting something went wrong? + * **Service Names:** Was a specific service involved in the trace that's known to be error-prone based on historical data? + +* **Prioritizing the Catch:** Based on analysis, the Jaeger collector assigns a sampling probability to each trace. Traces with characteristics suggesting valuable insights (e.g., slow spans, errors) will have a higher chance of being captured. On the other hand, common, routine traces might be sampled at a lower rate. + +**The Jaeger Detective at Work:** + +Think of Jaeger's dynamic/adaptive tail sampling as a detective sifting through a crime scene. They don't blindly collect every span within every trace. Instead, they prioritize clues based on their potential significance – error tags within a span get captured with a higher probability than a normal database access span in a healthy service. + +This intelligent approach ensures you capture the valuable traces while keeping the cost under control. But even with Jaeger, there are good and bad practices to consider: + +* **Bad Practice: Sampling Everything (Jaeger YAML configuration):** + +```yaml +# This configuration captures EVERY trace, defeating the purpose of sampling. +sampler: + type: probabilistic + param: 1.0 +``` + +* **Good Practice: Prioritize Errors (Jaeger YAML configuration):** + +```yaml +# This leverages Jaeger's ability to identify traces with errors. + +sampler: + type: probabilistic + param: 0.1 # Capture 10% of normal traces + samplingStrategy: + perOperation: # Define per-operation sampling strategies + "*": 0.1 + "payment-service.processPayment": 1.0 # Capture all traces for payment-service.processPayment +``` + +**Jaeger Tracing Operator: Best Practices** + +The Jaeger Tracing Operator simplifies deploying and managing Jaeger in Kubernetes environments. Here's how to leverage it with best practices: + +1. **Install the Jaeger Operator:** Follow the official guide to install the Jaeger Operator in your Kubernetes cluster. + +2. **Define Jaeger CRDs with Sampling Strategy:** Use Custom Resource Definitions (CRDs) provided by the operator to configure your Jaeger instance. Within the CRD YAML, define the `sampler` section as shown in the good practice example above. + +3. **Tailor Sampling for Specific Services:** The Jaeger Operator allows granular control over sampling strategies. You can define specific sampling probabilities for individual services within your application landscape. + +**Beyond the Basics:** + +Jaeger's dynamic/adaptive tail sampling offers a robust configuration system. You can define custom sampling strategies based on specific service names, tags, or even regular expressions within your traces. This granular control empowers you to tailor the sampling process to your unique application landscape. + +**Jaeger: Ideal, or Not Quite?** + +Jaeger is a powerful tool for distributed tracing, but it's not a one-size-fits-all solution. Here's a quick reflection: + +* **Strengths:** Jaeger excels at cost-effective observability with its smart sampling and ease of use. +* **Considerations:** While Jaeger offers flexibility, configuration can become complex for intricate setups. Additionally, Jaeger itself requires some infrastructure overhead. + +**The Takeaway:** + +By embracing Jaeger's smart sampling techniques and leveraging the Jaeger Tracing Operator for best-practice deployments, you can move beyond the reactive "log everything" mentality and enter a new era of cost-conscious, insightful monitoring. Remember, the ideal tool depends on your specific needs. Explore your options – Jaeger might be your perfect partner, or it might be the first step on your journey to finding the ideal distributed tracing solution for you. + +**The Future of Observability Beckons:** + +The future of observability isn't about logs versus traces. It's about embracing a proactive approach. **It's time to move beyond the reactive "log everything" mentality.** By adopting smarter practices, we can create a future where observability doesn't break the bank. Let's ditch the cost-prohibitive logpocalypse and unlock the power of targeted, insightful monitoring. The choice is clear. + + \ No newline at end of file diff --git a/src/collections/blog/2024/06-21-meshery-5000-star-milestone/banner.jpeg b/src/collections/blog/2024/06-21-meshery-5000-star-milestone/banner.jpeg new file mode 100644 index 000000000000..2da763326068 Binary files /dev/null and b/src/collections/blog/2024/06-21-meshery-5000-star-milestone/banner.jpeg differ diff --git a/src/collections/blog/2024/06-21-meshery-5000-star-milestone/index.mdx b/src/collections/blog/2024/06-21-meshery-5000-star-milestone/index.mdx new file mode 100644 index 000000000000..c79de33d2127 --- /dev/null +++ b/src/collections/blog/2024/06-21-meshery-5000-star-milestone/index.mdx @@ -0,0 +1,153 @@ +--- +title: Meshery's 5,000 Star Milestone +subtitle: Meshery soars past 5,000 stars on GitHub! +date: 2024-06-20 08:00:00 -0530 +author: Sandra Ashipala +thumbnail: ./banner.jpeg +darkthumbnail: ./banner.jpeg +description: "Celebrating Meshery's 5,000 GitHub Star Milestone" +type: Blog +category: Announcements +tags: + - Announcements + - Meshery + - Layer5 +featured: true +published: true +--- + +import { BlogWrapper } from "../../Blog.style.js"; +import { Link } from "gatsby"; +import STAR from './star-meshery.png'; +import STATS from './meshery-stats.png'; +import LFX from './lfx-mentorship.png'; +import GRAPH from './star-history.png'; +import Blockquote from "../../../../reusecore/Blockquote"; +import BlockquoteAlt from "../../../../reusecore/Blockquote/Blockquote-alt-style"; + + + +## A Journey of Growth and Community + +

+ Achieving key milestones in open source reflects the combined efforts of passionate individuals and forward-thinking development. Today, we are thrilled to announce that Meshery, a leading project under the Layer5 umbrella, has reached a significant milestone: 5,000 stars 🌟 on GitHub! This achievement is more than just a number; it represents the collective efforts of our vibrant community, the dedication of our contributors, and the transformative journey that Meshery has embarked upon. +

+Five Thousand Stars on GitHub +

+ Let's take a moment to reflect on this journey, celebrate the people behind it, and look forward to the exciting future ahead. +

+ +## The Genesis of Meshery + +

+ Meshery was born out of a simple yet ambitious idea: to create an open source, cloud native management platform that simplifies and enhances the experience of managing Kubernetes environments. The vision was to build a tool that integrates seamlessly with all CNCF projects, providing users with unparalleled control over their multi-cluster Kubernetes deployments. +

+ +

+ From its inception, Meshery was designed with the user in mind. It aimed to provide a robust and intuitive interface for managing service meshes, enabling users to optimize their monitoring, CI/CD, and security solutions effortlessly. With a focus on user experience and community-driven development, Meshery quickly gained traction within the open-source community. +

+ +## Who is Meshery For? + +

+ Meshery is for everyone passionate about cloud-native technologies. Whether you're a DevOps engineer looking to streamline your Kubernetes management, a developer seeking to optimize your CI/CD pipelines, or a cloud enthusiast eager to explore the intricacies of service meshes, Meshery offers something valuable for you. +

+ +

+Our diverse community includes individuals from all walks of life—seasoned professionals, enthusiastic beginners, and everyone in between. This diversity is our strength, fostering a rich environment where ideas flourish, and innovation thrives. +

+ +## Celebrating the Community + +

+ Reaching 5,000 stars on GitHub is a testament to the incredible contributions from our community. Each star, each pull request, and each issue raised has played a part in shaping Meshery into the powerful tool it is today. +

+ +#### A Heartfelt Thank You + +

+ To our contributors, thank you for your unwavering dedication. Your code contributions, documentation improvements, bug reports, and feature requests have been instrumental in Meshery's growth. +

+ +
+ +

+ We extend our deepest gratitude to each of you. +

+ +#### Acknowledging the CNCF + +

+ We are also proud to share that Meshery is the 10th fastest-growing project within the Cloud Native Computing Foundation (CNCF) by contributor count, among over 200 projects. This recognition is a significant milestone and a validation of our vision and efforts. Meshery has been proposed for incubation within CNCF, marking another exciting chapter in our journey. +

+ +Tenth fastest growing project + +## Meshery: Leading in Open Source + +

+Meshery has garnered significant attention within the open-source community and stands out as a cornerstone program under the Linux Foundation. Its popularity stems from its ability to simplify and enhance cloud-native management, integrating seamlessly with CNCF projects for optimized Kubernetes environment management. +

+ +#### Why Meshery Stands Out + +
    +
  1. Integration and Compatibility: Meshery's seamless integration with CNCF projects ensures comprehensive management capabilities across multi-cluster Kubernetes deployments, enhancing operational efficiency and scalability.
  2. +
  3. Community-Driven Innovation: Embracing community-driven development, Meshery empowers a global network of contributors to collaborate on enhancing functionality, reliability, and user experience, fostering continuous innovation.
  4. +
  5. Educational Leadership: Meshery's educational initiatives, including workshops and webinars, cultivate industry best practices and empower users to maximize their cloud-native potential, contributing to a skilled workforce.
  6. +
  7. Prestigious Position: As the most popular Linux Foundation program, Meshery's leadership within CNCF and its widespread adoption underscore its pivotal role in advancing cloud-native technologies and standards.
  8. +
+ +LFX Mentorship + +## The Road Ahead: Inviting New Contributors + +

As we celebrate this milestone, we also recognize that this is just the beginning. The journey ahead is filled with opportunities for growth, learning, and innovation. We invite you—yes, you!—to join us in this exciting adventure.

+ +#### How to Get Started + +
    +
  1. Explore the Website: Visit the Meshery website to understand its features and capabilities. The comprehensive documentation, tutorials, and resources are great starting points.
  2. +
  3. Join the Community: Engage with fellow Meshery enthusiasts on our community forums, mailing lists, and social media channels. Join the conversations in the #meshery Slack channel, ask questions, and share your experiences.
  4. +
  5. Contribute to the Repository: There are numerous opportunities to contribute, regardless of your experience level. Start by familiarizing yourself with the CONTRIBUTING.md guidelines. Look for issues labeled "good-first-issue" or "beginner-friendly," and start small.
  6. +
  7. Attend Events: Participate in our online development meetings, and don't miss the Layer5 Newcomers' meet. Sync the community calendar to get reminders for these events.
  8. +
+ +#### Reflections on the Journey + +

+ For many, contributing to Meshery has been more than a technical endeavor; it has been a personal and professional growth journey. +

+{" "} +
+{" "} +

+ Each contribution, big or small, has been a stepping stone, enhancing technical prowess and fostering essential soft skills like communication and collaboration. +

+ +

+ +## The Journey Has Just Begun + +

As we look back on our achievements, we are filled with gratitude and excitement for the future.

+Star history +

With new features, enhancements, and community engagements on the horizon, there are endless opportunities to make a meaningful impact. We invite you to be a part of this journey. Join us in shaping the future of cloud-native management with Meshery. Together, we can achieve great things.

+ +

Thank you for your support, and happy contributing!

+ +Useful links: + + + diff --git a/src/collections/blog/2024/06-21-meshery-5000-star-milestone/lfx-mentorship.png b/src/collections/blog/2024/06-21-meshery-5000-star-milestone/lfx-mentorship.png new file mode 100644 index 000000000000..b93862e923fc Binary files /dev/null and b/src/collections/blog/2024/06-21-meshery-5000-star-milestone/lfx-mentorship.png differ diff --git a/src/collections/blog/2024/06-21-meshery-5000-star-milestone/meshery-stats.png b/src/collections/blog/2024/06-21-meshery-5000-star-milestone/meshery-stats.png new file mode 100644 index 000000000000..aa8002d08e91 Binary files /dev/null and b/src/collections/blog/2024/06-21-meshery-5000-star-milestone/meshery-stats.png differ diff --git a/src/collections/blog/2024/06-21-meshery-5000-star-milestone/star-history.png b/src/collections/blog/2024/06-21-meshery-5000-star-milestone/star-history.png new file mode 100644 index 000000000000..ed5f8e68893f Binary files /dev/null and b/src/collections/blog/2024/06-21-meshery-5000-star-milestone/star-history.png differ diff --git a/src/collections/blog/2024/06-21-meshery-5000-star-milestone/star-meshery.png b/src/collections/blog/2024/06-21-meshery-5000-star-milestone/star-meshery.png new file mode 100644 index 000000000000..19b54a365a89 Binary files /dev/null and b/src/collections/blog/2024/06-21-meshery-5000-star-milestone/star-meshery.png differ diff --git a/src/collections/integrations/_images/apisix-ingress-controller/desgin-light.jpg b/src/collections/integrations/_images/apisix-ingress-controller/desgin-light.jpg new file mode 100644 index 000000000000..cc986eebbd56 Binary files /dev/null and b/src/collections/integrations/_images/apisix-ingress-controller/desgin-light.jpg differ diff --git a/src/collections/integrations/_images/apisix-ingress-controller/design-dark.jpg b/src/collections/integrations/_images/apisix-ingress-controller/design-dark.jpg new file mode 100644 index 000000000000..9c35033b6b2c Binary files /dev/null and b/src/collections/integrations/_images/apisix-ingress-controller/design-dark.jpg differ diff --git a/src/collections/integrations/_images/apisix-ingress-controller/visualise-dark.jpg b/src/collections/integrations/_images/apisix-ingress-controller/visualise-dark.jpg new file mode 100644 index 000000000000..8bca04eed047 Binary files /dev/null and b/src/collections/integrations/_images/apisix-ingress-controller/visualise-dark.jpg differ diff --git a/src/collections/integrations/_images/apisix-ingress-controller/visualise_light.jpg b/src/collections/integrations/_images/apisix-ingress-controller/visualise_light.jpg new file mode 100644 index 000000000000..e63c7976704c Binary files /dev/null and b/src/collections/integrations/_images/apisix-ingress-controller/visualise_light.jpg differ diff --git a/src/collections/integrations/_images/awx_operator_images/design-dark.jpeg b/src/collections/integrations/_images/awx_operator_images/design-dark.jpeg new file mode 100644 index 000000000000..2ea5c238eb28 Binary files /dev/null and b/src/collections/integrations/_images/awx_operator_images/design-dark.jpeg differ diff --git a/src/collections/integrations/_images/awx_operator_images/design-light.jpeg b/src/collections/integrations/_images/awx_operator_images/design-light.jpeg new file mode 100644 index 000000000000..1c07057d06be Binary files /dev/null and b/src/collections/integrations/_images/awx_operator_images/design-light.jpeg differ diff --git a/src/collections/integrations/_images/awx_operator_images/visualise-dark.jpeg b/src/collections/integrations/_images/awx_operator_images/visualise-dark.jpeg new file mode 100644 index 000000000000..73ce4e4c8a60 Binary files /dev/null and b/src/collections/integrations/_images/awx_operator_images/visualise-dark.jpeg differ diff --git a/src/collections/integrations/_images/awx_operator_images/visualise-light.jpeg b/src/collections/integrations/_images/awx_operator_images/visualise-light.jpeg new file mode 100644 index 000000000000..d8beeee3fc3f Binary files /dev/null and b/src/collections/integrations/_images/awx_operator_images/visualise-light.jpeg differ diff --git a/src/collections/integrations/cert-manager-csi-driver-cacerts/icons/components/cluster-issuer/icons/color/cluster-issuer-color.svg b/src/collections/integrations/cert-manager-csi-driver-cacerts/icons/components/cluster-issuer/icons/color/cluster-issuer-color.svg new file mode 100644 index 000000000000..d8066a55f807 --- /dev/null +++ b/src/collections/integrations/cert-manager-csi-driver-cacerts/icons/components/cluster-issuer/icons/color/cluster-issuer-color.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/cert-manager-csi-driver-cacerts/icons/components/cluster-issuer/icons/white/cluster-issuer-white.svg b/src/collections/integrations/cert-manager-csi-driver-cacerts/icons/components/cluster-issuer/icons/white/cluster-issuer-white.svg new file mode 100644 index 000000000000..7b996996a5b5 --- /dev/null +++ b/src/collections/integrations/cert-manager-csi-driver-cacerts/icons/components/cluster-issuer/icons/white/cluster-issuer-white.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/cert-manager-csi-driver-cacerts/icons/components/issuer/icons/color/issuer-color.svg b/src/collections/integrations/cert-manager-csi-driver-cacerts/icons/components/issuer/icons/color/issuer-color.svg new file mode 100644 index 000000000000..d8066a55f807 --- /dev/null +++ b/src/collections/integrations/cert-manager-csi-driver-cacerts/icons/components/issuer/icons/color/issuer-color.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/cert-manager-csi-driver-cacerts/icons/components/issuer/icons/white/issuer-white.svg b/src/collections/integrations/cert-manager-csi-driver-cacerts/icons/components/issuer/icons/white/issuer-white.svg new file mode 100644 index 000000000000..7b996996a5b5 --- /dev/null +++ b/src/collections/integrations/cert-manager-csi-driver-cacerts/icons/components/issuer/icons/white/issuer-white.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/cert-manager-csi-driver-cacerts/index.mdx b/src/collections/integrations/cert-manager-csi-driver-cacerts/index.mdx index edc42d74a995..480d22e03032 100644 --- a/src/collections/integrations/cert-manager-csi-driver-cacerts/index.mdx +++ b/src/collections/integrations/cert-manager-csi-driver-cacerts/index.mdx @@ -14,6 +14,18 @@ components: [ "colorIcon": "icons/components/ca-provider-class/icons/color/ca-provider-class-color.svg", "whiteIcon": "icons/components/ca-provider-class/icons/white/ca-provider-class-white.svg", "description": "", +}, +{ +"name": "cluster-issuer", +"colorIcon": "icons/components/cluster-issuer/icons/color/cluster-issuer-color.svg", +"whiteIcon": "icons/components/cluster-issuer/icons/white/cluster-issuer-white.svg", +"description": "", +}, +{ +"name": "issuer", +"colorIcon": "icons/components/issuer/icons/color/issuer-color.svg", +"whiteIcon": "icons/components/issuer/icons/white/issuer-white.svg", +"description": "", }] featureList: [ "Automates CA certificate management", diff --git a/src/collections/integrations/cloud-custodian/icons/color/cloud-custodian-color.svg b/src/collections/integrations/cloud-custodian/icons/color/cloud-custodian-color.svg new file mode 100644 index 000000000000..05129029bcb1 --- /dev/null +++ b/src/collections/integrations/cloud-custodian/icons/color/cloud-custodian-color.svg @@ -0,0 +1 @@ +meshery-logo-light \ No newline at end of file diff --git a/src/collections/integrations/cloud-custodian/icons/white/cloud-custodian-white.svg b/src/collections/integrations/cloud-custodian/icons/white/cloud-custodian-white.svg new file mode 100644 index 000000000000..aa9e84b87c10 --- /dev/null +++ b/src/collections/integrations/cloud-custodian/icons/white/cloud-custodian-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/cloud-custodian/index.mdx b/src/collections/integrations/cloud-custodian/index.mdx new file mode 100644 index 000000000000..c9c48272dce5 --- /dev/null +++ b/src/collections/integrations/cloud-custodian/index.mdx @@ -0,0 +1,33 @@ +--- +title: Cloud Custodian +subtitle: Collaborative and visual infrastructure as design for Cloud Custodian +integrationIcon: icons/color/cloud-custodian-color.svg +darkModeIntegrationIcon: icons/white/cloud-custodian-white.svg +docURL: https://docs.meshery.io/extensibility/integrations/cloud custodian +description: +category: Provisioning +subcategory: Automation & Configuration +registrant: Artifact Hub +components: [] +featureList: [ + "Invite anyone to review and make changes to your private designs.", + "Provide high performance traffic serving that can scale to millions of requests per second.", + "Supports IP address targeting mode for Network Load Balancers." +] +workingSlides: [ + ../_images/meshmap-visualizer.png, + ../_images/meshmap-designer.png +] +howItWorks: "Collaborative Infrastructure as Design" +howItWorksDetails: "Elastic Load Balancing (ELB) automatically distributes incoming application traffic across multiple targets and virtual appliances in one or more Availability Zones (AZs)." +published: TRUE +--- +

+Rules engine for cloud security, cost optimization, and governance, DSL in yaml for policies to query, filter, and take actions on resources +

+

+ Collaboratively and visually diagram your cloud native infrastructure with GitOps-style pipeline integration. Design, test, and manage configuration your Kubernetes-based, containerized applications as a visual topology. +

+

+ Looking for best practice cloud native design and deployment best practices? Choose from thousands of pre-built components in MeshMap. Choose from hundreds of ready-made design patterns by importing templates from Meshery Catalog or use our low code designer, MeshMap, to create and deploy your own cloud native infrastructure designs. +

diff --git a/src/collections/integrations/kubedb-crds/icons/components/click-house-autoscaler/icons/color/click-house-autoscaler-color.svg b/src/collections/integrations/kubedb-crds/icons/components/click-house-autoscaler/icons/color/click-house-autoscaler-color.svg new file mode 100644 index 000000000000..939a5f4fb7f5 --- /dev/null +++ b/src/collections/integrations/kubedb-crds/icons/components/click-house-autoscaler/icons/color/click-house-autoscaler-color.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/kubedb-crds/icons/components/click-house-autoscaler/icons/white/click-house-autoscaler-white.svg b/src/collections/integrations/kubedb-crds/icons/components/click-house-autoscaler/icons/white/click-house-autoscaler-white.svg new file mode 100644 index 000000000000..84da7204e24e --- /dev/null +++ b/src/collections/integrations/kubedb-crds/icons/components/click-house-autoscaler/icons/white/click-house-autoscaler-white.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/kubedb-crds/icons/components/ferret-db-autoscaler/icons/color/ferret-db-autoscaler-color.svg b/src/collections/integrations/kubedb-crds/icons/components/ferret-db-autoscaler/icons/color/ferret-db-autoscaler-color.svg new file mode 100644 index 000000000000..939a5f4fb7f5 --- /dev/null +++ b/src/collections/integrations/kubedb-crds/icons/components/ferret-db-autoscaler/icons/color/ferret-db-autoscaler-color.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/kubedb-crds/icons/components/ferret-db-autoscaler/icons/white/ferret-db-autoscaler-white.svg b/src/collections/integrations/kubedb-crds/icons/components/ferret-db-autoscaler/icons/white/ferret-db-autoscaler-white.svg new file mode 100644 index 000000000000..84da7204e24e --- /dev/null +++ b/src/collections/integrations/kubedb-crds/icons/components/ferret-db-autoscaler/icons/white/ferret-db-autoscaler-white.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/kubedb-crds/icons/components/ferret-db-ops-request/icons/color/ferret-db-ops-request-color.svg b/src/collections/integrations/kubedb-crds/icons/components/ferret-db-ops-request/icons/color/ferret-db-ops-request-color.svg new file mode 100644 index 000000000000..939a5f4fb7f5 --- /dev/null +++ b/src/collections/integrations/kubedb-crds/icons/components/ferret-db-ops-request/icons/color/ferret-db-ops-request-color.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/kubedb-crds/icons/components/ferret-db-ops-request/icons/white/ferret-db-ops-request-white.svg b/src/collections/integrations/kubedb-crds/icons/components/ferret-db-ops-request/icons/white/ferret-db-ops-request-white.svg new file mode 100644 index 000000000000..84da7204e24e --- /dev/null +++ b/src/collections/integrations/kubedb-crds/icons/components/ferret-db-ops-request/icons/white/ferret-db-ops-request-white.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/kubedb-crds/icons/components/mssql-server-autoscaler/icons/color/mssql-server-autoscaler-color.svg b/src/collections/integrations/kubedb-crds/icons/components/mssql-server-autoscaler/icons/color/mssql-server-autoscaler-color.svg new file mode 100644 index 000000000000..939a5f4fb7f5 --- /dev/null +++ b/src/collections/integrations/kubedb-crds/icons/components/mssql-server-autoscaler/icons/color/mssql-server-autoscaler-color.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/kubedb-crds/icons/components/mssql-server-autoscaler/icons/white/mssql-server-autoscaler-white.svg b/src/collections/integrations/kubedb-crds/icons/components/mssql-server-autoscaler/icons/white/mssql-server-autoscaler-white.svg new file mode 100644 index 000000000000..84da7204e24e --- /dev/null +++ b/src/collections/integrations/kubedb-crds/icons/components/mssql-server-autoscaler/icons/white/mssql-server-autoscaler-white.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/kubedb-crds/icons/components/rest-proxy/icons/color/rest-proxy-color.svg b/src/collections/integrations/kubedb-crds/icons/components/rest-proxy/icons/color/rest-proxy-color.svg new file mode 100644 index 000000000000..939a5f4fb7f5 --- /dev/null +++ b/src/collections/integrations/kubedb-crds/icons/components/rest-proxy/icons/color/rest-proxy-color.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/kubedb-crds/icons/components/rest-proxy/icons/white/rest-proxy-white.svg b/src/collections/integrations/kubedb-crds/icons/components/rest-proxy/icons/white/rest-proxy-white.svg new file mode 100644 index 000000000000..84da7204e24e --- /dev/null +++ b/src/collections/integrations/kubedb-crds/icons/components/rest-proxy/icons/white/rest-proxy-white.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/kubedb-crds/icons/components/solr-autoscaler/icons/color/solr-autoscaler-color.svg b/src/collections/integrations/kubedb-crds/icons/components/solr-autoscaler/icons/color/solr-autoscaler-color.svg new file mode 100644 index 000000000000..939a5f4fb7f5 --- /dev/null +++ b/src/collections/integrations/kubedb-crds/icons/components/solr-autoscaler/icons/color/solr-autoscaler-color.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/kubedb-crds/icons/components/solr-autoscaler/icons/white/solr-autoscaler-white.svg b/src/collections/integrations/kubedb-crds/icons/components/solr-autoscaler/icons/white/solr-autoscaler-white.svg new file mode 100644 index 000000000000..84da7204e24e --- /dev/null +++ b/src/collections/integrations/kubedb-crds/icons/components/solr-autoscaler/icons/white/solr-autoscaler-white.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/kubedb-crds/icons/components/zoo-keeper-autoscaler/icons/color/zoo-keeper-autoscaler-color.svg b/src/collections/integrations/kubedb-crds/icons/components/zoo-keeper-autoscaler/icons/color/zoo-keeper-autoscaler-color.svg new file mode 100644 index 000000000000..939a5f4fb7f5 --- /dev/null +++ b/src/collections/integrations/kubedb-crds/icons/components/zoo-keeper-autoscaler/icons/color/zoo-keeper-autoscaler-color.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/kubedb-crds/icons/components/zoo-keeper-autoscaler/icons/white/zoo-keeper-autoscaler-white.svg b/src/collections/integrations/kubedb-crds/icons/components/zoo-keeper-autoscaler/icons/white/zoo-keeper-autoscaler-white.svg new file mode 100644 index 000000000000..84da7204e24e --- /dev/null +++ b/src/collections/integrations/kubedb-crds/icons/components/zoo-keeper-autoscaler/icons/white/zoo-keeper-autoscaler-white.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/collections/integrations/kubedb-crds/index.mdx b/src/collections/integrations/kubedb-crds/index.mdx index 38c9f6d63949..a719977327a1 100644 --- a/src/collections/integrations/kubedb-crds/index.mdx +++ b/src/collections/integrations/kubedb-crds/index.mdx @@ -584,6 +584,48 @@ components: [ "colorIcon": "icons/components/solr-ops-request/icons/color/solr-ops-request-color.svg", "whiteIcon": "icons/components/solr-ops-request/icons/white/solr-ops-request-white.svg", "description": "", +}, +{ +"name": "click-house-autoscaler", +"colorIcon": "icons/components/click-house-autoscaler/icons/color/click-house-autoscaler-color.svg", +"whiteIcon": "icons/components/click-house-autoscaler/icons/white/click-house-autoscaler-white.svg", +"description": "", +}, +{ +"name": "ferret-db-autoscaler", +"colorIcon": "icons/components/ferret-db-autoscaler/icons/color/ferret-db-autoscaler-color.svg", +"whiteIcon": "icons/components/ferret-db-autoscaler/icons/white/ferret-db-autoscaler-white.svg", +"description": "", +}, +{ +"name": "mssql-server-autoscaler", +"colorIcon": "icons/components/mssql-server-autoscaler/icons/color/mssql-server-autoscaler-color.svg", +"whiteIcon": "icons/components/mssql-server-autoscaler/icons/white/mssql-server-autoscaler-white.svg", +"description": "", +}, +{ +"name": "solr-autoscaler", +"colorIcon": "icons/components/solr-autoscaler/icons/color/solr-autoscaler-color.svg", +"whiteIcon": "icons/components/solr-autoscaler/icons/white/solr-autoscaler-white.svg", +"description": "", +}, +{ +"name": "zoo-keeper-autoscaler", +"colorIcon": "icons/components/zoo-keeper-autoscaler/icons/color/zoo-keeper-autoscaler-color.svg", +"whiteIcon": "icons/components/zoo-keeper-autoscaler/icons/white/zoo-keeper-autoscaler-white.svg", +"description": "", +}, +{ +"name": "rest-proxy", +"colorIcon": "icons/components/rest-proxy/icons/color/rest-proxy-color.svg", +"whiteIcon": "icons/components/rest-proxy/icons/white/rest-proxy-white.svg", +"description": "", +}, +{ +"name": "ferret-db-ops-request", +"colorIcon": "icons/components/ferret-db-ops-request/icons/color/ferret-db-ops-request-color.svg", +"whiteIcon": "icons/components/ferret-db-ops-request/icons/white/ferret-db-ops-request-white.svg", +"description": "", }] featureList: [ "KubeDB simplifies many of the difficult or tedious management tasks of running a production grade databases on private and public clouds. Maintain one stack for all your stateless and stateful applications and simplify the operational complexity.", diff --git a/src/collections/integrations/kubegems-edge/icons/color/kubegems-edge-color.svg b/src/collections/integrations/kubegems-edge/icons/color/kubegems-edge-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems-edge/icons/color/kubegems-edge-color.svg +++ b/src/collections/integrations/kubegems-edge/icons/color/kubegems-edge-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-edge/icons/components/edge-cluster/icons/color/edge-cluster-color.svg b/src/collections/integrations/kubegems-edge/icons/components/edge-cluster/icons/color/edge-cluster-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems-edge/icons/components/edge-cluster/icons/color/edge-cluster-color.svg +++ b/src/collections/integrations/kubegems-edge/icons/components/edge-cluster/icons/color/edge-cluster-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-edge/icons/components/edge-cluster/icons/white/edge-cluster-white.svg b/src/collections/integrations/kubegems-edge/icons/components/edge-cluster/icons/white/edge-cluster-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems-edge/icons/components/edge-cluster/icons/white/edge-cluster-white.svg +++ b/src/collections/integrations/kubegems-edge/icons/components/edge-cluster/icons/white/edge-cluster-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-edge/icons/components/edge-hub/icons/color/edge-hub-color.svg b/src/collections/integrations/kubegems-edge/icons/components/edge-hub/icons/color/edge-hub-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems-edge/icons/components/edge-hub/icons/color/edge-hub-color.svg +++ b/src/collections/integrations/kubegems-edge/icons/components/edge-hub/icons/color/edge-hub-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-edge/icons/components/edge-hub/icons/white/edge-hub-white.svg b/src/collections/integrations/kubegems-edge/icons/components/edge-hub/icons/white/edge-hub-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems-edge/icons/components/edge-hub/icons/white/edge-hub-white.svg +++ b/src/collections/integrations/kubegems-edge/icons/components/edge-hub/icons/white/edge-hub-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-edge/icons/components/edge-task/icons/color/edge-task-color.svg b/src/collections/integrations/kubegems-edge/icons/components/edge-task/icons/color/edge-task-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems-edge/icons/components/edge-task/icons/color/edge-task-color.svg +++ b/src/collections/integrations/kubegems-edge/icons/components/edge-task/icons/color/edge-task-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-edge/icons/components/edge-task/icons/white/edge-task-white.svg b/src/collections/integrations/kubegems-edge/icons/components/edge-task/icons/white/edge-task-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems-edge/icons/components/edge-task/icons/white/edge-task-white.svg +++ b/src/collections/integrations/kubegems-edge/icons/components/edge-task/icons/white/edge-task-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-edge/icons/white/kubegems-edge-white.svg b/src/collections/integrations/kubegems-edge/icons/white/kubegems-edge-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems-edge/icons/white/kubegems-edge-white.svg +++ b/src/collections/integrations/kubegems-edge/icons/white/kubegems-edge-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-installer/icons/color/kubegems-installer-color.svg b/src/collections/integrations/kubegems-installer/icons/color/kubegems-installer-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems-installer/icons/color/kubegems-installer-color.svg +++ b/src/collections/integrations/kubegems-installer/icons/color/kubegems-installer-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-installer/icons/components/plugin/icons/color/plugin-color.svg b/src/collections/integrations/kubegems-installer/icons/components/plugin/icons/color/plugin-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems-installer/icons/components/plugin/icons/color/plugin-color.svg +++ b/src/collections/integrations/kubegems-installer/icons/components/plugin/icons/color/plugin-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-installer/icons/components/plugin/icons/white/plugin-white.svg b/src/collections/integrations/kubegems-installer/icons/components/plugin/icons/white/plugin-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems-installer/icons/components/plugin/icons/white/plugin-white.svg +++ b/src/collections/integrations/kubegems-installer/icons/components/plugin/icons/white/plugin-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-installer/icons/white/kubegems-installer-white.svg b/src/collections/integrations/kubegems-installer/icons/white/kubegems-installer-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems-installer/icons/white/kubegems-installer-white.svg +++ b/src/collections/integrations/kubegems-installer/icons/white/kubegems-installer-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-local/icons/color/kubegems-local-color.svg b/src/collections/integrations/kubegems-local/icons/color/kubegems-local-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems-local/icons/color/kubegems-local-color.svg +++ b/src/collections/integrations/kubegems-local/icons/color/kubegems-local-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-local/icons/components/environment/icons/color/environment-color.svg b/src/collections/integrations/kubegems-local/icons/components/environment/icons/color/environment-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems-local/icons/components/environment/icons/color/environment-color.svg +++ b/src/collections/integrations/kubegems-local/icons/components/environment/icons/color/environment-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-local/icons/components/environment/icons/white/environment-white.svg b/src/collections/integrations/kubegems-local/icons/components/environment/icons/white/environment-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems-local/icons/components/environment/icons/white/environment-white.svg +++ b/src/collections/integrations/kubegems-local/icons/components/environment/icons/white/environment-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-local/icons/components/tenant-gateway/icons/color/tenant-gateway-color.svg b/src/collections/integrations/kubegems-local/icons/components/tenant-gateway/icons/color/tenant-gateway-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems-local/icons/components/tenant-gateway/icons/color/tenant-gateway-color.svg +++ b/src/collections/integrations/kubegems-local/icons/components/tenant-gateway/icons/color/tenant-gateway-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-local/icons/components/tenant-gateway/icons/white/tenant-gateway-white.svg b/src/collections/integrations/kubegems-local/icons/components/tenant-gateway/icons/white/tenant-gateway-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems-local/icons/components/tenant-gateway/icons/white/tenant-gateway-white.svg +++ b/src/collections/integrations/kubegems-local/icons/components/tenant-gateway/icons/white/tenant-gateway-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-local/icons/components/tenant-network-policy/icons/color/tenant-network-policy-color.svg b/src/collections/integrations/kubegems-local/icons/components/tenant-network-policy/icons/color/tenant-network-policy-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems-local/icons/components/tenant-network-policy/icons/color/tenant-network-policy-color.svg +++ b/src/collections/integrations/kubegems-local/icons/components/tenant-network-policy/icons/color/tenant-network-policy-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-local/icons/components/tenant-network-policy/icons/white/tenant-network-policy-white.svg b/src/collections/integrations/kubegems-local/icons/components/tenant-network-policy/icons/white/tenant-network-policy-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems-local/icons/components/tenant-network-policy/icons/white/tenant-network-policy-white.svg +++ b/src/collections/integrations/kubegems-local/icons/components/tenant-network-policy/icons/white/tenant-network-policy-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-local/icons/components/tenant-resource-quota/icons/color/tenant-resource-quota-color.svg b/src/collections/integrations/kubegems-local/icons/components/tenant-resource-quota/icons/color/tenant-resource-quota-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems-local/icons/components/tenant-resource-quota/icons/color/tenant-resource-quota-color.svg +++ b/src/collections/integrations/kubegems-local/icons/components/tenant-resource-quota/icons/color/tenant-resource-quota-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-local/icons/components/tenant-resource-quota/icons/white/tenant-resource-quota-white.svg b/src/collections/integrations/kubegems-local/icons/components/tenant-resource-quota/icons/white/tenant-resource-quota-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems-local/icons/components/tenant-resource-quota/icons/white/tenant-resource-quota-white.svg +++ b/src/collections/integrations/kubegems-local/icons/components/tenant-resource-quota/icons/white/tenant-resource-quota-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-local/icons/components/tenant/icons/color/tenant-color.svg b/src/collections/integrations/kubegems-local/icons/components/tenant/icons/color/tenant-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems-local/icons/components/tenant/icons/color/tenant-color.svg +++ b/src/collections/integrations/kubegems-local/icons/components/tenant/icons/color/tenant-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-local/icons/components/tenant/icons/white/tenant-white.svg b/src/collections/integrations/kubegems-local/icons/components/tenant/icons/white/tenant-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems-local/icons/components/tenant/icons/white/tenant-white.svg +++ b/src/collections/integrations/kubegems-local/icons/components/tenant/icons/white/tenant-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-local/icons/white/kubegems-local-white.svg b/src/collections/integrations/kubegems-local/icons/white/kubegems-local-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems-local/icons/white/kubegems-local-white.svg +++ b/src/collections/integrations/kubegems-local/icons/white/kubegems-local-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-models/icons/color/kubegems-models-color.svg b/src/collections/integrations/kubegems-models/icons/color/kubegems-models-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems-models/icons/color/kubegems-models-color.svg +++ b/src/collections/integrations/kubegems-models/icons/color/kubegems-models-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-models/icons/components/model-deployment/icons/color/model-deployment-color.svg b/src/collections/integrations/kubegems-models/icons/components/model-deployment/icons/color/model-deployment-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems-models/icons/components/model-deployment/icons/color/model-deployment-color.svg +++ b/src/collections/integrations/kubegems-models/icons/components/model-deployment/icons/color/model-deployment-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-models/icons/components/model-deployment/icons/white/model-deployment-white.svg b/src/collections/integrations/kubegems-models/icons/components/model-deployment/icons/white/model-deployment-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems-models/icons/components/model-deployment/icons/white/model-deployment-white.svg +++ b/src/collections/integrations/kubegems-models/icons/components/model-deployment/icons/white/model-deployment-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems-models/icons/white/kubegems-models-white.svg b/src/collections/integrations/kubegems-models/icons/white/kubegems-models-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems-models/icons/white/kubegems-models-white.svg +++ b/src/collections/integrations/kubegems-models/icons/white/kubegems-models-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems/icons/color/kubegems-color.svg b/src/collections/integrations/kubegems/icons/color/kubegems-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems/icons/color/kubegems-color.svg +++ b/src/collections/integrations/kubegems/icons/color/kubegems-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems/icons/components/app-project/icons/color/app-project-color.svg b/src/collections/integrations/kubegems/icons/components/app-project/icons/color/app-project-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems/icons/components/app-project/icons/color/app-project-color.svg +++ b/src/collections/integrations/kubegems/icons/components/app-project/icons/color/app-project-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems/icons/components/app-project/icons/white/app-project-white.svg b/src/collections/integrations/kubegems/icons/components/app-project/icons/white/app-project-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems/icons/components/app-project/icons/white/app-project-white.svg +++ b/src/collections/integrations/kubegems/icons/components/app-project/icons/white/app-project-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems/icons/components/application-set/icons/color/application-set-color.svg b/src/collections/integrations/kubegems/icons/components/application-set/icons/color/application-set-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems/icons/components/application-set/icons/color/application-set-color.svg +++ b/src/collections/integrations/kubegems/icons/components/application-set/icons/color/application-set-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems/icons/components/application-set/icons/white/application-set-white.svg b/src/collections/integrations/kubegems/icons/components/application-set/icons/white/application-set-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems/icons/components/application-set/icons/white/application-set-white.svg +++ b/src/collections/integrations/kubegems/icons/components/application-set/icons/white/application-set-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems/icons/components/application/icons/color/application-color.svg b/src/collections/integrations/kubegems/icons/components/application/icons/color/application-color.svg index 4cac54fa3342..e8d05d7863ac 100644 --- a/src/collections/integrations/kubegems/icons/components/application/icons/color/application-color.svg +++ b/src/collections/integrations/kubegems/icons/components/application/icons/color/application-color.svg @@ -1,9 +1 @@ - - - - - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems/icons/components/application/icons/white/application-white.svg b/src/collections/integrations/kubegems/icons/components/application/icons/white/application-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems/icons/components/application/icons/white/application-white.svg +++ b/src/collections/integrations/kubegems/icons/components/application/icons/white/application-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/kubegems/icons/white/kubegems-white.svg b/src/collections/integrations/kubegems/icons/white/kubegems-white.svg index e04d6a1b0e3f..255edb434398 100644 --- a/src/collections/integrations/kubegems/icons/white/kubegems-white.svg +++ b/src/collections/integrations/kubegems/icons/white/kubegems-white.svg @@ -1,5 +1 @@ - - - - \ No newline at end of file diff --git a/src/collections/integrations/vault-secrets/icons/components/vault-auth-global/icons/color/vault-auth-global-color.svg b/src/collections/integrations/vault-secrets/icons/components/vault-auth-global/icons/color/vault-auth-global-color.svg new file mode 100644 index 000000000000..c14413fca1d8 --- /dev/null +++ b/src/collections/integrations/vault-secrets/icons/components/vault-auth-global/icons/color/vault-auth-global-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vault-secrets/icons/components/vault-auth-global/icons/white/vault-auth-global-white.svg b/src/collections/integrations/vault-secrets/icons/components/vault-auth-global/icons/white/vault-auth-global-white.svg new file mode 100644 index 000000000000..1646a73adf05 --- /dev/null +++ b/src/collections/integrations/vault-secrets/icons/components/vault-auth-global/icons/white/vault-auth-global-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vault-secrets/index.mdx b/src/collections/integrations/vault-secrets/index.mdx index 0fbcaa64aea9..4ce3c8b3ef61 100644 --- a/src/collections/integrations/vault-secrets/index.mdx +++ b/src/collections/integrations/vault-secrets/index.mdx @@ -56,6 +56,18 @@ components: [ "colorIcon": "icons/components/vault-static-secret/icons/color/vault-static-secret-color.svg", "whiteIcon": "icons/components/vault-static-secret/icons/white/vault-static-secret-white.svg", "description": "", +}, +{ +"name": "vault-auth-global", +"colorIcon": "icons/components/vault-auth-global/icons/color/vault-auth-global-color.svg", +"whiteIcon": "icons/components/vault-auth-global/icons/white/vault-auth-global-white.svg", +"description": "", +}, +{ +"name": "vault-auth-global", +"colorIcon": "icons/components/vault-auth-global/icons/color/vault-auth-global-color.svg", +"whiteIcon": "icons/components/vault-auth-global/icons/white/vault-auth-global-white.svg", +"description": "", }] featureList: [ "Automates secret syncing from Vault", diff --git a/src/collections/integrations/vitess/icons/components/etcd-lockserver/icons/color/etcd-lockserver-color.svg b/src/collections/integrations/vitess/icons/components/etcd-lockserver/icons/color/etcd-lockserver-color.svg new file mode 100644 index 000000000000..553e69b30ad5 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/etcd-lockserver/icons/color/etcd-lockserver-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/etcd-lockserver/icons/white/etcd-lockserver-white.svg b/src/collections/integrations/vitess/icons/components/etcd-lockserver/icons/white/etcd-lockserver-white.svg new file mode 100644 index 000000000000..29944e7034a7 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/etcd-lockserver/icons/white/etcd-lockserver-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/vitess-backup-schedule/icons/color/vitess-backup-schedule-color.svg b/src/collections/integrations/vitess/icons/components/vitess-backup-schedule/icons/color/vitess-backup-schedule-color.svg new file mode 100644 index 000000000000..553e69b30ad5 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/vitess-backup-schedule/icons/color/vitess-backup-schedule-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/vitess-backup-schedule/icons/white/vitess-backup-schedule-white.svg b/src/collections/integrations/vitess/icons/components/vitess-backup-schedule/icons/white/vitess-backup-schedule-white.svg new file mode 100644 index 000000000000..29944e7034a7 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/vitess-backup-schedule/icons/white/vitess-backup-schedule-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/vitess-backup-storage/icons/color/vitess-backup-storage-color.svg b/src/collections/integrations/vitess/icons/components/vitess-backup-storage/icons/color/vitess-backup-storage-color.svg new file mode 100644 index 000000000000..553e69b30ad5 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/vitess-backup-storage/icons/color/vitess-backup-storage-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/vitess-backup-storage/icons/white/vitess-backup-storage-white.svg b/src/collections/integrations/vitess/icons/components/vitess-backup-storage/icons/white/vitess-backup-storage-white.svg new file mode 100644 index 000000000000..29944e7034a7 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/vitess-backup-storage/icons/white/vitess-backup-storage-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/vitess-backup/icons/color/vitess-backup-color.svg b/src/collections/integrations/vitess/icons/components/vitess-backup/icons/color/vitess-backup-color.svg new file mode 100644 index 000000000000..553e69b30ad5 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/vitess-backup/icons/color/vitess-backup-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/vitess-backup/icons/white/vitess-backup-white.svg b/src/collections/integrations/vitess/icons/components/vitess-backup/icons/white/vitess-backup-white.svg new file mode 100644 index 000000000000..29944e7034a7 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/vitess-backup/icons/white/vitess-backup-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/vitess-cell/icons/color/vitess-cell-color.svg b/src/collections/integrations/vitess/icons/components/vitess-cell/icons/color/vitess-cell-color.svg new file mode 100644 index 000000000000..553e69b30ad5 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/vitess-cell/icons/color/vitess-cell-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/vitess-cell/icons/white/vitess-cell-white.svg b/src/collections/integrations/vitess/icons/components/vitess-cell/icons/white/vitess-cell-white.svg new file mode 100644 index 000000000000..29944e7034a7 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/vitess-cell/icons/white/vitess-cell-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/vitess-cluster/icons/color/vitess-cluster-color.svg b/src/collections/integrations/vitess/icons/components/vitess-cluster/icons/color/vitess-cluster-color.svg new file mode 100644 index 000000000000..553e69b30ad5 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/vitess-cluster/icons/color/vitess-cluster-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/vitess-cluster/icons/white/vitess-cluster-white.svg b/src/collections/integrations/vitess/icons/components/vitess-cluster/icons/white/vitess-cluster-white.svg new file mode 100644 index 000000000000..29944e7034a7 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/vitess-cluster/icons/white/vitess-cluster-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/vitess-keyspace/icons/color/vitess-keyspace-color.svg b/src/collections/integrations/vitess/icons/components/vitess-keyspace/icons/color/vitess-keyspace-color.svg new file mode 100644 index 000000000000..553e69b30ad5 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/vitess-keyspace/icons/color/vitess-keyspace-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/vitess-keyspace/icons/white/vitess-keyspace-white.svg b/src/collections/integrations/vitess/icons/components/vitess-keyspace/icons/white/vitess-keyspace-white.svg new file mode 100644 index 000000000000..29944e7034a7 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/vitess-keyspace/icons/white/vitess-keyspace-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/vitess-shard/icons/color/vitess-shard-color.svg b/src/collections/integrations/vitess/icons/components/vitess-shard/icons/color/vitess-shard-color.svg new file mode 100644 index 000000000000..553e69b30ad5 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/vitess-shard/icons/color/vitess-shard-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/icons/components/vitess-shard/icons/white/vitess-shard-white.svg b/src/collections/integrations/vitess/icons/components/vitess-shard/icons/white/vitess-shard-white.svg new file mode 100644 index 000000000000..29944e7034a7 --- /dev/null +++ b/src/collections/integrations/vitess/icons/components/vitess-shard/icons/white/vitess-shard-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/collections/integrations/vitess/index.mdx b/src/collections/integrations/vitess/index.mdx index d6a27effdfc8..3d39f37e0814 100644 --- a/src/collections/integrations/vitess/index.mdx +++ b/src/collections/integrations/vitess/index.mdx @@ -7,8 +7,56 @@ docURL: https://docs.meshery.io/extensibility/integrations/vitess description: category: App Definition and Development subcategory: Database -registrant: Artifact Hub -components: [] +registrant: GitHub +components: [ +{ +"name": "etcd-lockserver", +"colorIcon": "icons/components/etcd-lockserver/icons/color/etcd-lockserver-color.svg", +"whiteIcon": "icons/components/etcd-lockserver/icons/white/etcd-lockserver-white.svg", +"description": "", +}, +{ +"name": "vitess-backup", +"colorIcon": "icons/components/vitess-backup/icons/color/vitess-backup-color.svg", +"whiteIcon": "icons/components/vitess-backup/icons/white/vitess-backup-white.svg", +"description": "", +}, +{ +"name": "vitess-backup-schedule", +"colorIcon": "icons/components/vitess-backup-schedule/icons/color/vitess-backup-schedule-color.svg", +"whiteIcon": "icons/components/vitess-backup-schedule/icons/white/vitess-backup-schedule-white.svg", +"description": "", +}, +{ +"name": "vitess-backup-storage", +"colorIcon": "icons/components/vitess-backup-storage/icons/color/vitess-backup-storage-color.svg", +"whiteIcon": "icons/components/vitess-backup-storage/icons/white/vitess-backup-storage-white.svg", +"description": "", +}, +{ +"name": "vitess-cell", +"colorIcon": "icons/components/vitess-cell/icons/color/vitess-cell-color.svg", +"whiteIcon": "icons/components/vitess-cell/icons/white/vitess-cell-white.svg", +"description": "", +}, +{ +"name": "vitess-cluster", +"colorIcon": "icons/components/vitess-cluster/icons/color/vitess-cluster-color.svg", +"whiteIcon": "icons/components/vitess-cluster/icons/white/vitess-cluster-white.svg", +"description": "", +}, +{ +"name": "vitess-keyspace", +"colorIcon": "icons/components/vitess-keyspace/icons/color/vitess-keyspace-color.svg", +"whiteIcon": "icons/components/vitess-keyspace/icons/white/vitess-keyspace-white.svg", +"description": "", +}, +{ +"name": "vitess-shard", +"colorIcon": "icons/components/vitess-shard/icons/color/vitess-shard-color.svg", +"whiteIcon": "icons/components/vitess-shard/icons/white/vitess-shard-white.svg", +"description": "", +}] featureList: [ "Drag-n-drop cloud native infrastructure designer to configure, model, and deploy your workloads.", "Invite anyone to review and make changes to your private designs.", diff --git a/src/collections/members/Hargun-Kaur/hargun-kaur.webp b/src/collections/members/Hargun-Kaur/hargun-kaur.webp new file mode 100644 index 000000000000..cb57178fee13 Binary files /dev/null and b/src/collections/members/Hargun-Kaur/hargun-kaur.webp differ diff --git a/src/collections/members/Hargun-Kaur/index.mdx b/src/collections/members/Hargun-Kaur/index.mdx new file mode 100644 index 000000000000..10c5b31e1534 --- /dev/null +++ b/src/collections/members/Hargun-Kaur/index.mdx @@ -0,0 +1,13 @@ +--- +name: Hargun Kaur +position: Contributor +image_path: ./hargun-kaur.webp +github: hargunkaur286 +twitter: hargunkaur286 +linkedin: hargun-kaur-0b5b8a242 +layer5: 2d7df104-da82-4618-a8be-7bf9e03dc86c +location: New Delhi , India +bio: "Hargun Kaur is a final year student in Bachelor of Technology pursuing Artificial Intelligence and Machine Learning." +status: Active +published: true +--- \ No newline at end of file diff --git a/src/collections/members/Muhammad-Moinuddin/Muhammad-Moinuddin.webp b/src/collections/members/Muhammad-Moinuddin/Muhammad-Moinuddin.webp new file mode 100644 index 000000000000..d52ae698d49e Binary files /dev/null and b/src/collections/members/Muhammad-Moinuddin/Muhammad-Moinuddin.webp differ diff --git a/src/collections/members/Muhammad-Moinuddin/index.mdx b/src/collections/members/Muhammad-Moinuddin/index.mdx new file mode 100644 index 000000000000..71c95517796d --- /dev/null +++ b/src/collections/members/Muhammad-Moinuddin/index.mdx @@ -0,0 +1,15 @@ +--- +name: Muhammad Moinuddin +position: Contributor +image_path: ./Muhammad-Moinuddin.webp +github: Muhammed-Moinuddin +twitter: "" +linkedin: muhammad-moinuddin-software-developer +layer5: dce018e4-dde0-4937-931f-b62de3fd5d42 +location: Karachi, Pakistan +bio: | + Software Engineer - Computer Science - UoK. + Passionate about web apps, cloud native and open source, eager to learn and innovate. +status: Active +published: true +--- \ No newline at end of file diff --git a/src/collections/members/aaditya-narayan-subedy/index.mdx b/src/collections/members/aaditya-narayan-subedy/index.mdx index 3e3e8f3818f0..ddb11b4bd1d1 100644 --- a/src/collections/members/aaditya-narayan-subedy/index.mdx +++ b/src/collections/members/aaditya-narayan-subedy/index.mdx @@ -14,6 +14,6 @@ badges: - docs - smp - meshery-catalog -status: Active +status: Inactive published: true ---- \ No newline at end of file +--- diff --git a/src/collections/members/suraj-jadhav/index.mdx b/src/collections/members/suraj-jadhav/index.mdx index 470b78e18ff0..41a4da99b8f5 100644 --- a/src/collections/members/suraj-jadhav/index.mdx +++ b/src/collections/members/suraj-jadhav/index.mdx @@ -8,6 +8,6 @@ linkedin: suraj-g-jadhav layer5: dabb4156-08df-474b-b43a-36b39725f165 location: India bio: Suraj is a full-stack developer specialized in React, JavaScript, TypeScript, and Node.js. He is passionate about crafting innovative solutions and thrives in dynamic environments where he can contribute to the development of cutting-edge features with a focus on reliability and efficiency. Suraj also enjoys contributing to open source projects, which allows him to give back to the community while honing his skills. -status: Active +status: Inactive published: true ---- \ No newline at end of file +--- diff --git a/src/collections/programs/lfx-2024/lfx-2024.mdx b/src/collections/programs/lfx-2024/lfx-2024.mdx index 236202a690cc..45b71c8a41eb 100644 --- a/src/collections/programs/lfx-2024/lfx-2024.mdx +++ b/src/collections/programs/lfx-2024/lfx-2024.mdx @@ -185,6 +185,7 @@ Integrate Nighthawk testing with existing CI/CD pipelines for automated performa ### Service Mesh Performance
+ #### Service Mesh Performance: Convergence of Network and Graph topologies - Description: Opens the door to leveraging algorithms in the areas of Centrality, Community Detection, Pathfinding, Topological Link Prediction, etc. Bringing to bear advances made in Machine Learning / AI / recommendation systems, fraud detection could really help to derive meaning and comprehension for future tools. Another example is how ML + graph approaches are used to find and determine the optimal molecular structure of atoms such that desired physical properties are targeted. This approach could be applied to the problem of workload sizing and estimation for service mesh operators and would-be adopters. @@ -233,6 +234,87 @@ Understand that your challenges will be promoted through CNCF channels, reviewed - LFX URL: https://mentorship.lfx.linuxfoundation.org/project/1a620529-f2be-4a6f-8b4d-0562731cb840 +## LFX Mentorship 2024 Fall Projects +
+ +### CNCF TAG Network +
+ +#### Interrelating Kubernetes Resources: Identifying relationships between all standard and custom resources +- Description: The OpenAPI specifications for Kubernetes provides taxonomy, but augmenting a graph data model with formalized ontologies enables any number of capabilities, one of the more straightforward is the inferencing requisite for natural language processing, and consequently, a human-centric query / response interaction becomes becomes possible. More importantly, more advanced systems can be built when a graph data model of connected systems is upgraded to be a knowledge semantic graph. +- Expected Outcome: + - YAML-formatted definition of one or more relationships per Kubernetes resource. + - Documentation of each relationship - per component. + - Development of new types of genealogies - new types of ways in which resources relate to one another and how these relationships might be visualized. + - Verification of functional relationships + +- Recommended Skills: DevOps, Kubernetes Administration, Light familiarity with all of the CNCF projects and a desire to study each project and their operators/resources. +- Mentor(s): Uzair Shaikh, Lee Calcote +- Upstream Issue: https://github.com/cncf/tag-network/issues/43 + +#### CNCF Challenges: Technical Content Creation +- Description: On a periodic basis, the CNCF would like to present a public challenge to those that are interested in participating (e.g. “Challenge: Distributed Tracing with Jaeger”). + +Your mission in this internship is technical content creation of said challenges through use of markdown, Meshery, and any number of other CNCF projects. Challenges will be created using the Meshery Playground and published (in what is potentially the CNCF Hub). They will be similar too, but slightly different from these [example tutorials](https://docs.meshery.io/guides/tutorials/). + +Understand that your challenges will be promoted through CNCF channels, reviewed by various project maintainers, and that each challenger (participant) will receive a certain number of points, depending upon whether or not they successfully complete the challenges that you create and in what timeframe they complete those challenges (the faster, the more points). Your challenges will need to vary in level of difficulty. + +- Expected Outcome: + - 5+ new challenges published + - Challenges can contain more than one objective. Points are earned for each objective completed. + - Bonus: Extend one or more of Meshery’s Learning Paths. + +- Recommended Skills: written English, Kubernetes, DevOps, and familiarity with any number of other CNCF projects, like Prometheus, CoreDNS, Istio, Jaeger, Helm, Harbor, OPA, Rook, SPIFEE, Flux, Argo, Flux, Falco, etc., Jekyll, strong organizational skills +- Mentor(s): Lee Calcote, Nic Jackson +- Upstream Issue: https://github.com/cncf/tag-network/issues/44 + +### Meshery +
+ +#### Meshery: End-to-End Testing with Playwright (Round 2) + +- Description: Meshery integrates with many other CNCF projects and technologies. Sustaining those integrations is only possible through automation. End-to-end testing with Playwright, GitHub Workflows, and self-documenting test reports is the means to the end of maintaining a healthy state of each of these [Meshery integrations](https://meshery.io/integrations). +- Expected Outcome: + - Successful migration of E2E tests from Cypress to the Playwright test library within the Meshery project. + - Implementation of robust and reliable test cases using Playwright to cover a wide range of Meshery's E2E scenarios. + - Documentation detailing the migration process, and guidelines for future contributions to maintain test quality. + - Integration of Playwright test suite into the Meshery CI/CD pipeline to ensure continuous testing and reliability of the platform. +- Recommended Skills: JavaScript, Playwright, GitHub Workflows, Jekyll, Markdown, familiarity with React or Nextjs would be helpful, CI/CD + +- Mentor(s): Aabid Sofi, Lee Calcote +- Upstream Issue: https://github.com/meshery/meshery/issues/11494 + +#### Meshery: Migrate APIs to be schema-driven + +- Description: Enhance Meshery’s APIs capability by migrating to a schema-driven approach, which will ensure consistency, validation, and easier integration. It involves versioning and defining API schemas using OpenAPI/Swagger at https://github.com/meshery/schemas and auto generating structs. You will be ensuring all Meshery APIs aligns with defined schemas and are consistent. +- Expected Outcome: Identifying APIs and updating them to conform these schemas. Enhance API documentation to reflect the schema-driven approach. Updating APIs to ensure they are consistent and doing validation against defined schemas. +- Recommended Skills: Golang, Kubernetes, Swagger, JSON schemas, familiarity with React, Nextjs would be helpful + +- Mentor(s): Yash Sharma, Lee Calcote +- Upstream Issue: https://github.com/meshery/meshery/issues/11495 + +#### Meshery: UI Migration from MUI v4 to MUI v5 and Sistent + +- Description: Meshery's UI is powerful and utilizes frameworks like Next.js and Material-UI. However, it relies on outdated technology stacks, resulting in performance inefficiencies and increased maintenance overhead. +- Expected Outcome: Migrate from MUI v4 to MUI v5 and fully utilize features of Nextjs v13 and Sistent. Migrate all class based components to function based components. Reduced code complexity and improved maintainability for long-term sustainability. Responsive and accessible UI that adapts to diverse devices and user needs. +- Recommended Skills: ReactJs, NextJs, familiarity with Material UI, Redux and Redux Toolkit +- Mentor(s): Lee Calcote, Antonette Caldwell + +- Upstream Issue: https://github.com/meshery/meshery/issues/11493 + +### Service Mesh Performance +
+ +#### CNCF Project Performance Test Dashboard +- Description: In coordination with CNCF TAG Network, the current performance dashboard at https://smp-spec.io/dashboard is proposed to be incorporated into CNCF project level-moving criteria in that each CNCF project will be encouraged (mandated?) to incorporate ongoing performance tests into their build and release processes, resulting in ongoing performance analysis of each project. +- Expected Outcome: +Dashboard Enhancement: Expand the existing performance dashboard to capture and visualize performance test results for non-service mesh projects. This will involve integrating with various data sources, designing user-friendly interfaces, and implementing robust data analysis pipelines. +GitHub Workflow Integration: Collaborate with other CNCF projects to configure their GitHub workflows to automatically run load tests using the Meshery GitHub Action. This will streamline the performance testing process and ensure that results are consistently collected and published to the dashboard. +- Recommended Skills: Golang, familiarity with HTTP/HTTPS performance testing tools, Service Mesh, grpc, familiarity with containerization technologies, like Docker would be helpful. + +- Mentor(s): Lee Calcote, Xin Huang +- Upstream Issue: https://github.com/service-mesh-performance/service-mesh-performance/issues/432 + ## Additional information
diff --git a/src/sections/Community/Handbook/Handbook.style.js b/src/sections/Community/Handbook/Handbook.style.js index 2f71ac9c88c6..a6195c28fae9 100644 --- a/src/sections/Community/Handbook/Handbook.style.js +++ b/src/sections/Community/Handbook/Handbook.style.js @@ -154,6 +154,11 @@ export const HandbookWrapper = styled.div` } } + .table-container { + width: 100%; + overflow-x: auto; + } + td, th { border: 0.05rem solid ${(props) => props.theme.primaryLightColor}; text-align: left; diff --git a/src/sections/Community/Handbook/recognition.js b/src/sections/Community/Handbook/recognition.js index 417b62f3d255..02d64b0363e3 100644 --- a/src/sections/Community/Handbook/recognition.js +++ b/src/sections/Community/Handbook/recognition.js @@ -17,7 +17,7 @@ import IntraPage from "../../../components/handbook-navigation/intra-page"; import uiuxrLogo from "../../../assets/images/uiuxr/uiuxr.svg"; import writersLogo from "../../../assets/images/writer-program/writer-program-badge.svg"; import meshmapLogo from "../../../assets/images/meshmap/icon-only/meshmap-icon.svg"; -import MesheryCatalogLogo from "../../../assets/images/meshery/meshery-catalog.svg"; +import MesheryCatalogLogo from "../../../assets/images/meshery/meshery-catalog.svg"; import DocsLogo from "../../../assets/images/docs/docs.svg"; import ApplicationPioneerLogo from "../../../assets/images/application-pioneer/application-pioneer.svg"; import BringABuddyLogo from "../../../assets/images/bring-a-buddy/bring-a-buddy.svg"; @@ -28,6 +28,12 @@ import NeedForSpeedLogo from "../../../assets/images/need-for-speed/need-for-spe import SharingIsCaringLogo from "../../../assets/images/sharing-is-caring/sharing-is-caring.svg"; import ShippedLogo from "../../../assets/images/shipped/shipped.svg"; import StreamerLogo from "../../../assets/images/streamer/streamer.svg"; +import CodeCleanupCrewLogo from "../../../assets/images/code-cleanup-crew/code-cleanup-crew.svg"; +import SecuritySentinelLogo from "../../../assets/images/security-sentinel/security-sentinel.png"; +import LogevityLegendLogo from "../../../assets/images/longevity-legend/longevity-legend.svg"; +import ReviewRockstarLogo from "../../../assets/images/review-rockstar/review-rockstar.svg"; +import MeshmapSnapshotLogo from "../../../assets/images/meshmap-snapshot/meshmap-snapshot.svg"; +import ContinuousContributorLogo from "../../../assets/images/continuous-contributor/continuous-contributor.svg"; const contents = [ { id: 0, link: "#Profile Bages", text: "Profile Bages" }, @@ -140,6 +146,30 @@ const RecognitionPage = () => { Bring a Buddy - awarded to the users who invite someone to Layer5 cloud. +
  • + + Code Cleanup Crew - awarded to contributors who help maintain code quality and cleanliness. +
  • +
  • + + Security Sentinel - awarded to individuals who contribute to identifying and fixing security vulnerabilities. +
  • +
  • + + Longevity Legend - awarded for long-term, sustained contributions to the project over the years. +
  • +
  • + + Review Rockstar - awarded to individuals who provide thorough and valuable code reviews. +
  • +
  • + + MeshMap Snapshot - awarded to users upon creation of their first infrastructure screenshot directly in their pull request. +
  • +
  • + + Continuous Contributor - awarded to the community members who make consistent and impactful contributions for a long period of time in Layer5 projects in recognition and appreciation of their efforts. +
  • Projects:

  • @@ -198,11 +228,51 @@ const RecognitionPage = () => { Docs - awarded to the community members who make consistent and impactful contributions to the Meshery docs in recognition and appreciation of their efforts.
  • + +

    How can I Earn Badges?

    +
    +

    + Earning Layer5 badges is both rewarding and straightforward. As you continue to contribute to our projects, your accomplishments will be recognized with badges that reflect your dedication and expertise. + Each badge is tied to specific activities. Here are some ways you can earn Layer5 Badges: +

    +

    + For users, badges for activities such as using our projects, talking about the projects, sharing your successes and what you like about them. For contributors, badges include activities such as submitting code, reviewing Pull Requests, assisting with documentation, participating in community events, and more. As you accumulate contributions in various areas, you'll begin to unlock badges that showcase your multifaceted involvement. These badges will be prominently displayed on your Layer5 Cloud profile, visually representing your journey. Not only does this serve as a source of personal pride, but it also helps others in the community recognize your expertise and dedication. +

      +
    • + Activity Badges are the badges that are assigned when a user completes a task like sharing a design, creating a design for the first time, etc. +
    • +
    +
      +
    • + Project Badges are assigned to the user when a user contributes to a particular project. +
    • +
    +

    The description and criteria for all the badges are listed above.

    +

    + +

    How can I Share My Badge On My Profile?

    +
    +

    + To share your badges on other social profiles, utilize the provided embedded code and direct share functionality. Access your badges from the Layer5 Cloud profile badges section, and then use it to post your achievements on social media platforms seamlessly. This enables you to showcase your Layer5 contributions and milestones to a wider audience: +

    +

    To display badge on your GitHub profile, follow below steps:

    +
      +
    • + Visit your{" "} + Layer5 Cloud{" "} + Profile to see the badges +
    • +
    • Click on the badge, which you wanted to display
    • +
    • + Copy the markdown code by clicking the Embed Code icon +
    • +
    • Paste the code in your GitHub profile README.
    • +

    Recognition on Social Media Platforms

    - We highly encourage you to share your engagement and contributions to the Layer5 community on social media like LinkedIn and Twitter. We support every contribution by liking your posts and retweeting them. Your contributions and engagement in different ways are what make us a successful and collaborative open-source community. We love celebrating your every accomplishment with Layer5 publicly and encourage you in every way we can. + We highly encourage you to share your engagement and contributions to the Layer5 community on social media like LinkedIn and Twitter. We support every contribution by liking your posts and retweeting them. Your contributions and engagement in different ways are what make us a successful and collaborative open-source community. We love celebrating your every accomplishment with Layer5 publicly and encourage you in every way we can.

    diff --git a/src/sections/Community/Handbook/security-vulnerabilities.js b/src/sections/Community/Handbook/security-vulnerabilities.js index 93f3b589f951..012dcda3f24a 100644 --- a/src/sections/Community/Handbook/security-vulnerabilities.js +++ b/src/sections/Community/Handbook/security-vulnerabilities.js @@ -141,32 +141,36 @@ const SecurityVulnerabilitiesPage = () => {

    As much as possible this announcement will be actionable, and include any mitigating steps customers can take prior to upgrading to a fixed version.

    List of Announced Vulnerabilities:

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    DATE ANNOUNCEDCVE IDDESCRIPTIONAFFECTED COMPONENTVULNERABLE VERSIONPATCHED VERSIONFIX DETAILSLINKS
    2021-04-28CVE-2021-31856A SQL Injection vulnerability in the REST API in Layer5 Meshery 0.5.2 allows an attacker to execute arbitrary SQL commands via the /experimental/patternfiles endpoint (order parameter in GetMesheryPatterns in models/meshery_pattern_persister.go).REST APIv0.5.2v0.5.3fix pullmitre, details
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    DATE ANNOUNCEDCVE IDDESCRIPTIONAFFECTED COMPONENTVULNERABLE VERSIONPATCHED VERSIONFIX DETAILSLINKS
    2021-04-28CVE-2021-31856A SQL Injection vulnerability in the REST API in Layer5 Meshery 0.5.2 allows an attacker to execute arbitrary SQL commands via the /experimental/patternfiles endpoint (order parameter in GetMesheryPatterns in models/meshery_pattern_persister.go).REST APIv0.5.2v0.5.3fix pullmitre, details
    +
    + @@ -175,4 +179,4 @@ const SecurityVulnerabilitiesPage = () => { ); }; -export default SecurityVulnerabilitiesPage; \ No newline at end of file +export default SecurityVulnerabilitiesPage; diff --git a/src/sections/Community/Member-single/memberSingle.style.js b/src/sections/Community/Member-single/memberSingle.style.js index 6181563ed9e6..ad3fa15be608 100644 --- a/src/sections/Community/Member-single/memberSingle.style.js +++ b/src/sections/Community/Member-single/memberSingle.style.js @@ -30,7 +30,7 @@ export const MemberSingleWrapper = styled.div` font-size: 1.75rem; line-height: 1.75rem; color: ${(props) => props.theme.primaryColor}; - text-align: right; + text-align: left; font-weight: 400; } ul { diff --git a/src/sections/Community/Web-based-from/index.js b/src/sections/Community/Web-based-from/index.js index dc186a7aa3f1..7841d1eec2cb 100644 --- a/src/sections/Community/Web-based-from/index.js +++ b/src/sections/Community/Web-based-from/index.js @@ -34,7 +34,7 @@ const WebBasedForm = () => { useEffect(() => { if (submit) { - axios.post("https://hook.us1.make.com/bmmi8btg3xb2fmx6kcavxmtf0a3uame2", { + axios.post("https://hook.us1.make.com/v66ana9yf3w11k4a1rf3epwquur1s9rd", { memberFormOne, MemberFormThirdValue, MemberFormFourValue, diff --git a/src/sections/Company/Brand/brandPage.style.js b/src/sections/Company/Brand/brandPage.style.js index 62dce7e8ddf7..45748ee0605f 100644 --- a/src/sections/Company/Brand/brandPage.style.js +++ b/src/sections/Company/Brand/brandPage.style.js @@ -176,9 +176,19 @@ const BrandPageWrapper = styled.section` } @media screen and (max-width: 575px) { - .ImgDiv, .color-code-wrapper { + .color-code-wrapper{ margin-left: 0px; } + .ImgDiv img { + margin: auto; + width: auto; + max-width: 100%; + height: auto; + max-height: 200px; + display: flex; + justify-content: center; + flex-wrap: wrap; + } img.Layer5Icon { width: auto; height: 80px; diff --git a/src/sections/Home/Playground-home/index.js b/src/sections/Home/Playground-home/index.js index 8fd172161627..bd2df1029335 100644 --- a/src/sections/Home/Playground-home/index.js +++ b/src/sections/Home/Playground-home/index.js @@ -107,7 +107,7 @@ const ViewsSectionWrapper = styled.div` .overlay { width: 483px; - height: 680x; + height: 680px; } .container { @@ -115,24 +115,50 @@ const ViewsSectionWrapper = styled.div` justify-content: center; } - .line1 { + .line { display: flex; flex-direction: column; align-items: center; margin-right: 2rem; - transform: translateY(50px); flex-wrap: wrap; } + .position-line-down{ + transform: translateY(-20em); + } + .position-line-up{ + transform: translateY(20em); + } - .line2 { - display: flex; - flex-direction: column; - align-items: center; - margin-right: 2rem; - transform: translateY(-50px); - flex-wrap: wrap; + .line-primary, .line-secondary { + width: 100%; + display: flex; + flex-direction: column; + } + + .animation-up-scroll { + animation: scroll-up-animation 15s linear infinite; + + @keyframes scroll-up-animation { + 0% { + transform: translateY(0%); + } + 100% { + transform: translateY(-100%); + } + } + } + .animation-down-scroll { + + animation: scroll-down-animation 15s linear infinite; + @keyframes scroll-down-animation { + 0% { + transform: translateY(0); + } + 100% { + transform: translateY(100%); + } + } } - .box { display: flex; flex-direction: column; @@ -179,7 +205,7 @@ const ViewsSectionWrapper = styled.div` `; const MeshmapVisualizerViews = () => { - const [imageRef, inView] = useInView({ threshold: 0.4 }); + const [imageRef, inView] = useInView({ threshold: 0.3 }); const [imageInView, setimageInView] = useState(false); if (inView && !imageInView) setimageInView(true); @@ -195,44 +221,50 @@ const MeshmapVisualizerViews = () => { alt="" /> */}
    -
    -
    - -
    Argo CD
    -
    -
    - -
    Cilium
    -
    -
    - -
    Prometheus
    -
    -
    - -
    Prometheus
    +
    +
    +
    + +
    Prometheus
    +
    +
    + +
    Argo CD
    +
    +
    + +
    Cilium
    +
    +
    + +
    Prometheus
    +
    +
    -
    -
    - -
    Kubernetes
    -
    -
    - -
    Keda
    -
    -
    - -
    Linkerd
    -
    -
    - -
    Kubernetes
    +
    +
    +
    + +
    Kubernetes
    +
    +
    + +
    Keda
    +
    +
    + +
    Linkerd
    +
    +
    + +
    Kubernetes
    +
    @@ -248,7 +280,7 @@ const MeshmapVisualizerViews = () => {