You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by ju...@apache.org on 2021/11/14 14:06:30 UTC
[apisix-website] 01/02: chore: adjust docusaurus.config.js
This is an automated email from the ASF dual-hosted git repository.
juzhiyuan pushed a commit to branch docs-navbar
in repository https://gitbox.apache.org/repos/asf/apisix-website.git
commit 0b43856a6f2c0b0b4627dd6380de274b309d86d4
Author: juzhiyuan <ju...@apache.org>
AuthorDate: Sun Nov 14 21:58:08 2021 +0800
chore: adjust docusaurus.config.js
---
website/config/docs.js | 91 +++++++
website/config/downloads.js | 81 ++++++
website/{static/data/team.json => config/team.js} | 2 +-
website/docusaurus.config.js | 291 +---------------------
website/static/data/events.json | 18 +-
website/static/data/navbar.js | 113 +++++++++
website/static/data/plugin.json | 199 ---------------
website/static/data/plugins.json | 199 +++++++++++++++
8 files changed, 503 insertions(+), 491 deletions(-)
diff --git a/website/config/docs.js b/website/config/docs.js
new file mode 100644
index 0000000..28b2db4
--- /dev/null
+++ b/website/config/docs.js
@@ -0,0 +1,91 @@
+module.exports = [
+ {
+ name: "APISIX®",
+ nameInParamCase: "apisix",
+ description: "A dynamic, real-time, high-performance API gateway.",
+ shape: "triangle",
+ color: "#e8433e",
+ githubRepo: "apache/apisix",
+ version: "2.10.1",
+ releaseDate: "2021-10-28",
+ firstDocPath: "/getting-started",
+ },
+ {
+ name: "APISIX® Dashboard",
+ nameInParamCase: "dashboard",
+ description:
+ "Designed to make it as easy as possible for users to operate Apache APISIX through a frontend interface.",
+ shape: "square",
+ color: "#10B981",
+ githubRepo: "apache/apisix-dashboard",
+ version: "2.9.0",
+ releaseDate: "2021-10-08",
+ firstDocPath: "/USER_GUIDE",
+ },
+ {
+ name: "APISIX® Ingress Controller",
+ nameInParamCase: "ingress-controller",
+ description: "An Apache APISIX control plane component.",
+ shape: "hexagon",
+ color: "#2563EB",
+ githubRepo: "apache/apisix-ingress-controller",
+ version: "1.3.0",
+ releaseDate: "2021-10-17",
+ firstDocPath: "/getting-started",
+ },
+ {
+ name: "APISIX® Helm Charts",
+ nameInParamCase: "helm-chart",
+ description: "An Apache APISIX Helm Charts provide the installation of Apache APISIX components for kubernetes.",
+ shape: "pentagon",
+ color: "#C71585",
+ githubRepo: "apache/apisix-helm-chart",
+ version: "0.4.0",
+ releaseDate: "2021-03-12",
+ firstDocPath: "/apisix",
+ },
+ {
+ name: "APISIX® Docker",
+ nameInParamCase: "docker",
+ description: "Docker tooling for Apache APISIX.",
+ shape: "diamond",
+ color: "#FFD700",
+ githubRepo: "apache/apisix-docker",
+ version: "1.0.0",
+ releaseDate: "2020-12-1",
+ firstDocPath: "/build",
+ },
+ {
+ name: "APISIX® Java Plugin Runner",
+ nameInParamCase: "java-plugin-runner",
+ description: "Runs Apache APISIX plugins written in Java. Implemented as a sidecar that accompanies Apache APISIX.",
+ shape: "star",
+ color: "#FB9300",
+ githubRepo: "apache/apisix-java-plugin-runner",
+ version: "0.1.0",
+ releaseDate: "2021-07-09",
+ firstDocPath: "/development",
+ },
+ {
+ name: "APISIX® Go Plugin Runner",
+ nameInParamCase: "go-plugin-runner",
+ description: "Runs Apache APISIX plugins written in Go. Implemented as a sidecar that accompanies Apache APISIX.",
+ shape: "octagon",
+ color: "#3B14A7",
+ githubRepo: "apache/apisix-go-plugin-runner",
+ version: "0.2.0",
+ releaseDate: "2021-09-03",
+ firstDocPath: "/getting-started",
+ },
+ {
+ name: "APISIX® Python Plugin Runner",
+ nameInParamCase: "python-plugin-runner",
+ description: "Runs Apache APISIX plugins written in Python. Implemented as a sidecar that accompanies Apache APISIX.",
+ shape: "shield",
+ color: "#1296DB",
+ githubRepo: "apache/apisix-python-plugin-runner",
+ version: "0.1.0",
+ releaseDate: "2021-09-03",
+ firstDocPath: "/getting-started",
+ }
+]
diff --git a/website/config/downloads.js b/website/config/downloads.js
new file mode 100644
index 0000000..66909a8
--- /dev/null
+++ b/website/config/downloads.js
@@ -0,0 +1,81 @@
+module.exports = [
+ {
+ name: "APISIX®",
+ nameInParamCase: "apisix",
+ description: "A dynamic, real-time, high-performance API gateway.",
+ shape: "triangle",
+ color: "#e8433e",
+ githubRepo: "apache/apisix",
+ githubBranch: "master",
+ downloadPath: "apisix/2.10.1/apache-apisix-2.10.1-src",
+ version: "2.10.1",
+ releaseDate: "2021-10-28",
+ firstDocPath: "/getting-started",
+ },
+ {
+ name: "APISIX® Dashboard",
+ nameInParamCase: "dashboard",
+ description:
+ "Designed to make it as easy as possible for users to operate Apache APISIX through a frontend interface.",
+ shape: "square",
+ color: "#10B981",
+ githubRepo: "apache/apisix-dashboard",
+ githubBranch: "master",
+ downloadPath: "apisix/dashboard/2.9.0/apache-apisix-dashboard-2.9.0-src",
+ version: "2.9.0",
+ releaseDate: "2021-10-08",
+ firstDocPath: "/USER_GUIDE",
+ },
+ {
+ name: "APISIX® Ingress Controller",
+ nameInParamCase: "ingress-controller",
+ description: "An Apache APISIX control plane component.",
+ shape: "hexagon",
+ color: "#2563EB",
+ githubRepo: "apache/apisix-ingress-controller",
+ githubBranch: "master",
+ downloadPath: "apisix/ingress-controller/1.2.0/apache-apisix-ingress-controller-1.2.0-src",
+ version: "1.3.0",
+ releaseDate: "2021-10-17",
+ firstDocPath: "/getting-started",
+ },
+ {
+ name: "APISIX® Java Plugin Runner",
+ nameInParamCase: "java-plugin-runner",
+ description: "Runs Apache APISIX plugins written in Java. Implemented as a sidecar that accompanies Apache APISIX.",
+ shape: "star",
+ color: "#FB9300",
+ githubRepo: "apache/apisix-java-plugin-runner",
+ githubBranch: "main",
+ downloadPath: "apisix/java-plugin-runner/0.1/apisix-java-plugin-runner-0.1.0-src",
+ version: "0.1.0",
+ releaseDate: "2021-07-09",
+ firstDocPath: "/development",
+ },
+ {
+ name: "APISIX® Go Plugin Runner",
+ nameInParamCase: "go-plugin-runner",
+ description: "Runs Apache APISIX plugins written in Go. Implemented as a sidecar that accompanies Apache APISIX.",
+ shape: "octagon",
+ color: "#3B14A7",
+ githubRepo: "apache/apisix-go-plugin-runner",
+ githubBranch: "master",
+ downloadPath: "apisix/go-plugin-runner/0.2.0/apisix-go-plugin-runner-0.2.0-src",
+ version: "0.2.0",
+ releaseDate: "2021-09-03",
+ firstDocPath: "/getting-started",
+ },
+ {
+ name: "APISIX® Python Plugin Runner",
+ nameInParamCase: "python-plugin-runner",
+ description: "Runs Apache APISIX plugins written in Python. Implemented as a sidecar that accompanies Apache APISIX.",
+ shape: "shield",
+ color: "#1296DB",
+ githubRepo: "apache/apisix-python-plugin-runner",
+ githubBranch: "master",
+ downloadPath: "apisix/python-plugin-runner/0.1.0/apisix-python-plugin-runner-0.1.0-src",
+ version: "0.1.0",
+ releaseDate: "2021-09-06",
+ firstDocPath: "/getting-started",
+ }
+]
diff --git a/website/static/data/team.json b/website/config/team.js
similarity index 99%
rename from website/static/data/team.json
rename to website/config/team.js
index 16f5c96..83ebdb7 100644
--- a/website/static/data/team.json
+++ b/website/config/team.js
@@ -1,4 +1,4 @@
-[
+module.exports = [
{
"groupName": "PMC",
"members": [
diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js
index 4c967c0..d715721 100644
--- a/website/docusaurus.config.js
+++ b/website/docusaurus.config.js
@@ -12,7 +12,7 @@ const getEditUrl = ({
}
module.exports = {
- title: "Apache APISIX® -- Cloud-Native API Gateway",
+ title: "Apache APISIX® -- Cloud-Native API Gateway",
tagline:
"Apache APISIX is a dynamic, real-time, high-performance Cloud-Native API gateway, based on the Nginx library and etcd.",
url: "https://apisix.apache.org",
@@ -28,181 +28,10 @@ module.exports = {
eventPosterCard: require("./static/data/event-poster-card.json"),
repoUrl: "https://github.com/apache/apisix",
docsUrl: "",
- docs: [
- {
- name: "APISIX®",
- nameInParamCase: "apisix",
- description: "A dynamic, real-time, high-performance API gateway.",
- shape: "triangle",
- color: "#e8433e",
- githubRepo: "apache/apisix",
- version: "2.10.1",
- releaseDate: "2021-10-28",
- firstDocPath: "/getting-started",
- },
- {
- name: "APISIX® Dashboard",
- nameInParamCase: "dashboard",
- description:
- "Designed to make it as easy as possible for users to operate Apache APISIX through a frontend interface.",
- shape: "square",
- color: "#10B981",
- githubRepo: "apache/apisix-dashboard",
- version: "2.9.0",
- releaseDate: "2021-10-08",
- firstDocPath: "/USER_GUIDE",
- },
- {
- name: "APISIX® Ingress Controller",
- nameInParamCase: "ingress-controller",
- description: "An Apache APISIX control plane component.",
- shape: "hexagon",
- color: "#2563EB",
- githubRepo: "apache/apisix-ingress-controller",
- version: "1.3.0",
- releaseDate: "2021-10-17",
- firstDocPath: "/getting-started",
- },
- {
- name: "APISIX® Helm Charts",
- nameInParamCase: "helm-chart",
- description: "An Apache APISIX Helm Charts provide the installation of Apache APISIX components for kubernetes.",
- shape: "pentagon",
- color: "#C71585",
- githubRepo: "apache/apisix-helm-chart",
- version: "0.4.0",
- releaseDate: "2021-03-12",
- firstDocPath: "/apisix",
- },
- {
- name: "APISIX® Docker",
- nameInParamCase: "docker",
- description: "Docker tooling for Apache APISIX.",
- shape: "diamond",
- color: "#FFD700",
- githubRepo: "apache/apisix-docker",
- version: "1.0.0",
- releaseDate: "2020-12-1",
- firstDocPath: "/build",
- },
- {
- name: "APISIX® Java Plugin Runner",
- nameInParamCase: "java-plugin-runner",
- description: "Runs Apache APISIX plugins written in Java. Implemented as a sidecar that accompanies Apache APISIX.",
- shape: "star",
- color: "#FB9300",
- githubRepo: "apache/apisix-java-plugin-runner",
- version: "0.1.0",
- releaseDate: "2021-07-09",
- firstDocPath: "/development",
- },
- {
- name: "APISIX® Go Plugin Runner",
- nameInParamCase: "go-plugin-runner",
- description: "Runs Apache APISIX plugins written in Go. Implemented as a sidecar that accompanies Apache APISIX.",
- shape: "octagon",
- color: "#3B14A7",
- githubRepo: "apache/apisix-go-plugin-runner",
- version: "0.2.0",
- releaseDate: "2021-09-03",
- firstDocPath: "/getting-started",
- },
- {
- name: "APISIX® Python Plugin Runner",
- nameInParamCase: "python-plugin-runner",
- description: "Runs Apache APISIX plugins written in Python. Implemented as a sidecar that accompanies Apache APISIX.",
- shape: "shield",
- color: "#1296DB",
- githubRepo: "apache/apisix-python-plugin-runner",
- version: "0.1.0",
- releaseDate: "2021-09-03",
- firstDocPath: "/getting-started",
- }
- ],
- downloads: [
- {
- name: "APISIX®",
- nameInParamCase: "apisix",
- description: "A dynamic, real-time, high-performance API gateway.",
- shape: "triangle",
- color: "#e8433e",
- githubRepo: "apache/apisix",
- githubBranch: "master",
- downloadPath: "apisix/2.10.1/apache-apisix-2.10.1-src",
- version: "2.10.1",
- releaseDate: "2021-10-28",
- firstDocPath: "/getting-started",
- },
- {
- name: "APISIX® Dashboard",
- nameInParamCase: "dashboard",
- description:
- "Designed to make it as easy as possible for users to operate Apache APISIX through a frontend interface.",
- shape: "square",
- color: "#10B981",
- githubRepo: "apache/apisix-dashboard",
- githubBranch: "master",
- downloadPath: "apisix/dashboard/2.9.0/apache-apisix-dashboard-2.9.0-src",
- version: "2.9.0",
- releaseDate: "2021-10-08",
- firstDocPath: "/USER_GUIDE",
- },
- {
- name: "APISIX® Ingress Controller",
- nameInParamCase: "ingress-controller",
- description: "An Apache APISIX control plane component.",
- shape: "hexagon",
- color: "#2563EB",
- githubRepo: "apache/apisix-ingress-controller",
- githubBranch: "master",
- downloadPath: "apisix/ingress-controller/1.2.0/apache-apisix-ingress-controller-1.2.0-src",
- version: "1.3.0",
- releaseDate: "2021-10-17",
- firstDocPath: "/getting-started",
- },
- {
- name: "APISIX® Java Plugin Runner",
- nameInParamCase: "java-plugin-runner",
- description: "Runs Apache APISIX plugins written in Java. Implemented as a sidecar that accompanies Apache APISIX.",
- shape: "star",
- color: "#FB9300",
- githubRepo: "apache/apisix-java-plugin-runner",
- githubBranch: "main",
- downloadPath: "apisix/java-plugin-runner/0.1/apisix-java-plugin-runner-0.1.0-src",
- version: "0.1.0",
- releaseDate: "2021-07-09",
- firstDocPath: "/development",
- },
- {
- name: "APISIX® Go Plugin Runner",
- nameInParamCase: "go-plugin-runner",
- description: "Runs Apache APISIX plugins written in Go. Implemented as a sidecar that accompanies Apache APISIX.",
- shape: "octagon",
- color: "#3B14A7",
- githubRepo: "apache/apisix-go-plugin-runner",
- githubBranch: "master",
- downloadPath: "apisix/go-plugin-runner/0.2.0/apisix-go-plugin-runner-0.2.0-src",
- version: "0.2.0",
- releaseDate: "2021-09-03",
- firstDocPath: "/getting-started",
- },
- {
- name: "APISIX® Python Plugin Runner",
- nameInParamCase: "python-plugin-runner",
- description: "Runs Apache APISIX plugins written in Python. Implemented as a sidecar that accompanies Apache APISIX.",
- shape: "shield",
- color: "#1296DB",
- githubRepo: "apache/apisix-python-plugin-runner",
- githubBranch: "master",
- downloadPath: "apisix/python-plugin-runner/0.1.0/apisix-python-plugin-runner-0.1.0-src",
- version: "0.1.0",
- releaseDate: "2021-09-06",
- firstDocPath: "/getting-started",
- }
- ],
-
- team: require("./static/data/team.json"),
- plugins: require("./static/data/plugin.json"),
+ docs: require("./config/docs.js"),
+ downloads: require("./config/downloads.js"),
+ team: require("./config/team.js"),
+ plugins: require("./static/data/plugins.json"),
allRepos: [
"apache/apisix",
@@ -490,115 +319,7 @@ module.exports = {
logo: {
src: "img/logo2.svg",
},
- items: [
- {
- label: "Docs",
- position: "right",
- to: "/docs",
- items: [
- {
- label: "Apache APISIX®️",
- to: "/docs/apisix/getting-started",
- },
- {
- label: "Apache APISIX®️ Dashboard",
- to: "/docs/dashboard/USER_GUIDE",
- },
- {
- label: "Apache APISIX®️ Ingress Controller",
- to: "/docs/ingress-controller/getting-started/",
- },
- {
- label: "Apache APISIX®️ Helm Charts",
- to: "/docs/helm-chart/apisix/",
- },
- {
- label: "Apache APISIX®️ Docker",
- to: "/docs/docker/build/",
- },
- {
- label: "Apache APISIX®️ Java Plugin Runner",
- to: "/docs/java-plugin-runner/development/"
- },
- {
- label: "Apache APISIX®️ Go Plugin Runner",
- to: "/docs/go-plugin-runner/getting-started/"
- },
- {
- label: "Apache APISIX®️ Python Plugin Runner",
- to: "/docs/python-plugin-runner/getting-started/"
- },
- {
- label: "General",
- to: "/docs/general/security",
- },
- ],
- },
- {
- label: "FAQ",
- position: "right",
- items: [
- {
- label: "Apache APISIX®",
- to: "/docs/apisix/FAQ/",
- },
- {
- label: "Apache APISIX® Dashboard",
- to: "/docs/dashboard/FAQ/",
- },
- {
- label: "Apache APISIX® Ingress Controller",
- to: "/docs/ingress-controller/FAQ/",
- },
- {
- label: "Apache APISIX® Helm Chart",
- to: "/docs/helm-chart/FAQ/",
- },
- ]
- },
- {
- to: "/blog",
- label: "Blog",
- position: "right",
- },
- {
- to: "/downloads",
- label: "Downloads",
- position: "right",
- },
- {
- to: "/team",
- label: "Team",
- position: "right",
- },
- {
- label: "Resources",
- position: "right",
- items: [
- {
- to: "/plugins",
- label: "Plugin Hub",
- },
- {
- to: "/releases",
- label: "Releases",
- },
- {
- to: "/help",
- label: "Help",
- },
- ]
- },
- {
- to: "/showcase",
- label: "Showcase",
- position: "right",
- },
- {
- type: "localeDropdown",
- position: "right",
- },
- ],
+ items: require("./config/navbar.js"),
},
hideableSidebar: true,
footer: {
diff --git a/website/static/data/events.json b/website/static/data/events.json
index aacd13e..cce7b3d 100644
--- a/website/static/data/events.json
+++ b/website/static/data/events.json
@@ -1,20 +1,26 @@
[
- {"title": "Weekly Report|10.15-10.31 Feature Highlights Update in Progress",
+ {
+ "title": "Weekly Report|10.15-10.31 Feature Highlights Update in Progress",
"fileName": "2021-11-02-weekly-report-1031"
},
- {"title": "Webinar | Apache APISIX × Apache SkyWalking Online Meetup",
+ {
+ "title": "Webinar | Apache APISIX × Apache SkyWalking Online Meetup",
"fileName": "2021-10-18-meetup"
},
- {"title": "Community Weekly|10.1-10.14 Feature Highlight Updates in Progress",
+ {
+ "title": "Community Weekly|10.1-10.14 Feature Highlight Updates in Progress",
"fileName": "2021-10-14-weekly-report-1014"
},
- {"title": "New milestone for the Apache APISIX community - over 300 contributors worldwide!",
+ {
+ "title": "New milestone for the Apache APISIX community - over 300 contributors worldwide!",
"fileName": "2021-10-13-celebrating-300-contributors-of-apisix"
},
- {"title": "社区周报|新晋 committer 两位,功能亮点更新进行中",
+ {
+ "title": "社区周报|新晋 committer 两位,功能亮点更新进行中",
"fileName": "2021-09-15-weekly-report"
},
- {"title": "Apache APISIX 2.9 Release",
+ {
+ "title": "Apache APISIX 2.9 Release",
"fileName": "2021-08-27-release-apache-apisix-2.9"
},
{
diff --git a/website/static/data/navbar.js b/website/static/data/navbar.js
new file mode 100644
index 0000000..429c2aa
--- /dev/null
+++ b/website/static/data/navbar.js
@@ -0,0 +1,113 @@
+module.exports = [
+ {
+ label: "Docs",
+ position: "right",
+ to: "/docs",
+ items: [
+ {
+ label: "Apache APISIX®️",
+ to: "/docs/apisix/getting-started",
+ },
+ {
+ label: "Apache APISIX®️ Dashboard",
+ to: "/docs/dashboard/USER_GUIDE",
+ },
+ {
+ label: "Apache APISIX®️ Ingress Controller",
+ to: "/docs/ingress-controller/getting-started/",
+ },
+ {
+ label: "Apache APISIX®️ Helm Charts",
+ to: "/docs/helm-chart/apisix/",
+ },
+ {
+ label: "Apache APISIX®️ Docker",
+ to: "/docs/docker/build/",
+ },
+ {
+ label: "Apache APISIX®️ Java Plugin Runner",
+ to: "/docs/java-plugin-runner/development/"
+ },
+ {
+ label: "Apache APISIX®️ Go Plugin Runner",
+ to: "/docs/go-plugin-runner/getting-started/"
+ },
+ {
+ label: "Apache APISIX®️ Python Plugin Runner",
+ to: "/docs/python-plugin-runner/getting-started/"
+ },
+ {
+ label: "General",
+ to: "/docs/general/security",
+ },
+ ],
+ },
+ {
+ label: "FAQ",
+ position: "right",
+ items: [
+ {
+ label: "Apache APISIX®",
+ to: "/docs/apisix/FAQ/",
+ },
+ {
+ label: "Apache APISIX® Dashboard",
+ to: "/docs/dashboard/FAQ/",
+ },
+ {
+ label: "Apache APISIX® Ingress Controller",
+ to: "/docs/ingress-controller/FAQ/",
+ },
+ {
+ label: "Apache APISIX® Helm Chart",
+ to: "/docs/helm-chart/FAQ/",
+ },
+ ]
+ },
+ {
+ to: "/blog",
+ label: "Blog",
+ position: "right",
+ },
+ {
+ to: "/downloads",
+ label: "Downloads",
+ position: "right",
+ },
+ {
+ to: "/team",
+ label: "Team",
+ position: "right",
+ },
+ {
+ label: "Resources",
+ position: "right",
+ items: [
+ {
+ to: "/docs/general/community",
+ label: "Community"
+ },
+ {
+ to: "/plugins",
+ label: "Plugin Hub",
+ },
+ {
+ to: "/releases",
+ label: "Releases",
+ },
+ {
+ to: "/help",
+ label: "Help",
+ },
+ ]
+ },
+ {
+ to: "/showcase",
+ label: "Showcase",
+ position: "right",
+ },
+ {
+ type: "localeDropdown",
+ position: "right",
+ },
+]
diff --git a/website/static/data/plugin.json b/website/static/data/plugin.json
deleted file mode 100644
index db315dc..0000000
--- a/website/static/data/plugin.json
+++ /dev/null
@@ -1,199 +0,0 @@
-[
- {
- "groupName": "authentication",
- "plugins": [
- {
- "name": "authz-keycloak",
- "description": "An authorization plugin to be used with the Keycloak Identity Server"
- },
- {
- "name": "basic-auth",
- "description": "An authentication plugin that need to work with consumer to add Basic Authentication to a Service or a Route"
- },
- {
- "name": "hmac-auth",
- "description": "An authentication plugin that need to work with consumer to establish the integrity of incoming requests"
- },
- {
- "name": "jwt-auth",
- "description": "An authentication plugin that need to work with consumer to securely authenticate a valid user requesting access"
- },
- {
- "name": "key-auth",
- "description": "An authentication plugin that need to work with consumer to add key authentication to your Services"
- },
- {
- "name": "openid-connect",
- "description": "An authentication plugin that provides authentication and introspection capability to APISIX"
- }
- ]
- },
- {
- "groupName": "security",
- "plugins": [
- {
- "name": "api-breaker",
- "description": "The plugin implements API fuse functionality to help us protect our upstream business services"
- },
- {
- "name": "consumer-restriction",
- "description": "The plugin makes corresponding access restrictions based on different objects selected"
- },
- {
- "name": "cors",
- "description": "The plugin can help you enable CORS easily"
- },
- {
- "name": "fault-injection",
- "description": "The plugin provides the ability to deliberately cause a service to fail, in order to test failure in a complex distributed solution"
- },
- {
- "name": "ip-restriction",
- "description": "The ip-restriction can restrict access to a Service or a Route by either whitelisting or blacklisting IP addresses"
- },
- {
- "name": "referer-restriction",
- "description": "The referer-restriction can restrict access to a Service or a Route by whitelisting request header Referrers"
- },
- {
- "name": "request-validation",
- "description": "The request-validation plugin validates the requests before forwarding to an upstream service"
- },
- {
- "name": "uri-blocker",
- "description": "The plugin helps to intercept user requests"
- }
- ]
- },
- {
- "groupName": "Traffic Control",
- "plugins": [
- {
- "name": "limit-conn",
- "description": "The plugin Limits request concurrency"
- },
- {
- "name": "limit-count",
- "description": "The plugin Limits request rate by a fixed number of requests in a given time window"
- },
- {
- "name": "limit-req",
- "description": "The plugin limits request rate using the eaky bucket method"
- },
- {
- "name": "traffic-split",
- "description": "The traffic split plugin allows users to incrementally direct percentages of traffic between various upstreams"
- }
- ]
- },
- {
- "groupName": "Serverless",
- "plugins": [
- {
- "name": "serverless-pre-function",
- "description": "The serverless-pre-function runs at the beginning of the specified phase"
- },
- {
- "name": "serverless-post-function",
- "description": "The serverless-post-function runs at the end of the specified phase"
- }
- ]
- },
- {
- "groupName": "Observability",
- "plugins": [
- {
- "name": "error-log-logger",
- "description": "Error-log-logger is a plugin which pushes the log data of APISIX's error.log to TCP servers"
- },
- {
- "name": "http-logger",
- "description": "Http-logger is a plugin which push Log data requests to HTTP/HTTPS servers"
- },
- {
- "name": "kafka-logger",
- "description": "Kafka-logger is a plugin which works as a Kafka client driver for the ngx_lua nginx module"
- },
- {
- "name": "prometheus",
- "description": "The plugin exposes metrics in Prometheus Exposition format"
- },
- {
- "name": "request-id",
- "description": "The plugin adds a unique ID (UUID) to each request proxied through APISIX"
- },
- {
- "name": "skywalking",
- "description": "Skywalking uses its native Nginx LUA tracer to provide tracing, topology analysis, and metrics from service and URI perspective"
- },
- {
- "name": "sls-logger",
- "description": "Sls-logger pushes Log data requests to ali cloud Log Server with RF5424"
- },
- {
- "name": "syslog",
- "description": "Sys pushes Log data requests to Syslog"
- },
- {
- "name": "tcp-logger",
- "description": "Tcp-logger pushes Log data requests to TCP servers"
- },
- {
- "name": "udp-logger",
- "description": "Udp-logger pushes Log data requests to UDP servers"
- },
- {
- "name": "zipkin",
- "description": "Zipkin is a OpenTracing plugin"
- }
- ]
- },
- {
- "groupName": "other",
- "plugins": [
- {
- "name": "batch-requests",
- "description": "Batch-requests accepts multiple request and send them from apisix via http pipeline"
- },
- {
- "name": "grpc-transcode",
- "description": "Grpc-transcoding involves mapping HTTP/JSON requests and their parameters to gRPC methods and their parameters and return types"
- },
- {
- "name": "proxy-cache",
- "description": "The proxy-cache plugin provides the ability to cache upstream response data and can be used with other plugins"
- },
- {
- "name": "proxy-mirror",
- "description": "The proxy-mirror plugin provides the ability to mirror client requests"
- },
- {
- "name": "proxy-rewrite",
- "description": "The proxy-rewrite is an upstream proxy information rewriting plugin"
- },
- {
- "name": "response-rewrite",
- "description": "Response-rewrite rewrites the content returned by the upstream as well as Apache APISIX itself"
- },
- {
- "name": "wolf-rbac",
- "description": "Wolf-rbac is an authentication and authorization (rbac) plugin where the rbac feature is provided by wolf"
- },
- {
- "name": "client-control",
- "description": "The client-control plugin dynamically controls the behavior of Nginx to handle the client request",
- "useDefaultIcon": true
- },
- {
- "name": "ext-plugin-pre-req",
- "description": "The ext-plugin-pre-req runs specific external plugins in the plugin runner, before executing most of the builtin Lua plugins",
- "useDefaultIcon": true
- },
- {
- "name": "ext-plugin-post-req",
- "description": "The ext-plugin-post-req runs after executing builtin Lua plugins and before proxying to the upstream",
- "useDefaultIcon": true
- }
- ]
- }
-]
diff --git a/website/static/data/plugins.json b/website/static/data/plugins.json
new file mode 100644
index 0000000..20bb700
--- /dev/null
+++ b/website/static/data/plugins.json
@@ -0,0 +1,199 @@
+[
+ {
+ "groupName": "authentication",
+ "plugins": [
+ {
+ "name": "authz-keycloak",
+ "description": "An authorization plugin to be used with the Keycloak Identity Server"
+ },
+ {
+ "name": "basic-auth",
+ "description": "An authentication plugin that need to work with consumer to add Basic Authentication to a Service or a Route"
+ },
+ {
+ "name": "hmac-auth",
+ "description": "An authentication plugin that need to work with consumer to establish the integrity of incoming requests"
+ },
+ {
+ "name": "jwt-auth",
+ "description": "An authentication plugin that need to work with consumer to securely authenticate a valid user requesting access"
+ },
+ {
+ "name": "key-auth",
+ "description": "An authentication plugin that need to work with consumer to add key authentication to your Services"
+ },
+ {
+ "name": "openid-connect",
+ "description": "An authentication plugin that provides authentication and introspection capability to APISIX"
+ }
+ ]
+ },
+ {
+ "groupName": "security",
+ "plugins": [
+ {
+ "name": "api-breaker",
+ "description": "The plugin implements API fuse functionality to help us protect our upstream business services"
+ },
+ {
+ "name": "consumer-restriction",
+ "description": "The plugin makes corresponding access restrictions based on different objects selected"
+ },
+ {
+ "name": "cors",
+ "description": "The plugin can help you enable CORS easily"
+ },
+ {
+ "name": "fault-injection",
+ "description": "The plugin provides the ability to deliberately cause a service to fail, in order to test failure in a complex distributed solution"
+ },
+ {
+ "name": "ip-restriction",
+ "description": "The ip-restriction can restrict access to a Service or a Route by either whitelisting or blacklisting IP addresses"
+ },
+ {
+ "name": "referer-restriction",
+ "description": "The referer-restriction can restrict access to a Service or a Route by whitelisting request header Referrers"
+ },
+ {
+ "name": "request-validation",
+ "description": "The request-validation plugin validates the requests before forwarding to an upstream service"
+ },
+ {
+ "name": "uri-blocker",
+ "description": "The plugin helps to intercept user requests"
+ }
+ ]
+ },
+ {
+ "groupName": "Traffic Control",
+ "plugins": [
+ {
+ "name": "limit-conn",
+ "description": "The plugin Limits request concurrency"
+ },
+ {
+ "name": "limit-count",
+ "description": "The plugin Limits request rate by a fixed number of requests in a given time window"
+ },
+ {
+ "name": "limit-req",
+ "description": "The plugin limits request rate using the eaky bucket method"
+ },
+ {
+ "name": "traffic-split",
+ "description": "The traffic split plugin allows users to incrementally direct percentages of traffic between various upstreams"
+ }
+ ]
+ },
+ {
+ "groupName": "Serverless",
+ "plugins": [
+ {
+ "name": "serverless-pre-function",
+ "description": "The serverless-pre-function runs at the beginning of the specified phase"
+ },
+ {
+ "name": "serverless-post-function",
+ "description": "The serverless-post-function runs at the end of the specified phase"
+ }
+ ]
+ },
+ {
+ "groupName": "Observability",
+ "plugins": [
+ {
+ "name": "error-log-logger",
+ "description": "Error-log-logger is a plugin which pushes the log data of APISIX's error.log to TCP servers"
+ },
+ {
+ "name": "http-logger",
+ "description": "Http-logger is a plugin which push Log data requests to HTTP/HTTPS servers"
+ },
+ {
+ "name": "kafka-logger",
+ "description": "Kafka-logger is a plugin which works as a Kafka client driver for the ngx_lua nginx module"
+ },
+ {
+ "name": "prometheus",
+ "description": "The plugin exposes metrics in Prometheus Exposition format"
+ },
+ {
+ "name": "request-id",
+ "description": "The plugin adds a unique ID (UUID) to each request proxied through APISIX"
+ },
+ {
+ "name": "skywalking",
+ "description": "Skywalking uses its native Nginx LUA tracer to provide tracing, topology analysis, and metrics from service and URI perspective"
+ },
+ {
+ "name": "sls-logger",
+ "description": "Sls-logger pushes Log data requests to ali cloud Log Server with RF5424"
+ },
+ {
+ "name": "syslog",
+ "description": "Sys pushes Log data requests to Syslog"
+ },
+ {
+ "name": "tcp-logger",
+ "description": "Tcp-logger pushes Log data requests to TCP servers"
+ },
+ {
+ "name": "udp-logger",
+ "description": "Udp-logger pushes Log data requests to UDP servers"
+ },
+ {
+ "name": "zipkin",
+ "description": "Zipkin is a OpenTracing plugin"
+ }
+ ]
+ },
+ {
+ "groupName": "other",
+ "plugins": [
+ {
+ "name": "batch-requests",
+ "description": "Batch-requests accepts multiple request and send them from apisix via http pipeline"
+ },
+ {
+ "name": "grpc-transcode",
+ "description": "Grpc-transcoding involves mapping HTTP/JSON requests and their parameters to gRPC methods and their parameters and return types"
+ },
+ {
+ "name": "proxy-cache",
+ "description": "The proxy-cache plugin provides the ability to cache upstream response data and can be used with other plugins"
+ },
+ {
+ "name": "proxy-mirror",
+ "description": "The proxy-mirror plugin provides the ability to mirror client requests"
+ },
+ {
+ "name": "proxy-rewrite",
+ "description": "The proxy-rewrite is an upstream proxy information rewriting plugin"
+ },
+ {
+ "name": "response-rewrite",
+ "description": "Response-rewrite rewrites the content returned by the upstream as well as Apache APISIX itself"
+ },
+ {
+ "name": "wolf-rbac",
+ "description": "Wolf-rbac is an authentication and authorization (rbac) plugin where the rbac feature is provided by wolf"
+ },
+ {
+ "name": "client-control",
+ "description": "The client-control plugin dynamically controls the behavior of Nginx to handle the client request",
+ "useDefaultIcon": true
+ },
+ {
+ "name": "ext-plugin-pre-req",
+ "description": "The ext-plugin-pre-req runs specific external plugins in the plugin runner, before executing most of the builtin Lua plugins",
+ "useDefaultIcon": true
+ },
+ {
+ "name": "ext-plugin-post-req",
+ "description": "The ext-plugin-post-req runs after executing builtin Lua plugins and before proxying to the upstream",
+ "useDefaultIcon": true
+ }
+ ]
+ }
+]