505 Commits

Author SHA1 Message Date
Zero King
58f2daa56b chore(docs): fix contact link to discussions (#14831) 2026-02-26 17:12:28 +08:00
Andy Zhang
2eb75111a6 chore(ci): skip build_and_test and release workflows for PRs updating COPYRIGHT and LICENSE files (#14821)
Skip build_and_test and release workflows for PRs that only update the COPYRIGHT or LICENSE file.
2026-01-19 14:09:14 +08:00
Aklis
1228042865 fix(ci): fix script injection from Github context (FTI-7084) (#14791)
FTI-7084
2025-11-14 15:11:41 +08:00
罗泽轩
330b9e0bb4 docs(*): update the doc site (#14637)
If you're writing docs for 3.11, please write them in our new GH repo: https://github.com/Kong/developer.konghq.com
We'll be publishing 3.11 on https://developer.konghq.com/ only, we will not be using docs.konghq.com.
2025-08-26 12:11:06 +08:00
Niklaus Schen
36db98046b chore(ci): enable dockerhub organization access token (OAT) (#14572)
KAG-7040
2025-05-29 15:04:21 +08:00
Samuele
3463e3b73f ci(*): detect unexpected EE changes (#14452)
* ci(*): detect unexpected EE files

* ci(*): unify similar workflows

* ci(*): detect ee changelog
2025-05-08 09:01:04 +02:00
Niklaus Schen
8ed78ce1c8 chore(ci): fix the name of the workflow that checks for copyright (#14450)
KAG-6949
2025-05-07 18:27:46 +08:00
Water-Melon
731e4e648a chore(*): remove enterprise license notice
KAG-6949
2025-05-07 11:04:30 +08:00
Gabriele Gerbino
92f718c5b5 ci: add pgvector folder to CI labeler 2025-04-28 11:31:48 -03:00
Niklaus Schen
ce66639d75 chore(ci): fix version pattern for Docker tag generation (#14402)
KAG-6739
2025-04-07 16:25:30 +08:00
Michael Martin
60881e1f80 chore(build): remove ngx_wasm_module from default builds (#14347) 2025-03-26 11:08:49 -07:00
Michael Martin
a2fa16cdf1 chore(lint): add ast-grep lint rules and CI workflow (#14364) 2025-03-26 11:08:29 -07:00
Vìncent Le Goff
cf93d9d5ce chore(github): use Kong fork of changed-files in actions (#14362) 2025-03-15 22:49:32 +08:00
samugi
dfa83fb2b1 ci(*): skip labeler on fork PRs 2025-02-17 17:47:20 +01:00
Michael Martin
befb322251 chore(ci): update build-wasm-test-filters action 2025-02-03 10:01:35 -03:00
Niklaus Schen
e5f959d6ba chore(ci): bump action-slack-notify and public-shared-actions (#14181)
Kong/action-slack-notify to v2_node20
Kong/public-shared-actions/security-actions/scan-docker-image to v4.0.1

KAG-6149
2025-01-17 15:10:10 +08:00
Niklaus Schen
6df1cf94b9 chore(ci): pin 3rd-party actions to specific commit hashes (#14165)
actions-rs/cargo and actions-rs/toolchain

KAG-6149
2025-01-16 10:57:45 +08:00
Andy Zhang
e9510e9abd chore(cd): update prerelease docker repository (#14121)
Separate the development docker repository from the production repository.

KAG-6137
2025-01-15 10:14:39 +08:00
Michael Martin
1903d97469 chore(build): rename rust target wasm32-wasi to wasm32-wasip1 (#13708) 2025-01-09 23:06:15 -08:00
Andy Zhang
3e1faacb69 fix(workflow): remove unused pr-diff workflow (#14119) 2025-01-09 18:10:54 +08:00
Andy Zhang
24b6212bf5 fix(workflow): rename workflows (#14117)
KAG-6136
2025-01-09 17:50:16 +08:00
Niklaus Schen
0a440b6eca chore(ci): pin third-party GitHub actions to specific commit hashes (#14115) 2025-01-09 12:54:52 +08:00
Qi
bb0a33e538 chore(CI): remove release-and-tests-fail-bot.yml (#14090)
KAG-6124
2025-01-08 16:01:20 +08:00
Wangchong Zhou
96076c3170 Revert "chore(cd): remove ubuntu-20.04"
This reverts commit 9251dc7916.
2024-12-10 13:21:40 +08:00
Wangchong Zhou
9251dc7916 chore(cd): remove ubuntu-20.04 2024-12-10 12:47:54 +08:00
Wangchong Zhou
98563fdf5e chore(cd): run CD in ubuntu-24.04 2024-11-28 18:45:11 +08:00
Wangchong Zhou
60d4bad246 fix(cd): install config-manager for rhel9 (#10796) (#13926)
it's recently removed from t he rockylinux:9 baseimage

* fix(explain_manifest): pipe output of rpm2archive
2024-11-26 09:41:33 +01:00
Michael Heap
fa9bed9f38 feat(plugin/redirect): plugin to redirect requests to a new location (#13900)
* feat(plugin/redirect): plugin to redirect requests to a new location

* feat(plugin/redirect): remove the "merge" strategy
2024-11-22 14:16:33 +01:00
windmgc
96a8bace50 chore(ci): resolve redis port conflicts for redis-auth 2024-11-19 08:22:21 -03:00
samugi
8a295b854b fix(ci): deck integration tests checkout secret
The checkout step of these tests was using a secret that is not
available to PRs opened from forks, which made it fail.
This commit removes the token (not needed in CE), which makes the action
fall back to the default github token.

It also adds the workflow to the `paths`, just to make sure it runs when
modified.
2024-11-15 14:30:42 +01:00
Guilherme Salazar
f88da7df62 refactor(pluginservers): code refactor & testing (#12858)
Context
-------

The overall goal of this commit is to refactor the external plugins
implementation, with the following goals in mind:
- Make plugin server code more approachable to unfamiliar engineers and
easier to evolve with confidence
- Harden configuration; ensure configuration defects are caught before
Kong is started
- Extend testing coverage

This is related to ongoing work on the Go PDK, with similar goals in
mind.

Summary
-------

This commit implements the following overall changes to plugin server
code:

- Move configuration related code into conf loader, so that configuration
loading and validation happens at startup time, rather than lazily, when
plugin data is loaded or pluginservers are started. Add tests for
current behavior.

- Move process-management code - for starting up plugin servers as well
as querying external plugins info - into the `process.lua` module.

- Introduce a `kong.runloop.plugin_servers.rpc` module that encapsulates
RPC initialization and protocol-specific implementations. This further
simplifies the main plugin server main module.

- Factor exposed API and phase handlers bridging code into a new `plugin`
module, which encapsulates an external plugin representation, including
the expected fields for any Kong plugin, plus external plugin-specific
bits, such as the RPC instance. Part of this external plugin-specific part
is the instance life cycle management. With this structure, the `kong.runloop.plugin_servers`
main module contains only general external plugin code, including a list
of loaded external plugins, and associated start/stop functions for
plugin servers.

Testing
-------

This commit also implements the following improvements to tests:
- Restructure fixtures to accommodate new external plugin servers --
namely, targeting for now in the existing Python and Javascript
- Add new test cases for external plugins:
  * External plugin configuration: add test cases for current behavior;
    in particular:
    - Fail if no `query_cmd` is provided;
    - Warn if no `start_cmd` is provided - this is by design, as
      external plugins servers can be managed outside of Kong
  * Plugin server start / stop - for both Go and Python plugins
  * External plugin info querying for both Go and Python plugins
  * External plugin execution - for both Go and Python plugins

Internal flow
-------------

`.plugin_servers.init:` loads all external plugins, by calling .plugin_servers.process and `.plugin_servers.plugin`
  `.plugin_servers.process`: queries external plugins info with the command specified in `_query_cmd` proeprties
  `.plugin_servers.plugin`: with info obtained as described above, `.plugin:new` returns a kong-compatible representation
                          of an external plugin, with phase handlers, PRIORITY, and wrappers to the PDK. Calls
                          `.plugin_servers.rpc` to create an RPC through which Kong communicates with the plugin process
    `.plugin_servers.rpc`: based on info contained in the plugin (protocol field), creates the correct RPC for the
                          given external plugin
      `.plugin_servers.rpc.pb_rpc`: protobuf rpc implementation - used by Golang
      `.plugin_servers.rpc.mp.rpc`: messagepack rpc implementation - used by JS and Python
`.plugin_servers.init`: calls `.plugin_servers.process` to start external plugin servers
  `.plugin_servers.process`: optionally starts all external plugin servers (if a `_start_cmd` is found)
     uses the resty pipe API to manage the external plugin process
2024-11-13 17:58:24 -03:00
Andy Zhang
b3ef650bd7 chore(ci): updated public-shared-actions to v2.7.3 (#13793) 2024-10-25 10:56:38 -03:00
Hayk
f13433a999 chore(ci): add docker image to the workflow summary (#13781) 2024-10-24 13:04:33 -04:00
Niklaus Schen
1ae928bfda chore(ci): bump Github actions to support node.js 20 (#13734)
KAG-5461
2024-10-11 11:42:14 +08:00
Wangchong Zhou
8210e880c6 chore(tests): use matched uid and gid in docker explain manifest test 2024-09-29 14:30:12 +08:00
Niklaus Schen
a32cf4a9fd chore(ci): pin bazel-contrib/setup-bazel to e403ad507104847c3539436f64a9e9eecc73eeec (#13705)
KAG-5221
2024-09-24 17:09:16 +08:00
Wangchong Zhou
c937edc625 fix(cd): remove build cache and repository cache on release workflow 2024-09-11 19:38:21 +08:00
Niklaus Schen
c498f41dc0 chore(ci): migrate bazelbuild/setup-bazelisk to bazel-contrib/setup-bazel (#13622)
According to the bazelbuild/setup-bazelisk README, the action is superseded by the bazel-contrib/setup-bazel. Please check if we need to migrate to the new action. One of the possible motivation of this migration is that node.js 16 is deprecated soon from github runners.

KAG-5221
2024-09-11 15:54:49 +08:00
Isa Farnik
f9e6f39dbc feat: Add Ubuntu 24.04 to build matrix (#13626)
* feat: add ubuntu 24.04 to build matrix

* fix(bazel): libxcrypt 2404 version comment

Co-authored-by: Wangchong Zhou <wangchong@konghq.com>

* fix(gha): rm unneeded python on runner

---------

Co-authored-by: Wangchong Zhou <wangchong@konghq.com>
2024-09-09 10:28:03 -07:00
samugi
4e38b965b9 feat(ci): pr diff
add an action to enable executing the `/prdiff <other-pr-url>` command,
to get the diff between the current PR's changes and the other PR's.

This gives a quick overview of the differences between two PRs and is
meant to facilitate the process of reviewing cherry-picks.
2024-09-02 16:02:45 +02:00
Zhefeng C.
168fbc0c97 chore(ci): fix build_and_test metadata (#13570) 2024-08-24 12:34:08 +08:00
Zhefeng C.
5f6836542d chore(ci): change to use the starting point of the previous branch for old plugin compatibility test (#13536)
When a new minor version is just bumped, the tag x.x.0 doesn't exist
yet. So we change it to use the starting point of the previous branch
instead of the tag x.x.0 of the previous branch.
2024-08-22 16:09:30 +08:00
saisatishkarra
dfc6029b2a chore(ci): fix empty cve results due to grype db cache staleness (#13544) 2024-08-22 16:09:09 +08:00
samugi
c2cfc82d6a chore(ci): deck integration tests fail CI on test failure
when deck integration tests fail, a request for changes was created in
the PR. This was often ignored: let's fail CI instead.
2024-08-20 17:19:29 +02:00
saisatishkarra
2c7fe86273 chore(ci): graceful scan-images job execution during grype cdn failures (#13507)
---------

Signed-off-by: saisatishkarra <saisatish.karra@konghq.com>
2024-08-19 23:42:45 +08:00
Murillo
28c5f6a23f fix(plugins/acme): username/password is a valid authentication method (#13496)
* fix(plugins/acme): username/password is a valid authentication method

Fixed an issue where username and password were not accepted as a valid
authentication method. This is already accepted as valid authentication
method in other plugins that use the shared Redis library such as the
rate-limiting plugin.

Depends on this PR of lua-resty-acme: https://github.com/fffonion/lua-resty-acme/pull/121

Fix FTI-6143
2024-08-19 09:15:33 -03:00
Zhefeng C
c2860b1af2 tests(plugins): add old version plugin compatibility test (#9077)
Test the old version plugin against the latest core code. We only focus on
whether there is any runtime error in the happy path. Because logic
changes from version to version, it is not feasible to test the behavior
of the plugin.

This test is not guaranteed to capture all interface changes, because it may not be able to cover all the dependent interfaces, and even if the interface is covered, it can't detect interface semantic changes or internal logic changes. These kinds of things still rely on the tests of the interfaces themselves to cover.

https://konghq.atlassian.net/browse/FTI-5923
2024-08-13 14:54:04 +08:00
Gabriele
f9da6c5078 chore(ci): add llm schemas to schema-change-noteworthy labeler (#13483) 2024-08-12 13:51:24 +08:00
dependabot[bot]
00753d9498 chore(deps): bump tj-actions/changed-files from 44.5.5 to 44.5.6 (#13404)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 44.5.5 to 44.5.6.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](cc733854b1...6b2903bdce)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-02 12:39:14 +08:00
Chrono
3a1eeed4a7 feat(core): introduce lua-resty-simdjson (#13421)
Summary:
* a new conf option `cluster_cjson` to switch between cjson and simdjson
* unit test for cjson compatibility

simdjson requires gcc 7.4+, it may not be compiled successfully on some Linux releases (aws-liunx-2). 

lua-resty-simdjson has released the first version [`1.0.0`](https://github.com/Kong/lua-resty-simdjson/releases/tag/1.0.0).

KAG-3647

---------

Co-authored-by: Wangchong Zhou <wangchong@konghq.com>
2024-07-30 17:51:42 +08:00