- v1.41.2
- v1.41.1
- v1.41.0
- v1.40.3
- v1.40.2
- v1.40.1
- v1.40.0
- v1.39.6
- v1.39.5
- v1.39.4
- v1.39.3
- v1.39.2
- v1.39.1
- v1.39.0
- v1.38.1
- v1.38.0
- v1.37.0
- v1.36.2
- v1.36.1
- v1.36.0
- v1.35.0
- v1.34.0
- v1.33.0
- v1.32.1
- v1.32.0
- v1.31.1
- v1.31.0
- v1.30.0
- v1.29.2
- v1.29.1
- v1.29.0
- v1.28.1
- v1.28.0
- v1.27.1
- v1.27.0
- v1.26.1
- v1.26.0
- v1.25.0
- v1.24.0
- v1.23.0
- v1.22.1
- v1.22.0
- v1.21.0
- v1.20.0
- v1.19.1
- v1.19.0
- v1.18.1
- v1.18.0
- v1.17.3
- v1.17.2
- v1.17.1
- v1.17.0
- v1.16.1
- v1.16.0
- v1.15.1
- v1.15.0
- v1.14.0
- v1.13.0
- v1.12.4
- v1.12.3
- v1.12.2
- v1.12.1
- v1.12.0
- v1.11.0
- v1.10.0
- v1.9.0
- v1.8.2
- v1.8.1
- v1.8.0
- v1.7.0
- v1.6.0
- v1.5.1
- v1.5.0
- v1.4.0
- v1.3.0
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v0.7.2
- v0.7.1
- v0.7.0
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.0
- v0.3.0
- v0.2.0
- v0.1.0
Release date: 2024/11/06
- Added fix to validate for top-level type in parameter schemas in request-validator plugin while
using
deck file openapi2kong
. go-apiops #215 - Added support for defining path parameters outside REST methods for request-validation while
using
deck file openapi2kong
. go-apiops #216 (#1429)[#1429]
Release date: 2024/10/22
deck gateway validate
for Konnect supports Konnect configs passed by CLI flags now. Earlier, the validation was failing if control plane information was passed via CLI flags.
Release date: 2024/10/21
deck gateway validate
command now supports Konnect. Konnect entities can be validated online with this change. #1335
- Quoted type constraints are removed for Terraform. Type constraints in quotes were required in Terraform <= 0.11,
It is now deprecated and will be removed in a future Terraform versions. Thus, removed them from kong2tf generation, so as
to avoid potential errors in
terraform apply
. #1412
Release date: 2024/09/26
- Fixed the behaviour of --konnect-addr flag in case default Konnect URL is used with it. Earlier, using the default URL with the said flag ran the command against the gateway. #1398
- Bumped up go-apiops to
v0.1.38
and replaced yaml/v3 package with Kong's own fork. This change allows deck commands to process OAS files with path lengths > 128 characters which was a limitation from the original yaml library.#1405 go-apiops #208 Kong/yaml #1
Release date: 2024/09/19
- Add support for default lookup services. #1367 go-database-reconciler #130
Release date: 2024/09/12
- Fixed the issue in
deck file kong2tf
command where users were facing a panic error with using jwt plugins when passing an empty list to cookie_names field. #1399 - Bumped up go-apiops library. The updated lib has a fix for
deck file openapi2kong
command where parameters.required field was coming as null, if not passed by user. #1400 go-apiops #205 - Bumped up go-kong library. The updated lib prevents unset plugin's configuration "record" fields to be filled with empty tables: {} for deck files. Since, deck doesn't fill defaults anymore, this fix ensures that deck doesn't pass empty record fields while syncing plugin configurations. #1401 go-kong #467
Release date: 2024/09/10
- Added a new
file kong2tf
command to convert a deck file to Terraform configuration #1391, along with two command line flags:--generate-imports-for-control-plane-id
: If this is provided, import blocks will be added to Terraform to adopt existing resources.--ignore-credential-changes
: If this is provided, any credentials will be ignored until they are destroyed and recreated.
- Fixed the issue that was preventing a consumer to be in more than one consumer-groups #1394 go-database-reconciler #140
- Fields marked as auto in schema are filled with nil in the config sent to the Control Plane. In case a field is marked as auto and is a required field, deck would throw an error if the user doesn't fill it in the declarative configuration file. #1394 go-database-reconciler #139
- Defaults are no longer filled by deck. They will only be used for computing a diff, but not sent to the Control Plane. #1394 go-database-reconciler #133
Release date: 2024/08/22
- Fixed the issue where plugins scoped to consumer-groups were shown as global by deck. #1380 go-database-reconciler #134
Release date: 2024/08/22
- Fixed
deck file openapi2kong
command where parameter schema wasn't getting generated properly. #1355 go-apiops #186
Release date: 2024/08/01
- Correct --no-color flag behaviour in non-tty environments The changes retain the default behaviour of showing colors in tty and no colors in non-tty if no flag is passed. However, on passing the --no-color=false, non-tty environments can also get colored output.#1339
- Add validation on
deck file patch
to avoid confusing behaviour. The command intends to patch input files either via selector-value flags or command arguments. The change ensures that at least one of these is present, but not both at the same time.#1342 - Fix rendering for expression routes, keeping kong gateway version in consideration. go-database-reconciler #118 #1351
Release date: 2024/07/16
- Fixes #1228 by updating the golang version from 1.21 to 1.22, thus removing the inconsistency between decK releases' version and the one used in the project. #1336
Release date: 2024/07/04
- Correct IPv6 targets comparison to avoid misleading diffs and failing syncs. #1333 go-database-reconciler #109
- Make lookups for consumer-group's consumers more performant. #1333 go-database-reconciler #102
Release date: 2024/06/28
- Bumped CodeGen #1319
Release date: 2024/06/28
- Bump Go version to 1.22.4 #1321
Release date: 2024/05/29
- Correct bug on plugins config comparison. #1311 go-database-reconciler #95
Release date: 2024/05/27
- Correct plugins config comparison to avoid misleading diffs. #1306 go-database-reconciler #93
- Make KIC v2 Gateway API v2 config generation deterministic. #1302
- Correct tags filtering with Consumers and Consumer Groups. #1293 go-database-reconciler #88
- Correct tags filtering with Consumers and Consumer Groups. #1293 go-database-reconciler #88
- Correct typo in inso-compatible flag of
openapi2kong
command. #1295 - Correct bad example on the
add-plugins
command cli help. #1294 - Removed the unsupported
json-output
flag fromvalidate
#1278 - Fixed race condition in
lint
command (bump vacuum library) #1281
openapi2kong
now generates request-validator schemas for content-types with+json
suffix. #1303 go-apiops #175
Release date: 2024/04/10
- Adds a
--konnect-compatibility
flag todeck gateway validate
that validates Konnect readiness from an existing decK state. #1227
Release date: 2024/04/10
- Auto-generate rla (rate-limiting-advanced) namespaces in the
convert
subcommand when using Consumer Groups too. #1263 - OpenAPI 2 Kong: change regex priority field to int from uint, to allow for negative priorities. go-apiops # 162
Release date: 2024/03/21
- Avoid showing bogus diffs due to endpoint_permission roles array not being sorted. #71 go-database-reconciler
- Do not fetch Kong version when using
validate
command. #1247
Release date: 2024/03/13
- This completes the namespace feature, by adding the host-based namespacing to the existing path-based namespacing. #1241
- Use correct workspace when running online validation. #1243
- Limit path-param names to 32 chars (
go-apiops
) #153 go-apiops - Correct various issues with the
file kong2kic
command. #1230
Release date: 2024/02/29
- Added a new
file kong2kic
command to convert a Kong declarative file to k8s resources for the Kong Ingress Controller (supports Ingress and Gateway resources). #1050
- auto-generate rla (rate-limiting-advanced) namespaces in the
convert
subcommand. #1206
Release date: 2024/02/08
- Correct consumer_groups -> consumers reference and allow importing their relationships
from upstream using
default_lookup_tags
. #1212 go-database-reconciler #57 - CLI fix: error out if
deck file addplugins
gets a--selector
but no--config
. #1211
Release date: 2024/02/01
- Correct a defect preventing TLS configuration flags from being used with Konnect. #1194 go-database-reconciler #52
Release date: 2024/01/29
- Correct a defect preventing the use of plugins config deduplication when consumer-group scoped plugins are used. #1190 go-database-reconciler #45
Release date: 2024/01/25
- Added a new
file namespace
command to facilitate path-based namespacing. #1179
Release date: 2024/01/22
- Fix bug when using consumer-group scoped plugins with multiple nested entities. #1177 go-database-reconciler #45
Release date: 2024/01/22
- Add missing analytics for
file
commands. #1171
Release date: 2024/01/11
- Correct bug when consumer-group-consumer doesn't have an username. #1113
- Improve deprecation warnings to reduce upgrade friction and show warning when reading STDIN from terminal. #1115
- 'file openapi2kong': Server ports will now be properly parsed, 32767 to 65535 are now accepted. apiops #105
- 'file openapi2kong': will now generate OpenIDConnect plugins. apiops #107
- Moved the database reconciler to its own project. #1109
Release date: 2023/11/08
- Avoid unnecessary Konnect API call to retrieve its version. #1095
- Correct default values when using
gateway dump
. #1094
Release date: 2023/11/07
- Correct a bug preventing logins with Konnect in the EU region. #1089
Release date: 2023/11/03
- Add support for konnect AU region. #1082
- Resolved an issue in the
deck file validate
anddeck gateway validate
commands that prevented them from properly processing the provided file arguments. #1084
Release date: 2023/11/02
- Old cli commands would also output to stdout by default. Now back to default "kong.yaml". #1073
- Deprecation warnings were send to stdout, mixing warnings with intended output. Now going to stderr. #1075
Release date: 2023/10/31
IMPORTANT: The top-level CLI commands have been restructured. There is backward compatibility, but in the future that will be removed. Please update to the new structure (see 'changes').
IMPORTANT: _The recently added decK command
deck file openapi2kong
implemented different techniques for generating decK configuration from OpenAPI spec files then the legacyinso
tool. In particular, entity names and identifiers were generated differently in the more recent implementation. For existinginso
users, this may cause issues with migrating to the new tool as names and IDs are used by Kong Gateway to identify entities. In response we have added a--inso-compatible
flag to thedeck file openapi2kong
command to support a smoother migration for these users. For more information on this and other APIOps commands, see the go-apiops documentation page.
- Allow arrays to be specified on the
file patch
CLI command. #1056
- Do not overwrite
created_at
for existing resources when runningsync
command. #1061 deck file openapi2kong
creates names for entities that differ from the olderinso
tool. This has been fixed, but requires the new--inso-compatible
flag to not be breaking. Adding that flag will also skip id generation. #962
-
Add analytics for local operations #1051
-
The top-level CLI commands have been restructured. All commands now live under 2 subcommands (
gateway
andfile
) to clarify their use and (in the future) reduce the clutter of the many global flags only relevant to a few commands. Using the old commands will still work but will print a deprecation notice. Please update your usage to the new commands. The new commands are more unix-like;- default to
stdin
/stdout
and no longer to "kong.yaml
" - the
-s
/--state
flag is gone, files can be listed without the flag - the
--online
flag forvalidate
is gone; usegateway validate
for online,file validate
for local.
PR #962
- default to
Release date: 2023/09/27
- Fix inconsistency when managing multiple consumers having equal
username
andcustom_id
fields. #1037 - Correct a bug preventing the deprecated
--konnect-runtime-group-name
flag to work properly. #1036
Release date: 2023/09/25
- Add
--konnect-control-plane-name
flag and deprecate--konnect-runtime-group-name
#1000
- Bumped
go-apiops
tov0.1.21
to include various fixes on APIOps functionality #1029
Release date: 2023/09/07
- Raise an error if state files have different Runtime Groups #1014
- Correct consumers validation when
custom_id
is used #1012 - Remove hardcoded default value for Routes'
strip_path
field. Defaults are pulled via API anyway. #999
Release date: 2023/08/09
- Remove fallback mechanism formely used to authenticate with either "old" or "new" Konnect. #995
Release date: 2023/07/28
- Added a new command
file render
to render a final decK file. This will result in a file representing the state as it would be synced online. #963 - Added a new flag
--format
tofile convert
to enable JSON output. #963
- Use same interface to pull Consumer Groups with Kong Gateway and Konnect. This will help solving the issue of using tags with Consumer Groups when running against Konnect. #984
- Fix Consumers handling when a consumer's
custom_id
is equal to theusername
of another consumer. #986 - Avoid misleading diffs when configuration file has empty tags. #985
Release date: 2023/07/24
- Add a new flag (
--json-output
) to enable JSON output when usingsync
anddiff
commands #798 - Improved error logs coming from files validation against Kong's schemas. #976
- Added a new command
file openapi2kong
that will generate a deck file from an OpenAPI 3.0 spec. This is the replacement for the similarinso
functionality. The functionality is imported from the go-apiops library. #939 - Added a new command
file merge
that will merge multiple deck files. The files will not be validated, which allows for working with incomplete or even invalid files in a pipeline. The functionality is imported from the go-apiops library. #939 - Added a new command
file patch
for applying patches on top of a decK file. The patches can be provided on the commandline, or via patch files. The deck file will not be validated, which allows for working with incomplete or even invalid files in a pipeline. The functionality is imported from the go-apiops library. #939 - Added a new commands
file add-tags/list-tags/remove-tags
to manage tags in a decK file. The deck file will not be validated, which allows for working with incomplete or even invalid files in a pipeline. The functionality is imported from the go-apiops library. #939 - Added a new command
file add-plugins
for adding plugins to a decK file. The plugins can be provided on the commandline, or via config files. The deck file will not be validated, which allows for working with incomplete or even invalid files in a pipeline. The functionality is imported from the go-apiops library. #939
- Fix Certificates & SNIs handling when running against Konnect. #978
Release date: 2023/07/03
- Honor HTTPS_PROXY and HTTP_PROXY proxy environment variables #952
Release date: 2023/06/22
- Handle missing service and route names detecting duplicates #945
- Update go-kong to fix a bug causing a panic when filling record defaults of an empty array. #345
Release date: 2023/06/07
- Add indent function to support multi-line content #929
- Update go-kong to fix a bug causing wrong injection of defaults for non-required fields and set of record. go-kong #333 go-kong #336
Release date: 2023/05/31
- Add support for updating Services, Routes, and Consumers by changing their IDs, but retaining their names. #918
- Return proper error when HTTP calls fail on validate. #869
- Replace old docs link in
convert
and fix its docstring. #905
- Bump Go toolchain to 1.20. #898
Release date: 2023/04/24
- Add the license type to the file package.
Release date: 2023/03/21
- Add support to numeric environment variables injection
via the
toInt
andtoFloat
functions. #868 - Add support to bolean environment variables injection
via the
toBool
function. #867
- Skip Consumer Groups and the related plugins when
--skip-consumers
#863
Release date: 2023/02/21
- Add
instance_name
field to plugin schema #844
Release date: 2023/02/10
- Use global endpoint to retrieve Konnect Organization info. #845
Release date: 2023/02/09
- Remove deprecated endpoint for pinging Konnect so to add Konnect System Accounts access token support. #843
Release date: 2023/02/08
- Handle konnect runtime groups pagination properly. #841
- Fix workspaces validation with multiple files #839
Release date: 2023/01/24
- Allow writing execution output to stdout in Konnect mode. #829
- Add
tags
support to Consumer Groups #823 - Add "update" functionality to Consumer Groups #823
- Do not error out when EE list endpoints are hit but no license is present in Kong Gateway. #821
Release date: 2022/12/22
- Update go-kong to fix a bug causing wrong injection of defaults for arbitrary map fields. go-kong #258
Release date: 2022/12/21
- Do not print full diffs with Create and Delete actions. #806
- Update go-kong to fix a bug causing misleading diffs with nested plugins configuration fields. go-kong #244
- Add support to Consumer Groups for both Kong Gateway and Konnect. #760
- Enhance error messages during dump for plugins. #791
- Add support to defaults injection when running against Konnect. #788
- Remove
github.com/imdario/mergo
replace fromgo.mod
and bumpgo-kong
tov0.34.0
#809
Release date: 2022/11/09
- Fix issue with
ping
when running against Konnect using a PAT. #790
Release date: 2022/11/09
- Mask DECK_ environment variable values at diff outputs. #463
- Add
--yes
flag toconvert
subcommand to bypass user confirmation and run non-interactively. #775 - Add support to Kong Vaults. #761
- Remove selected tags information from entities level when
using
dump
. #766 - Use
kong.yaml
as default value withconvert
subcommand when no--output-file
is provided. #775 - Add
-w
shorthand flag support tosync
. #765 - Handle correctly encoded whitespaces into services'
url
#755 - Make sure decK can update in place consumers' username when
custom_id
is also set. #707
Release date: 2022/09/27
- Fix decK dump when running against Konnect #758
Release date: 2022/09/26
- Add support for Kong Gateway 3.0.
- Add support to 2.x to 3.x format migration. #753
- Add support to the new Kong
expressions
flavor fields. #752
- Make sure decK runs against Kong Gateway if a non-default
--kong-addr
is provided, even if some lingering Konnect environment variables are present. #738 deck validate
with--online
flag is not currently supported with Konnect cloud. A clear error message is provided when this command is invoked. #718- Improve error message when workspace is used in Konnect mode. #696
Release date: 2022/08/19
- Add support to multi-geo for Konnect. #732
- Support PAT (Personal Access Tokens) for Konnect authentication. #710
Release date: 2022/07/14
- Fixed a failure when performing a diff against non-existent workspaces. #702
- Added support for plugin
ordering
field. #710
Release date: 2022/07/07
- Make sure decK correctly includes select_tags when dumping from Konnect. #711
Release date: 2022/07/05
- Add rate-limiting capabilities to Konnect client. #705
Release date: 2022/06/06
- Only include referenced objects IDs in API requests to fix issue with Konnect. #693
- Make Oauth2Credential's
redirect_uris
field not required as it's been so since Kong1.4.0
. #688
Release date: 2022/05/13
- Log descriptive names when configuring plugins on other entities. #662
- Docker images now include
jq
to assist with pre-processing environment substitutions. #660
- Service's
enabled
field is now correctly parsed when present in config files. #677 - Route references to services by name are now properly handled when printing diffs. #657
- decK uses its own user-agent header value for Konnect commands also. #654
Release date: 2022/04/22
- Inject decK version into
User-Agent
header for requests originating from decK #652 - Konnect can now be configured via the main
deck
command, whiledeck konnect
is now considered deprecated. #645 - Added
--skip-ca-certificates
flag. When present, decK will not attempt to sync CA certificates. This assists with using decK to manage multiple workspaces. CA certificates do not belong to a specific workspace, but can be seen and managed through workspaced endpoints. decK will attempt to remove them if they are not present in a state file when syncing a workspace, even if they were created for use with configuration in another workspace. #617 - Users can no longer set default values for fields where a default value
does not make sense (such as fields with unique constraints, like
id
), and will print an error indicating the restricted field. #613 - Universal binaries are now available for OS X. #585
- Validation failures now log the name or ID of the invalid entity. #588
- Fixed unreliable diff outputs due to external dependency (gojsondiff). #538
- De-duplicated
select_tags
in file metadata to avoid erroneous mismatch reports when using--select-tags
with multiple state files. #623 - Fixed several marshalling and URL construction issues for RBAC endpoint permissions. #619 go-kong #148
- Fixed a regression that broke workspace creation in v1.11.0. #608
- Fixed a regression that broke plugins dedup feature in v1.11.0. #594
- Invalid YAML in state files no longer parses as an empty target state. #590
- decK now uses Go 1.18. #626
Release date: 2022/02/17
- decK now populates core entities defaults from their schema leveraging the Admin API. #573
- decK now populates plugins defaults from their schema leveraging the Admin API. #562
- decK prevents user interaction with any internal-only Konnect plugins. #564
- decK now supports mTLS Kong Admin API authentication via
--tls-client-cert
/--tls-client-cert-file
and--tls-client-key
/--tls-client-key-file
flags. #509 - decK
validate
now has an--online
flag enabling entity validation against the Admin API. This lets users validate their configuration before deploying it. #502
- decK now can set zero values (
false
,""
,0
) in entity fields. #580 - Attempting to run
sync
on multiple workspaces now returns an error rather than applying a single workspace to all entities. #576 - Skip
consumers
when using--skip-consumers
with thesync
command. #559 - The
--analytics
flag now works with thekonnect ping
command. #569 - Duplicate
select_tags
in separate files and--select-tags
no longer cause errors. #571 - The
--header
flag is now enabled for Konnect commands. #557
Release date: 2021/12/14
- decK can now inject cookies in its request to Kong Gateway.
These cookies can be session cookies set by the Admin server for auth.
--kong-cookie-jar-path
is the cli flag that indicates path to cookie-jar file #545
Release date: 2021/12/09
- The https://hub.docker.com/r/hbagdi/deck image is deprecated. 1.8.2 is the last release uploaded to it. You must switch to https://hub.docker.com/r/kong/deck to use 1.9.0 and future releases.
- decK now handles
_transform
state file metadata. #520
--select-tag
applies its tags to newly-created entities whether or not the tag is also present in the state file metadata. #517- Timeouts in
Syncer.Run()
now return an error instead of syncing only a subset of the requested changes and reporting success. Downstream clients using decK as a library can determine when their sync attempt failed due to a timeout. #529
Release date: 2021/09/27
- ARM64 Linux and Darwin binaries are now available.
- Workspace existence checks now work with workspace admins.
Release date: 2021/09/22
- Update go-kong to v0.22.0 to fix a bug with detecting non-existent workspaces.
Release date: 2021/09/13
- Flag
--silence-events
has been added todeck diff
anddeck sync
commands. The flag disables output of events to stdout. #393 - decK now supports shell completions. To set up completion, please read the output
of
deck completion --help
command. Support shells are Bash, Zsh, Fish and Powershell. #416 - decK now support defaults. This feature helps with avoiding repetition of common fields in Kong's configuration and instead specifying them in a single place. #419
- A new
--timeout
flag has been added to the root command to specify timeouts in seconds for various requests to Kong. #450
- Fix a data race with operations counters #381
- Correct the formats for conversion #460
- Updates to target entity do not result in an error anymore #480
- Variety of linting updates
- Variety of refactors to improve the code health of the project
- A security policy has been added to the repository
Release date: 2021/05/20
- State files now support environment variable-based templating. decK can substitute the value of an environment variable into an object in the state file. This is useful for avoiding persistent cleartext storage of sensitive values and populating values that vary between similar configurations. #286
- Sort state file objects by name, to ease comparing state files from similarly-configured instances that do not share object IDs. #327
- Added a default timeout to HTTP requests. 37eeec8
- Implemented
convert
command for converting state files between Kong Gateway and Konnect configuration formats. This is aimed to solving migration problem between on-premise Kong clusters and Konnect SaaS. #330 - Add
--konnect-addr
flag to set Konnect address. This can be used to target Konnect data-centers in geographical regions other than the US. #374 - Added support for document objects for Service Packages and Versions in Konnect. #388
- Fixed duplicate error message prints. #317
- Handle mtls-auth credential API behavior when Kong Enterprise is running in free mode. decK no longer treats the free mode mtls-auth behavior as a fatal error. #321
--select-tag
tags are now applied to credentials. #282- Fix empty Service Package descriptions not syncing correctly. #347
- Updating certificate fields no longer deletes SNI associations. #386
- Refactored utility functionality to take advantage of new features in go-kong.
- Added reworked usage analytics. #379
Release date: 2021/04/08
- decK now prompts by default before overwriting existing state files when
dumping config. Including
--yes
in args assumes yes and overwrites state files without prompting. #285
- Removed analytics. #301
- Changed
github.com/blang/semver
module togithub.com/blang/semver/v4
. If you use decK'sfile
package in other applications, you will also need to update the semver module used in your application. #303
Release date: 2021/03/23
- Targets with identical IP and port values no longer conflict when created for different upstreams. #280
- Fixed issue where Konnect flag defaults overwrote non-Konnect flag defaults,
which broke the
--all-workspaces
flag. #290 - Diff output no longer prints resource timestamp information. #283
- Tracebacks no longer include unwanted information specific to the build environment. #284
Release date: 2021/03/06
- decK now supports Kong Konnect. Configuration for Kong Konnect can be exported,
diffed and synced using decK. A new command
konnect
has been introduced for this purpose, which has 4 sub-commands:ping
,dump
,diff
, andsync
. This feature in decK is currently inalpha
state, which means there can be breaking changes to these commands in future releases. - decK now supports two new Kong Enterprise resources: RBAC role and RBAC
endpoint-permission. Special thanks to @tjrivera
for this contribution. A new flag
--rbac-resources-only
has been introduced to manage RBAC-only configuration via decK. #276 - Certificates and Kong Services can now be managed separately. A check for existence of Certificate has been relaxed to make this possible. #269
Release date: 2021/02/01
- deck now handles the
request_buffering
andresponse_buffering
options forRoute
#261
Release date: 2021/01/15
- decK will now retry sync operations that encounter a 500 error several times before failing completely. #226
- Fixed regression that broke workspace creation. #252
- Analytics failures no longer delay execution. #254
Release date: 2021/01/06
- Fixed a bug that disabled verbose output. #243
- decK no longer considers tag order significant. This avoids unnecessary resource updates for Cassandra-backed clusters. #240
Release date: 2020/11/18
- Sync operations now handle plugins with array configuration correctly. #229
- Removed unecessary permissions requirement for checking workspace existence. #225
Release date: 2020/10/19
- decK now prints a change summary even if it encountered an error. #197
- decK now prints the ID of entities that it could not successfully sync. #199
- Issues sending analytics will now emit a panic. #200
- decK now creates the workspace specified with
--workspace
if it is not already present. #201 - decK prints descriptive information about duplicated entities. #204
- Resolved a concurrency bug during syncs. #202
Release date: 2020/08/04
decK has move under Kong's umbrella.
Due to this change, the package path has changed from github.com/hbagdi/deck
to github.com/kong/deck
.
This release contains the updated go.mod
over v1.2.0. There are no
other changes introduced in this release.
Release date: 2020/08/04
- decK is now compatible with Kong 2.1:
- New Admin API properties for entities are added.
- Ordering of operations has changed to incorporate for new foreign-relations #192
- New flag
--db-update-propagation-delay
to add an artifical delay between Admin API calls. This is introduced for better compatibility with Cassandra backed installations of Kong. #160 #154 - decK now errors out if there are invalid positional arguments supplied to any command.
- Stricter validation of state files. #162
- ID property of CACertificate is always exported. #193
- Ignore error for missing
.deck
config file #168 - Correctly populate port in Service's URL (a sugar attribute) #166
- Correct the help text for
--tls-server-name
flag #170 - Better sanitization of
--kong-addr
input #171 - Fix typos in the output of
--help
#174 - Improve language of warning message for basic-auth credentials #145
- Deduplicate
select_tags
input #183
- Added support for managing
mtls-auth
credentials. #175 - decK now automatically creates a workspace if one does not already exist
during a
sync
operation. #187 - Added
--workspace
flag toping
command. This can be used to verify connectivity with Kong Enterprise when running as an RBAC role with lower priviliges. - New
--workspace
flag fordiff
andsync
command to provide workspace via the CLI instead of state file. Workspace defined in state file will be overriden if this flag is provided. - New
--skip-workspace-crud
flag to skip any workspace related operations. This flag can be used when running as as an RBAC role with lower priviliges. The content can be synced to specific workspaces but decK will not attempt to create or verify existence of a workspace. #157 - Additional checks for existence of workspace before performing dump or reset #167
- Improve end-user error message when workspace doesn't exist
- CI changed from Travis to Github Actions
- Improved code quality with addition of golangci-lint
- Default branch for the project has been changed from
master
tomain
Release date: 2020/04/05
- Added support for multiple files or directories to
-s/--state
flag. Use-s
multiple times or specify multiple files/directories using a comma separated list. #137 - Performance
decK should be much faster than before. Requests to Kong are
now concurrent.
dump
,sync
,diff
andreset
commands will be faster than before, by at least 2x. - SNI entity in Kong is not supported natively supported
#139. Most users will not observe
any changes.
id
andtags
are now supported for the SNI entity in Kong.
- Go has been upgraded to 1.14.1
- Alpine base image for Docker has been upgraded to 3.11
- Multiple other dependencies have also been upgraded, but these have no user-visible changes.
- Default values for
retries
in Service entity andHTTPSVerifyCertificate
in Upstream entity have been removed. These values can be set to0
andfalse
respectively now. #134
Release date: 2020/03/14
- Fix certificate diff for certificates with no associated snis #131
Release date: 2020/02/21
- Fix broken
ca_certificate
entity support #127
Release date: 2020/02/14
- decK now supports the
url
sugar property on Service entity. #123
Release date: 2020/01/18
- decK doesn't error out if bundled plugins in Kong are disabled #121
- Consumer-specific plugins are excluded when
--skip-consumers
is used #119
go-kong
has been upgraded to v0.11.0, which brings in support for Kong 2.0.- All other dependencies have also been upgraded, but these have no user-visible changes. b603f9
Release date: 2019/12/29
- Kong's version is correctly parsed; v0.7.1 is unusable because of this bug. #117
Release date: 2019/12/24
- Backward compatibility for credentials; tags are no longer injected into credentials for Kong versions below 1.4 #114
Release date: 2019/12/07
sync
command now shows the progress of the sync. Previously, the command did not output anything but errors.
- Configuration of multiple plugin instances can now be de-duplicated using
_plugin_configs
field in the state file. #93 - A summary is now presented at the end of a
diff
orsync
operation showing the count of resources created/updated/deleted. #101 sync
command now shows the progress of the sync as the sync takes place, making it easier to track progress in large environments. #100--non-zero-exit-code
flag hsa been added todiff
command. Using this flag causes decK to exit with a non-zero exit code if a diff is detected, making it easier to script decK in CI pipelines. #98- A new docs website has been setup for the project: https://deck.yolo42.com
Release date: 2019/11/16
Release date: 2019/11/08
- Check for workspace makes call the right endpoint #94
- Error checking is performed correctly when ensuring existence of a workspace #95
- Multiple upstream definitions are read correctly and synced up #96
Release date: 2019/11/03
ID
field is required forCertificate
entity. Previous state files will break ifID
is not present on this entity. You can usedump
command to generate new state files which includes theID
field.- SNIs are exported under the
name
key under Certificate entity to match Kong's declarative configuration format.
- Kong's configuration can now be synced/diffed/dumped using JSON format,
in addition to the existing YAML format. Use the
--format
flag to specify the format. #35 - Plugins associated with multiple entities e.g. a plugin for a combination of route and a consumer in Kong are now supported. #13
- JSON-schema based validation is now performed on the input file(s) for every command.
- New
validate
command has been added to validate an existing state file. This performs a JSON-schema based sanity check on the file along-with foreign reference checks to check for dangling pointers. - Service-less routes are now supported by decK.
name
is no longer a required field for routes and services entities in Kong. If aname
is not present, decK exports the entity with it'sID
.- Client-certificates on Service entity are now a supported.
- Credential entities like key-auth, basic-auth now support tagging.
--parallelism
flag has been added tosync
anddiff
commands to control the number of concurrenty request to Kong's Admin API. #85diff
andsync
show a descriptive error when a workspace doesn't exist for Kong Enterprise. 102ed5dd--select-tag
flag has been added todiff
andsync
command for use-cases where the tags are not part of the state file. It is not recommended to use these flags unless you know what you are doing. #81- ID for any entity can now be specified. decK previously ignored the ID for
any entity if one was specified. Entities can also be exported with the
ID
field set using--with-id
flag on thedump
command. #29
- decK runs as non-root user in the Docker image. #82
- SNIs are now exported same as Kong's format i.e. they are exported under a
name
key under the certificates entity. #76 - Errors are made more descriptive in few commands.
- decK's binary inside the Docker image now contains versioning information. #38
- Go has been bumped up to
1.13.4
. go-kong
has been bumped up tov0.10.0
.- Reduced memory allocation, which should result in less GC pressure.
Release date: 2019/09/15
-w/--workspace
flag has been added to thereset
command to reset a specific workspace in Kong Enterprise. #74--all-workspaces
flag has been added to thereset
command to reset all workspaces in Kong Enterprise. #74- A warning is logged when basic-auth credentials are being synced. #49
- Kong Enterprise Developer Portal exposes the credentials (basic/key) of Developers on the Admin API, but doesn't expose the consumers causing issues during export. decK now ignores these credentials in Kong Enterprise. #75
- Go version has been bumped to 1.13.
Release date: 2019/08/24
oauth2
credentials associated with consumers are now supported. #67
- The same target can be associated with multiple upstreams. #57
- Fix compatibility with Kong < 1.3. #59
- Ignore credentials for consumers which are not in the sub-set of the configuration being synced. #65
Release date: 2019/08/18
This release brings the following features:
- Consumer credentials are now supported
- Support for Kong 1.3
- Kong Enterprise workspace support
- Reading configuration from multiple files in a directories
No breaking changes have been introduced in this release.
-
Consumer credentials The following entities associate with a consumer in Kong are now supported #12:
key-auth
basic-auth
hmac-auth
jwt
acl
-
decK's exported YAML is now compatible with Kong's declarative config file.
-
Homebrew support decK can now be installed using Homebrew on macOS:
brew tap hbagdi/deck brew install deck
-
Multiple state files decK can now read the configuration of Kong from multiple YAML files in a directory. You can split your configuration into files in any way you would like. #22
-
Upcoming Kong 1.3 is now supported. #36
-
Kong Enterprise only features: Workspaces are now natively supported in decK
-w/--workspace
flag can be specified in thedump
command to export configuration of a single workspace.--all-workspaces
flag indump
command will export all workspaces in Kong Enteprise. Each workspace lives in a separate state file.diff
andsync
command now support workspaces via the_workspace
attribute in the state file.
- decK now supports TCP services in Kong. #44
- Add missing
interval
field in Upstream entity's unhealthy active healthchecks #45 - Docker image now contains only the binary and not the entire source code. #34 Thanks to David Cruz for the contribution.
Release date: 2019/06/10
This release introduces support for Kong 1.2.x.
strip_path
attribute of Route can now be set to false. The default value is now false, which was true previously. #18
https_redirect_status_code
attribute of Route in Kong can be set, and defaults to426
.
Release date: 2019/05/14
No breaking changes have been introduced in this release.
- Tag-based distributed configuration management
Only a subset of Kong entities sharing a (set of) tag can now be exported,
deleted, diffed or synced.
decK can now manage your Kong's configuration in a distributed manner,
whereby you can split Kong's configuration by team and each team can manage
it's own configuration. Use
select-tag
feature in all the commands and config file for this purpose. #17 - Read/write state from stdout/stdin Config file can now be read in from standard-input and written out to standard-output. #10, #11 Thanks to @matthewbednarski for the contribution.
- Automated defaults No need to specify default values for all core Kong entities, further simplifying your Kong's configuration. Default values for plugin configuration still need to be defined, this is on the roadmap. b448d4f
- Add support for new properties in Upstream entity in Kong. 080200d
- Empty plugins and other Kong entities are not populated in the config file as empty arrays to keep the file concise and clean. ae38f1b
- Docker image is now available via Docker Hub.
You can use
docker pull hbagdi/deck
to pull down decK in a Docker image.
- Empty arrays in plugin configs are not treated as nil anymore. #9
- Correctly sync plugins which are out of sync. Protocols field in plugins can be confused with protocols field in routes in Kong #6 Thanks to @davidcv5 for the contribution.
- Throw an error if an object is not marshalled into YAML correctly.
- Correctly create service-level plugins for Kong >= 1.1 #16
go-kong
has been bumped up to v0.4.1.
Release date: 2019/04/01
No breaking changes have been introduced in this release.
- Consumers and consumer-level plugins can now be exported from Kong and synced to Kong.
--skip-consumers
flag has been introduced to various sub-commands to skip management of consumers in environments where they are created dynamically.`- Authentication support: custom HTTP Headers (key:value) can be injected
into requests that decK makes to Kong's Admin API using the
--headers
CLI flag. #1 Thanks to @davidcv5 for the contribution.
- Infinite loop in pagination for exporting entities in Kong #2 Thanks to @lmika for the contribution.
- Plugins are updated using PUT requests instead of PATCH to avoid any schema violations.
Release date: 2019/01/12
Debut release of decK