kongctl Release Highlights
✨ What's New
-
AI Gateway 2.1 support — kongctl now manages AI Gateway 2.1 resources via the updated Konnect SDK (v0.68.1). Declarative workflows for AI Gateway providers, models, agents, vaults, policies, MCP servers, and credential stores are fully supported. (#2285)
-
KONGCTL_CONFIG_FILEenvironment variable — You can now point kongctl at a custom config file path usingKONGCTL_CONFIG_FILE, making it easier to run in CI/CD pipelines or multi-environment setups without relying on XDG defaults. (#2231)export KONGCTL_CONFIG_FILE=/path/to/my/config.yaml kongctl get apis
🐛 Fixes & Improvements
-
Declarative name-based matching — Resources that previously required ID-based matching now match by name across the board: agents, models, vaults, policies, MCP servers, providers, auth strategies, stores, groups, credentials, and certificate families. This makes declarative manifests more portable and human-readable. (#2218, #2227, #2234, #2239, #2245)
-
Safe ordering for AI Gateway and control plane changes — Provider and model changes are now ordered to avoid dependency conflicts during apply, and control plane deletions are sequenced after any APIs that reference them. (#2283, #2275)
-
Explicit AI Gateway child names required — AI Gateway child resources now require explicit
namefields in manifests, preventing ambiguous implicit derivation. (#2249) -
Idempotent encrypt_fields policies — The
encrypt_fieldsproduce policy is now idempotent, so repeated applies no longer create duplicate entries. (#2196) -
Styled nested field diffs — Text-format diffs now render nested field changes with proper styling, making plan output easier to review. (#2201)
-
Custom YAML tags preserved in patch output — The
patchcommand now preserves custom YAML tags (e.g.,!vault) when writing output files. (#2215) -
TUI resource counts and pagination — The interactive view now shows loaded resource counts and handles model pagination more reliably. (#2236)
📚 Docs & DX
-
GitHub Actions CI/CD setup guide — New documentation walks users through setting up basic kongctl CI/CD pipelines with GitHub Actions. (#2178)
-
E2E replay refresh guide — Contributors now have clear guidance for refreshing E2E test replay recordings. (#2217)
🔗 Commit References
Features
d622499feat(config): support KONGCTL_CONFIG_FILE environment variable (#2231)8524c7cfeat(ci): consolidate E2E run results and transient diagnostics (#2247)69a99affeat(konnect): support AI Gateway 2.1 with patched SDK 0.68.1 (#2285)
Fixes
08a6e4ffix(deps): update module github.com/kong/kongctl to v1.16.0 (#2189)c7f81c0fix(declarative): make encrypt_fields produce policies idempotent (#2196)06c8bd9fix(declarative): show styled nested field changes in text diffs (#2201)a8f2a95fix(cmd): preserve custom YAML tags in patch file output (#2215)e5d88e6fix(declarative): match agents, models, and vaults by name (#2218)cd12191fix(e2e): preserve initial plan coverage across partial sync retries (#2221)d160ff8fix(e2e): separate request deadlines and recover stalled reads (#2225)8e4aee5fix(declarative): match policies and MCP servers by name (#2227)7a986ecfix(declarative): match providers and auth strategies by name (#2234)a14ff30fix(tui): show loaded resource counts and harden model pagination (#2236)bf8c7a1fix(e2e): bound reset waits and trace HTTP connection phases (#2237)5b55211fix(declarative): match stores groups and credentials by name (#2239)d9466e2fix(declarative): match certificate families by title and name (#2245)9c4a3ecfix(declarative): require explicit AI Gateway child names (#2249)4a566affix(deps): update dependency astro to v7.3.2 (#2256)779c594fix(deps): update module golang.org/x/term to v0.46.0 (#2257)ae3e4a6fix(deps): update module golang.org/x/text to v0.42.0 (#2258)0c5e116fix(e2e): allow concurrent portal-owned cleanup replay (#2264)9f888b4fix(e2e): make team creation and cleanup retry-safe (#2268)ec0948bfix(declarative): order control plane deletion after referenced APIs (#2275)bade295fix(deps): update module github.com/mattn/go-runewidth to v0.0.30 (#2280)44a7a47fix(declarative): order AI Gateway provider and model changes safely (#2283)
Other Changes
5ad6323test(e2e): replay Event Gateway consume-policy scenarios on PRs (#2188)ec6261arefactor(declarative): register organization assignment loading (#2190)0b4ba7dtest(e2e): verify event gateway dump excludes children by default (#2193)1284ad3test(e2e): expand event gateway external sync child coverage (#2192)3c8d475test(e2e): cover decrypt_fields consume policy lifecycle (#2194)cb0b366refactor(simplify): streamline vault matching and persistent flags (#2195)a13a911refactor(declarative): register ordered collection validation (#2197)f3fd82achore(deps): update dependency@playwright/testto v1.63.0 (#2206)8b4f7dechore(deps): update zgosalvez/github-actions-ensure-sha-pinned-actions action to v5.0.8 (#2214)bfdc2a0test(e2e): replay Portal IP allow-list scenarios on PRs (#2207)dd6c2dcrefactor(declarative): validate pipeline coverage and register dump collectors (#2208)b799beechore(deps): update Go version to 1.26.2 and upgrade libssl3 and libcrypto3 in Dockerfile (#2213)8d13ecdtest(e2e): cover control-plane sync updates and idempotency (#2216)ca542detask(docs): guide agents through E2E replay refresh (#2217)4669f7dchore(deps): update dependency goreleaser/goreleaser to v2.18.1 (#2219)c831d87build(deps): bump devalue from 5.8.2 to 5.9.2 in /site (#2220)da8e041test(e2e): replay Portal pages scenarios on PRs (#2226)ba93aaechore(deps): update node.js to v24.21.0 (#2233)02ecbccchore(deps): update github/gh-aw-actions action to v0.89.16 (#2232)5ee6a15task(e2e): parallelize reset inventory reads (#2229)a030180chore(deps): update github/gh-aw-actions action to v0.89.17 (#2241)afee854test(e2e): replay Portal teams scenarios on PRs (#2240)a0bd62frefactor(simplify): streamline declarative validation and planner helpers (#2242)fbbd6cbrefactor(simplify): streamline planner comparisons and dump checks (#2243)b8a3833test(e2e): replay Portal email templates on PRs (#2244)2d4ee64refactor(simplify): simplify MCP server planning and retry config (#2246)e53392btest(e2e): replay Portal customization on PRs (#2248)dcb908dtest(e2e): replay scenarios requiring registered organization users (#2250)508b6a3test(e2e): replay portal-owned dump round trips (#2252)154c37drefactor(declarative): share consumer-group lifecycle reconciliation (#2255)bed7fb9chore(deps): update dependency prettier-plugin-astro to v1 (#2259)d279cdftest(e2e): balance user scenarios across acceptance shards (#2260)fc7d124refactor(declarative): unify AI Gateway child planning traversal (#2262)517e64btest(e2e): make external API parent assertions retry-safe (#2263)c13a382chore: upgrade Go version to 1.26.8 (#2267)0d27fa5task(sdk): update to patched sdk-konnect-go v0.66.0 (#2261)714f6d0refactor(declarative): register AI Gateway child export coverage (#2269)2dc3d87test(e2e): migrate retry-sensitive scenario assertions (#2270)0e371d3refactor(declarative): register Event Gateway child export coverage (#2273)18bf5f1chore(deps): update dependency@types/nodeto v24.13.4 (#2274)3da402crefactor(declarative): register API child export coverage (#2276)e568ef3test(e2e): make adoption cleanup assertions retry-safe (#2277)c5cfb23refactor(declarative): register Portal child export coverage (#2281)dffd706test(e2e): harden team and API implementation assertions for retries (#2284)e80ce76task(docs): guide basic GitHub Actions CI/CD setup (#2178)e62a1a6task(ci): bump KSAI to v3.104.1 (#2286)ae9bb99refactor(declarative): share Portal child planning traversal (#2287)f2de508refactor(declarative): complete managed dump registration coverage (#2289)c5ea2eetest(e2e): replan saved deck applies before retrying (#2288)0710ba6test(e2e): retry transient reset failures by HTTP status (#2290)c7e91e2refactor(declarative): share MCP server lifecycle reconciliation (#2293)79ddd85test(e2e): make system account sync assertions retry-safe (#2291)86287a6test(e2e): poll adoption plans for read-only convergence (#2292)d406688refactor(declarative): share owner collection reconciliation (#2294)1397242refactor(declarative): share optional Portal singleton reconciliation (#2295)57628cfrefactor(declarative): share indexed Event Gateway child reconciliation (#2296)13ff7b2test(e2e): harden saved-plan apply workflows against retries (#2297)b8547fbrefactor(declarative): share lifecycle decisions for roots owning children (#2298)17cfb50test(e2e): extend saved-plan retry recovery across scenarios (#2300)
🙏 Contributors
Thanks to @VarunAthreya and @bartsmykla for their contributions to this release!
Full Changelog: v1.16.0...v1.17.0> Generated by Release · opus46 · 105.1 AIC · ⌖ 32.1 AIC · ⊞ 4.4K