Skip to content
2023 API Summit Hackathon: Experiment with AI for APIs (August 28 - September 27) Learn More →
Kong Logo | Kong Docs Logo
search
  • We're Hiring!
  • Docs
    • Kong Gateway
      Lightweight, fast, and flexible cloud-native API gateway
      Kong Konnect
      Single platform for SaaS end-to-end connectivity
      Kong Mesh
      Enterprise service mesh based on Kuma and Envoy
      decK
      Helps manage Kong’s configuration in a declarative fashion
      Kong Ingress Controller
      Works inside a Kubernetes cluster and configures Kong to proxy traffic
      Insomnia
      Collaborative API development platform
      Kuma
      Open-source distributed control plane with a bundled Envoy Proxy integration
      Docs Contribution Guidelines
      Want to help out, or found an issue in the docs and want to let us know?
  • API Specs
  • Plugin Hub
    • Explore the Plugin Hub
      View all plugins View all plugins View all plugins arrow image
    • Functionality View all View all arrow image
      View all plugins
      Authentication's icon
      Authentication
      Protect your services with an authentication layer
      Security's icon
      Security
      Protect your services with additional security layer
      Traffic Control's icon
      Traffic Control
      Manage, throttle and restrict inbound and outbound API traffic
      Serverless's icon
      Serverless
      Invoke serverless functions in combination with other plugins
      Analytics & Monitoring's icon
      Analytics & Monitoring
      Visualize, inspect and monitor APIs and microservices traffic
      Transformations's icon
      Transformations
      Transform request and responses on the fly on Kong
      Logging's icon
      Logging
      Log request and response data using the best transport for your infrastructure
  • Support
  • Community
  • Kong Academy
Get a Demo Start Free Trial
Contribution guidelines
  • Home icon
  • Style guide and contribution guidelines
  • Documenting Kong-owned plugins
github-edit-pageEdit this page
report-issueReport an issue
  • Kong Gateway
  • Kong Konnect
  • Kong Mesh
  • Plugin Hub
  • decK
  • Kong Ingress Controller
  • Insomnia
  • Kuma

  • Docs contribution guidelines
enterprise-switcher-icon Switch to OSS
On this pageOn this page
  • Prerequisites
  • Add a new plugin doc
  • Adding images
  • Test and submit plugin
  • Custom plugins and documentation

Documenting Kong-owned plugins

Plugin documentation is posted on the Plugin Hub. All Kong plugin docs must follow a specific template.

Looking for instructions on submitting a partner plugin? See the Partner Plugins guide.

Prerequisites

  • You have a parallel plugin PR in one of the Kong source code repos.
  • You plugin has description for every config parameter field in its Lua schema file.
  • You have set up a local clone of the docs repository.

Add a new plugin doc

  1. In your local clone of the docs repostory, create a new branch for your plugin.

  2. Create a subdirectory for the plugin within the _app/_hub/kong-inc directory. For example, _app/_hub/kong-inc/your-plugin.

  3. Copy the contents of the /docs/templates/kong-plugin-template directory into your own plugin’s directory.

    You should now have a directory that looks like this:

     _app
       _hub
         kong-inc
           example-plugin
             how-to
               _index.md
             _changelog.md
             _index.md
             _metadata.yml
             versions.yml
    
  4. Populate the files in the directory with your own info:

    • _metadata.yml: Sets the metadata for the plugin. Follow the instructions in the file to fill it out.

    • _index.md: Introduction for your plugin. This is where you explain how the plugin works and why someone would want to use it.

    • _changelog.md: A changelog for your plugin. For the first entry, just note when the plugin was published.

    • how-to/_index.md: Markdown documentation on how to use the plugin. You can create any number of files in the how-to folder, e.g. how-to/_getting-started.md, how-to/_metrics.md, etc.

    • versions.yml: Set the Kong Gateway version that the plugin is introduced in. This will generate a doc for every subsequent gateway version, starting with the one you specify.

  5. Add an icon for your plugin into the /app/_assets/images/icons/hub directory.

    Plugin icons are required for publication on the Kong plugin hub. Icons should be a PNG or SVG file, 120x120 pixels in size.

    The filename of your image should be kong-inc_plugin-name. For example, kong-inc_oas-validation.

  6. Create a basic example for your plugin in the plugin toolkit repository.

    This example will be validated against the plugin’s schema, so make sure to include all required configuration parameters.

Adding images

If you have any diagrams or screenshots that you want to add to your plugin documentation:

  1. Add to the images into the app/_assets/images/docs/plugins directory.

    Make sure that any screenshots follow the screenshot guidelines.

  2. Insert images into any of the markdown files for your plugin using the following format:

     ![Authentication flow diagram](/assets/images/docs/plugins/my-plugin-auth-flow.png)
     > *Figure 1: Diagram showing an OAuth2 authentication flow with Keycloak.*
    

Test and submit plugin

  1. Run the docs site locally per the instructions in the docs README.

    You should find your Hub contribution listed at localhost:3000/hub.

  2. Once you are happy with your listing, push your branch to the GitHub repository:

     git push --set-upstream origin [name_of_your_new_branch]
    
  3. Make a pull request against the docs.konghq.com repository to add your documentation to the Plugin Hub.

The Kong docs team will review your PR, suggest improvements and adjustments as necessary, and once approved, will merge and deploy your Plugin Hub addition!

Custom plugins and documentation

If you want to write a custom plugin for your own needs, start by reading the Plugin Development Guide.

If you already wrote a plugin, and are thinking about making it available to the community, we strongly encourage you to host it on a publicly available repository (like GitHub), and distribute it via LuaRocks. A good resource on how to do so is the distribution section of the Plugin Development Guide.

To give visibility to your plugin, you can create a post in the Announcements category of Kong Nation.

If you’re interested in becoming a technical partner and publishing your plugin on the Kong Plugin Hub, please reach out to our Kong Partners team.

Thank you for your feedback.
Was this page useful?
Too much on your plate? close cta icon
More features, less infrastructure with Kong Konnect. 1M requests per month for free.
Try it for Free
  • Kong
    THE CLOUD CONNECTIVITY COMPANY

    Kong powers reliable digital connections across APIs, hybrid and multi-cloud environments.

    • Company
    • Customers
    • Events
    • Investors
    • Careers Hiring!
    • Partners
    • Press
    • Contact
  • Products
    • Kong Konnect
    • Kong Gateway
    • Kong Mesh
    • Get Started
    • Pricing
  • Resources
    • eBooks
    • Webinars
    • Briefs
    • Blog
    • API Gateway
    • Microservices
  • Open Source
    • Install Kong Gateway
    • Kong Community
    • Kubernetes Ingress
    • Kuma
    • Insomnia
  • Solutions
    • Decentralize
    • Secure & Govern
    • Create a Dev Platform
    • API Gateway
    • Kubernetes
    • Service Mesh
Star
  • Terms•Privacy
© Kong Inc. 2023