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.httpPortinstead ofmdcb.probes.healthcheckPortto 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.enableFixedWindowRateLimiteradded totyk-gatewaychart.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.resourcesandgateway.initContainers.setupDirectories.resourcesadded 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: 128MiTyk 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.httpServerOptionsfor 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 utilizeextraEnvsto 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.httpPortadded 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.operatoradded 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.operatorparameter. Note that the Tyk Operator requirescert-managerto be installed beforehand. It also expects secrettyk-operator-confis present in the installation namespace. You can enable bootstrapping atglobal.components.bootstrapif 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
annotationsvalues 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.annotationsfor Tyk Dashboard Deployment/StatefulSet - Dev Portal:
annotationsfor Tyk Developer Portal Deployment/StatefulSet - Gateway:
gateway.annotationsfor Tyk Gateway Deployment/StatefulSet - MDCB:
mdcb.annotationsfor MDCB Deployment/StatefulSet - Pump:
pump.annotationsfor 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.useShardedAnalyticsis 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_USESHARDEDANLAYTICSis 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
latesttag whengateway.control.enabledis 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
latesttag 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-stackandtyk-control-planechart that prevented bootstrap and devPortal components to be enabled at the same time.When user deploy Developer Portal using
tyk-stackortyk-control-planeHelm 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-confto 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--waitflag 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.