Skip to content

Proposal: new architecture/structure for Apache APISIX Documentation #6461

@avinal

Description

@avinal

What needs Improvements?

Getting Started (needs improvements)

Missing Introduction page - must have a proper introduction (partial)

  • What is an API Gateway?
  • What is Apache APISIX?
  • Features in brief
  • Architectural Design (link to architectural design)
  • Katacoda links and other tutorials
  • Videos to get started with
  • Link to contribute to the project (link to CONTRIBUTION.md in Apache APISIX repository)

Installing Section (partial)

  • Prerequisites
  • Different methods for installing Apache APISIX - RPM, DEB, Docker, Source Release
  • Building from the source
  • Stepwise procedures and solutions for possible traps and problems

Apache APISIX configuration (missing)

  • What are the different types of configuration Apache APISIX needs?
  • Description of fields and their examples
  • List of supported/required Environment variables
  • First party/third party extensions for configuration files(VS Code etc.)
  • Custom configuration and how to add them
  • Configuration examples
  • Sample Project (in later stages)

Architectural Design (partial)

  • Add a description to the diagram (current status: only diagrams no description)
  • Remove configuration from this section
  • Restructure this section to only contain architectural design
  • Move definitions to "References" and if configuration then move to "Configuration"
    • Plugin
    • Service
    • Consumer
    • Router
    • Script
    • Upstream
    • Route

Plugins (need to be restructured)

  • Introduction to Apache APISIX plugins
  • How do they work?
  • Getting started with plugins
  • List of all plugins with links to their corresponding documentation
  • Creating custom plugins
    • Prerequisites
    • How to create a custom plugin?

Miscellaneous (missing)

  • Possible sections
    • Support + Community
    • Extra Features

Solution

Here is the proposal for a new structure for the APISIX documentation.

(Sorry for the bad quality image 😓 )

  • Each checkbox represent a chapter/page
  • Each bullet denotes must-contain or preferred headers in a page.

image

Checklist according to the proposal

  • Welcome Page

    • Quick View
    • What is the latest in APISIX?
    • Featured
    • Changelogs
  • Quickstart (APISIX in 5 mins)

    • Overview of APISIX
    • Setup and use APISIX right away
  • Getting Started

    • Installation
      • From Package Managers
      • Docker Installation
      • Buiding from source
    • Contribution Guide link to: https://apisix.apache.org/docs/general/contributor-guide
      • How to contribute
      • Type of contributions
      • Opening new issue
      • Opening a pull request
      • Code style
      • Claim your goodies (Yes we have contributor's t-shirt 👕 )
    • Community Guide
      • Slack
      • Mailing Lists
      • Other communities
      • Community Efforts
  • Learning Library

    • Learn APISIX
      • YouTube Video Links
      • Tutorial Links (Katacoda + Written)
    • Usecases / How to guides
      • Can be used for katacoda tutorials
  • Concepts

    • Route
    • Plugin
    • Script
    • Service
    • Consumer
    • Upstream
    • Global Rule
  • Configuration

    • Introduction and types of configurations
    • List of fields and configuration examples
    • Supported environment variables
    • Custom Configurations
    • Scripts
    • Debug Mode
    • Plugin Configuration
  • Architectural Design

    • APISIX Architecture
    • Plugin Architecture
      • Plugin loading process
      • Plugin Hierarchy
      • External Plugin Architecture
  • API

    • Admin API
      • Split the pages
    • Control API
      • Split the pages
  • Plugins

    • Introduction to Apache APISIX plugin
    • List of all plugins with link to their description
      • One plugin per page
    • Plugin Developement
      • Setup Plugin Development Environement
        • Plugin Development Kit
      • Plugin Development Process
      • Writing Test Cases
      • Openresty/ngx_lua development guide (link if already exists)
    • External Plugins
    • Plugin configurations
    • Plugin Testing
  • Integrations

    • What are integrations / extensions
    • Officially supported integrations/extensions
    • Community developed integrations / Third party plugins
  • Miscellaneous

    • Support
      • Where to contact for help
      • Known issues and their solutions
      • How to report issue/bug
    • FAQ
    • Extra Features
      • Stand Alone Mode
      • Batch Processor
      • Add more here
    • Protocols
      • HTTP
      • GRPC
    • References
    • Heath Check

    Feel free to add missing parts, and DONOT mention this issue with closing keywords. This issue is strictly for discussion only.


    Currently this proposal is in the review phase, once approved by the community, you can pick up issues and start working on them

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions