Tyk Charts 1.5 Release Notes
Last updated: 8 minutes read.
Open Source (Mozilla Public License)
This page contains all release notes for version 1.5.X displayed in a reverse chronological order
Support Lifetime
Our minor releases are supported until our next minor comes out.
1.5.0 Release Notes
Release Date 4 July 2024
Breaking Changes
This release has no breaking changes.
3rd Party Dependencies & Tools
With PostgreSQL v11 has reach EOL on November 2023, we can no longer guarantee full compatibility with this version of the database. If you are using PostgreSQL we recommend that you upgrade to a version that we have tested with, as indicated below.
Third Party Dependency | Tested Versions | Compatible Versions | Comments |
---|---|---|---|
Kubernetes | 1.26.x, 1.27.x, 1.28.x, 1.29.x | 1.19+ | |
Helm | 3.14.x | 3.x | |
Redis | 6.2.x, 7.x | 6.2.x, 7.x | Used by Tyk Gateway and Dashboard |
MongoDB | 5.0.x, 6.0.x, 7.0.x | 5.0.x, 6.0.x, 7.0.x | Used by Tyk Dashboard, Pump, and MDCB |
PostgreSQL | 12.x - 16.x | 12.x - 16.x | Used by Tyk Dashboard, Pump, and MDCB |
Given the time difference between your upgrade and the release of this version, we recommend customers verify the ongoing support of third-party dependencies they install, as their status may have changed since the release.
Deprecations
MDCB: Deprecated healthcheck_port and replaced with http_port
Starting with MDCB v2.6.0, the configuration parameter http_port
has been introduced to replace the original healthcheck_port
. This new HTTP port is designed to expose various endpoints for monitoring and debugging MDCB. For consistency and future compatibility, it is recommended to use mdcb.httpPort
.
Backward compatibility:
The mdcb.httpPort
parameter is backward compatible, meaning it will function correctly with all existing MDCB versions, ensuring a smooth transition.
Recommendations for users:
- Helm Chart Adjustments: Update your Helm chart configurations to use
mdcb.httpPort
instead ofmdcb.probes.healthcheckPort
to define the HTTP port.
Upgrade instructions
For users currently on v1.4.x, we strongly recommend promptly upgrading to the latest release.
You can use helm upgrade to upgrade your release
helm repo add tyk-helm https://helm.tyk.io/public/helm/charts/
helm repo update
helm upgrade [RELEASE_NAME] tyk-helm/[CHART_NAME]
Release Highlights
Updated default Tyk versions
Tyk Charts 1.5 will install the following Tyk component versions by default.
- Tyk Gateway v5.4.0
- Tyk Dashboard v5.4.0
- Tyk Pump v1.10.0
- Tyk MDCB v2.6.0
- Tyk Developer Portal v1.9.0
- Tyk Operator v0.18.0
Tyk Operator is covered under the same umbrella
Tyk Operator can now be installed as an optional component alongside any of the following Tyk umbrella charts:
- tyk-oss
- tyk-stack
- tyk-control-plane
With bootstrapping, the tyk-operator-conf
secret will be automatically configured during the bootstrapping process. This means that the Tyk Operator will be ready for use with just one command, simplifying the deployment and configuration process.
For a comprehensive list of changes, please refer to the detailed changelog below.
Downloads
- Source code
- ArtifactHub - tyk-stack
- ArtifactHub - tyk-control-plane
- ArtifactHub - tyk-data-plane
- ArtifactHub - tyk-oss
Changelog
Added
-
Gateway: Add option to enable fixed window rate limiter
New field
gateway.enableFixedWindowRateLimiter
added totyk-gateway
chart.This feature allows users to enable fixed window rate limiter in the Gateway. The fixed window rate limiter feature permits requests up to the configured rate limit within a specified time window, after which any additional requests are blocked until the next window. This method has minimal impact on Redis and is straightforward to implement. However, it should be noted that it does not protect against traffic spikes as it lacks spike arrest behavior. The default value for this setting is
false
. -
Dashboard and Gateway: Add init containers resources parameters
Optional parameters
dashboard.initContainers.initAnalyticsConf.resources
andgateway.initContainers.setupDirectories.resources
added to set resources for init containers in Dashboard and Gateway charts respectively.This feature is introduced to allow the definition of resource parameters for init containers, which is particularly useful in environments with namespace quotas that require specific resource definitions. Users can now specify the resources for init containers to comply with namespace resource quotas, ensuring that the init containers operate within the defined resource limits. The resource parameters can be defined at below locations.
Tyk Dashboard chart
dashboard: initContainers: initAnalyticsConf: resources: {} # If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. # limits: # cpu: 100m # memory: 128Mi # requests: # cpu: 100m # memory: 128Mi
Tyk Gateway chart
gateway: initContainers: setupDirectories: resources: {} # If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. # limits: # cpu: 100m # memory: 128Mi # requests: # cpu: 100m # memory: 128Mi
-
MDCB: Added SSL configurations for MDCB HTTP server
Added
mdcb.httpServerOptions
for SSL configuration of the MDCB HTTP server.This feature allows users to enable SSL for the MDCB HTTP server by configuring SSL-specific options. Users can enhance the security of their MDCB HTTP server by enabling SSL. The configuration includes settings such as
useSSL
,certificateKeyFile
,certificateCertFile
, andminVersion
. For other HTTP server options, users can utilizeextraEnvs
to configure additional parameters.mdcb: # defines the SSL/TLS settings for the http server where the healthcheck is exposed httpServerOptions: # if enabled then the endpoints will be served over https useSSL: true certificateKeyFile: /path-to-cert-keyfile certificateCertFile: /path-to-certfile # For TLS 1.0 use 769, for TLS 1.1 use 770, for TLS 1.2 use 771, for TLS 1.3 use 772 minVersion: 771
-
MDCB: Deprecated Healthcheck Port and added HTTP Port
mdcb.httpPort
added to define the port used for accessing MDCB HTTP endpoints.This change deprecates the previous healthcheck port in favor of using a defined HTTP port for accessing MDCB HTTP endpoints. This update streamlines the configuration by consolidating the HTTP endpoints under a single port setting, making it simpler to manage and configure the MDCB health checks.
mdcb: # This is the preferred port setting for MDCB >= v2.6.0. # Users should use httpPort instead of probes.healthCheckPort for newer versions. httpPort: 8181 probes: # This port lets MDCB allow standard health checks. # It also defines the path for liveness and readiness probes. # It is used to set TYK_MDCB_HEALTHCHECKPORT and TYK_MDCB_HTTPPORT when mdcb >= v2.6.0 # This field will be deprecated in upcoming release. Use `httpPort` instead. # healthCheckPort: 8181
-
Add tyk-operator dependency to umbrella charts
global.components.operator
added to determine whether the Tyk Operator component should be installed.This feature adds a dependency on the Tyk Operator to the umbrella charts, facilitating the installation of the Tyk Operator component. Users can now easily install the Tyk Operator component by setting the
global.components.operator
parameter. Note that the Tyk Operator requirescert-manager
to be installed beforehand. It also expects secrettyk-operator-conf
is present in the installation namespace. You can enable bootstrapping atglobal.components.bootstrap
if you are working on a new installation to have this secret created for you. Refer to the Tyk Operator installation guide for detailed information on pre-requisites.global: components: # operator determines whether Tyk Operator component should be installed or not. # Tyk Operator needs cert-manager to be installed beforehand. Make sure that cert-manager is installed. # For further details, please refer to https://tyk.io/docs/tyk-stack/tyk-operator/installing-tyk-operator/ operator: false
-
Add annotations to Tyk Stack and component Helm Charts
Introduced
annotations
values to the Tyk stack and component Helm charts to define annotations for Deployments or StatefulSets.This enhancement allows users to define custom annotations for the Deployments or StatefulSets of Tyk components. Annotations are useful for supporting automated reloading of the Gateway or other components using tools like reloader. Previously, the Helm charts did not support any annotations at the deployment level.
Users can now add custom annotations to facilitate automation and improve the management of Tyk components. The following annotations have been added:
- Dashboard:
dashboard.annotations
for Tyk Dashboard Deployment/StatefulSet - Dev Portal:
annotations
for Tyk Developer Portal Deployment/StatefulSet - Gateway:
gateway.annotations
for Tyk Gateway Deployment/StatefulSet - MDCB:
mdcb.annotations
for MDCB Deployment/StatefulSet - Pump:
pump.annotations
for Tyk Pump Deployment
- Dashboard:
Fixed
-
Dashboard: Fix misconfiguration preventing detail log display with Mongo Pump
This fix addresses a misconfiguration in the Dashboard chart that was causing the Log Browser not showing API activity logs for users utilizing Mongo Pump. The default configuration
dashboard.useShardedAnalytics
is now set totrue
, ensuring proper log visibility. Users who use Mongo Pump will now be able to view the API activity log as expected. Additionally, the correct Dashboard environment variableTYK_DB_USESHARDEDANLAYTICS
is now set usingdashboard.useShardedAnalytics
. This enhancement ensures accurate log visibility and improves the overall user experience with the Dashboard by properly configuring sharded analytics. -
Gateway: Fix issue with control port and `latest` container image tag
Resolved an issue in the Gateway chart that prevented the use of a container image with the
latest
tag whengateway.control.enabled
is set totrue
.This fix addresses a problem in the Gateway chart where enabling the control port (
gateway.control.enabled
) would cause an error if the container image tag was set tolatest
. The helm chart template previously assumed that all images would use semantic versioning.Users can now use the
latest
tag for container images even when the control port is enabled. This enhancement removes the restriction and assumption of semantic versioning, providing more flexibility in specifying container image tags. -
Dev Portal: Fix issue that prevent bootstrap and developer portal to be enabled at the same time
Resolved an issue in
tyk-stack
andtyk-control-plane
chart that prevented bootstrap and devPortal components to be enabled at the same time.When user deploy Developer Portal using
tyk-stack
ortyk-control-plane
Helm Chart, there was a problem before that bootstrapping and devPortal cannot be enabled at the same time. It was because dev portal was depending on secrettyk-dev-portal-conf
to start up but the secret can only be created after all pods has been created successfully via the bootstrapping job. This problem arises when user use--wait
flag in helm install or use ArgoCD for installation.We have fixed this issue by not passing required org ID and API key as command option during portal startup. The dev portal is configured after Pod creation via Dev Portal API.
Further Information
Upgrading Tyk
Please refer to the upgrading Tyk page for further guidance on the upgrade strategy.
FAQ
Please visit our Developer Support page for further information relating to reporting bugs, upgrading Tyk, technical support and how to contribute.