Kong 插件开发模板指南
本指南将带你深入了解 Kong Plugin
开源项目(GitHub仓库),该模板专为快速入门自定义Kong插件设计。以下是核心内容模块:
1. 目录结构及介绍
Kong 插件的目录结构遵循一定的规范,便于管理和扩展。以下是一般的项目结构说明:
.
├── kong/plugins/mycoolplugin # 特定插件目录,名称对应插件名。
│ ├── handler.lua # 主处理逻辑文件,每个插件的核心。
│ ├── schema.lua (可选) # 描述插件配置参数的模式。
│ └── ...
├── spec # 测试规格文件夹,存放Busted单元测试。
│ └── mycoolplugin.spec.lua
├── .gitignore # Git忽略文件配置。
├── .editorconfig # 编辑器配置。
├── gitattributes # Git属性配置。
├── LICENSE # 许可证文件,通常是Apache-2.0。
├── README.md # 项目说明文档,包含使用说明等。
├── kong-plugin-myplugin-*.rockspec # LuaRocks包规范文件,用于发布和管理。
└── ... # 可能还包含其他辅助脚本或配置。
- handler.lua: 必不可少的文件,实现插件的主要业务逻辑。通过设置
VERSION
变量来指定插件版本。 - schema.lua(可选): 定义插件在Kong管理界面中的配置字段及其验证规则。
- spec 文件夹: 包含测试脚本,确保插件功能按预期工作,使用Busted进行单元测试。
- .rockspec 文件: 关于LuaRocks包发布的元数据,包括插件名字和版本,用于构建和分发。
2. 项目的启动文件介绍
该项目不直接包含一个“启动文件”以运行整个Kong服务。Kong的启动通常由其自带的命令行工具执行,不在这个插件的代码库内。但是,开发自定义插件时,你需要在已有的Kong环境中激活并配置你的插件。这通常涉及到编辑Kong的配置文件(kong.conf
)来添加插件路径和启用插件。
3. 项目的配置文件介绍
配置Kong环境
虽然这个特定的仓库专注于插件开发,配置Kong本身涉及到修改或创建kong.conf
文件。对于自定义插件的配置,则会在Kong的数据库中或kong.conf
中声明(取决于插件的性质)。基本配置可能包括添加插件到全局或特定服务/路由上:
plugins = plugin_name1, plugin_name2
对于自定义插件,在Kong管理界面对插件进行配置时,会应用你在schema.lua
中定义的配置项。
插件的内部配置
- handler.lua内的配置: 插件可以在其处理逻辑中读取Kong的上下文环境来获取配置。配置通常是在Kong服务实例化时注入到插件的。
- 无特定配置文件: 自定义插件的配置通常不需要外部配置文件,而是通过Kong的管理系统或API动态设置。
总结,此项目的重点在于如何构建和集成自定义插件到Kong环境中,而非直接提供一个独立服务的启动配置。正确配置和使用这些插件,需结合Kong本身的文档指导执行。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考