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 <[email protected]> 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 + } + ] + } +]
