security.forbid_admin_view_access_token
and security.forbid_admin_reset_access_token
are set to true
to restrict admin users from being able to view and reset other users’ Dashboard API Access Credentials.
Third Party Dependency | Tested Versions | Compatible Versions | Comments |
---|---|---|---|
Kubernetes | 1.26.x, 1.27.x, 1.28.x, 1.29.x, 1.30.x, 1.31.x, 1.32.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 | 13.x - 17.x | 13.x - 17.x | Used by Tyk Dashboard, Pump, and MDCB |
Pump: Readiness and liveness probes
Global: imageRegistry configuration
Gateway: Tyk Gateway startup probes
Gateway: Tyk Gateway access/transaction logs
Gateway: OpenTelemetry header from Kubernetes secrets
Helm chart parameterization
Operator and tyk-bootstrap: Tolerations, affinity, and node selector
Configurable test pod execution
Pump: Pump service annotation issue
Operator liveness and readiness probe failure
Incorrect TYK_DB_TYKAPI_HOST and TYK_DB_TYKAPI_PORT values
Third Party Dependency | Tested Versions | Compatible Versions | Comments |
---|---|---|---|
Kubernetes | 1.26.x, 1.27.x, 1.28.x, 1.29.x, 1.30.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 |
Global: Configurable Tyk streams setting
global.streaming.enabled
. This option is enabled by default.Dashboard: Configurable audit log storage
Dashboard: Configurable Open Policy Agent (OPA) settings
Gateway: Configurable liveness and readiness probes
Gateway: Enhanced log configuration
.Values.gateway.log
in the Helm chart values.yaml.This enhancement enables fine-tuned control over logging behavior directly from the Helm chart, simplifying deployment customization.Gateway: Customizable HPA behavior
.Values.gateway.autoscaling.behavior
.This enhancement provides more flexibility in configuring HPA scaling behavior, allowing tailored performance tuning for Gateway deployments.Operator: Support for adding custom annotations to the Tyk Operator deployment
.Values.annotations
, enabling better integration with external tools and systems that rely on metadata annotations.Configurable sidecar containers
extraContainers
field to the following components:Gateway: Corrected template name for OpenTelemetry caFilePath
otel-CAPath
to otel-tlsCAPath
to ensure proper functionality.
This fix addresses misconfigurations related to the OpenTelemetry TLS CA path and ensures accurate rendering of Gateway templates.MDCB: Fixed MDCB service configuration when using LoadBalancer as the service type
externalTrafficPolicy
field is now correctly set under the spec section instead of selectors.
This fix ensures proper functionality and alignment with Kubernetes service configuration requirements.Tyk Operator license key handling in tyk-oss chart
Third Party Dependency | Tested Versions | Compatible Versions | Comments |
---|---|---|---|
Kubernetes | 1.26.x, 1.27.x, 1.28.x, 1.29.x, 1.30.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 |
Ability to specify static IP for Kubernetes LoadBalancer service
loadBalancerIP
parameter in the chart that allows users to set a static IP for Tyk Gateway and Dashboard services when using the LoadBalancer
service type. This update provides enhanced control over IP configuration, useful for network stability in environments with multiple load balancers.Tyk gateway service configuration:tyk-gateway.gateway.service.loadBalancerIP
(default to "")tyk-dashboard.dashboard.service.loadBalancerIP
(default to "")Ability to configure Dashboard container port
From v1.0 Tyk Operator Requires License Key
global.license.operator
field. You can also set license key via a Kubernetes secret using global.secrets.useSecretName
field. The secret should contain a key called OperatorLicense
.http_server_options.enable_path_prefix_matching
http_server_options.enable_path_suffix_matching
true
, Tyk enforces “exact” path matching. By default, these options are set to false
in the Gateway to avoid breaking existing configurations.
However, starting with Tyk Charts v2.0, these options will be set to true
by default, enforcing stricter security by requiring precise path matches. This change applies to new installations or upgrades via Tyk Charts v2.0 and above.
From this version of Tyk Charts we also set the following configuration option to true
by default as part of the stricter path matching:
http_server_options.enable_strict_routes
true
by default. This means stricter URL path matching will be enforced automatically, which could impact your existing routes or configurations if you’re not prepared for it. Please ensure you understand and test these new configurations before upgrading your production environment.Tyk Component | Default Version | Customization Parameter |
---|---|---|
Tyk Gateway | 5.3.5 LTS | --set tyk-gateway.gateway.image.tag=<desired-version> |
Tyk Dashboard | 5.3.5 LTS | --set tyk-dashboard.dashboard.image.tag=<desired-version> |
Tyk Pump | 1.11.0 | --set tyk-pump.pump.image.tag=<desired-version> |
Tyk MDCB | 2.7.0 | --set tyk-mdcb.mdcb.image.tag=<desired-version> |
Tyk Developer Portal | 1.10.0 | --set tyk-dev-portal.image.tag=<desired-version> |
Tyk Operator | 0.18.0 | --set tyk-operator.image.tag=<desired-version> |
Third Party Dependency | Tested Versions | Compatible Versions | Comments |
---|---|---|---|
Kubernetes | 1.26.x, 1.27.x, 1.28.x, 1.29.x, 1.30.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 |
Third Party Dependency | Tested Versions | Compatible Versions | Comments |
---|---|---|---|
Kubernetes | 1.26.x, 1.27.x, 1.28.x, 1.29.x, 1.30.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 |
/liveness
and /readiness
probes which give more accurate and detail health check information. MDCB deployment has been updated to use the new endpoints. See MDCB Health Check section for information about the new probes.
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 |
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:
mdcb.httpPort
instead of mdcb.probes.healthcheckPort
to define the HTTP port.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.
Gateway: Add option to enable fixed window rate limiter
gateway.enableFixedWindowRateLimiter
added to tyk-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
dashboard.initContainers.initAnalyticsConf.resources
and gateway.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 chartMDCB: Added SSL configurations for MDCB HTTP server
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
, and minVersion
. For other HTTP server options, users can utilize extraEnvs
to configure additional parameters.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.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 requires cert-manager
to be installed beforehand. It also expects secret tyk-operator-conf
is present in the installation namespace. You can enable bootstrapping at global.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.Add annotations to Tyk Stack and component Helm Charts
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.annotations
for Tyk Dashboard Deployment/StatefulSetannotations
for Tyk Developer Portal Deployment/StatefulSetgateway.annotations
for Tyk Gateway Deployment/StatefulSetmdcb.annotations
for MDCB Deployment/StatefulSetpump.annotations
for Tyk Pump DeploymentDashboard: Fix misconfiguration preventing detail log display with Mongo Pump
dashboard.useShardedAnalytics
is now set to true
, 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 variable TYK_DB_USESHARDEDANLAYTICS
is now set using dashboard.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
latest
tag when gateway.control.enabled
is set to true
.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 to latest
. 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
tyk-stack
and tyk-control-plane
chart that prevented bootstrap and devPortal components to be enabled at the same time.When user deploy Developer Portal using tyk-stack
or tyk-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 secret tyk-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.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 | 4.4.x, 5.0.x, 6.0.x, 7.0.x | Used by Tyk Dashboard, Pump, and MDCB |
PostgreSQL | 11.x - 15.x LTS | 11.x - 15.x | Used by Tyk Dashboard, Pump, and MDCB |
tyk-dashboard
chart, the dashboard.hashKeys
field is deprecated and has been replaced with .global.hashKeys
. This is to ensure Dashboard, Gateway, and MDCB always get the same hashKeys configurations. Setting dashboard.hashKeys
will no longer take effect. Please only use .global.hashKeys
field.OSS: Simplify Tyk Operator setup with Kubernetes Secret creation
operatorSecret.enabled
to true
in the tyk-oss
chart, a Kubernetes Secret named tyk-operator-conf
will be automatically created in the same namespace. This secret is essential for connecting Tyk Operator to the Gateway, enabling seamless management of Tyk API resources. To learn more about setting up Tyk Operator, check out Tyk Operator installation.MDCB: Enhanced analytics configuration options
Tyk Control Plane: Added option to enable Dashboard hybrid organization
Enhanced security with customizable Pod or Container security context
runAsNonRoot: true
in all Pod’s securityContext
. This prevents the Pods from running as root users, ensuring compatibility with the Restricted Pod Security Policy.Gateway: Allow Gateway to be updated if secret value is updated
global.secrets.useSecretName
is not set, as the secret is then not part of the chart.Customizable Pod Labels Across All Components
podLabels
field with your desired content, and it will be added as pod labels.Portal: Customizable Pod annotations in tyk-dev-portal
podAnnotations
field to the tyk-dev-portal
chart, allowing you to customize pod annotations. Fill in the podAnnotations
field with your specific content, and it will be added as pod annotations.Gateway/Pump: Removed the command in Gateway and Pump pod templates
Dashboard: Allow arbitary image tags in tyk-dashboard
Dashboard: Classic portal bootstrapping disabled by default
tyk-bootstrap.bootstrap.portal
to true
in either the Tyk Stack or Tyk Control Plane chart.Dashboard: Deprecation of `hashKeys` field
dashboard.hashKeys
field is now deprecated. Instead, users should utilize the global.hashKeys
field to set key hashing. This ensures configuration alignment across Gateway, Dashboard, and MDCB components.mongo-go
as the default driver to connect to MongoDB. mongo-go
driver is compatible with MongoDB 4.4.x and above. For MongoDB versions prior to 4.4, please set global.mongo.driver
to mgo
. We recommend reading Choose a MongoDB driver when you need to change driver setting.
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 | 4.4.x, 5.0.x, 6.0.x, 7.0.x | Used by Tyk Dashboard |
PostgreSQL | 11.x - 15.x LTS | 11.x - 15.x | Used by Tyk Dashboard |
tyk-dashboard
chart, dashboard.hashKeys
field will be deprecated in future and be replaced with .global.hashKeys
. This is to ensure Dashboard, Gateway, and MDCB always get the same hashKeys configurations. It is recommended users do not set dashboard.hashKeys
and only use .global.hashKeys
field.tyk-dashboard.tib.enabled
to true
.
Global config: Support use of SSL certificates when connecting to Redis
global.redis
to support use of SSL certificates when connecting to Redis.Global config: Added OAS Validate Examples
global.oasValidateExamples
. When set to true, it enables validation of examples in the OAS spec.
It is used to set TYK_DB_OAS_VALIDATE_EXAMPLES
and TYK_GW_OAS_VALIDATE_EXAMPLES
.Global config: Added OAS Validate Schema Defaults
global.oasValidateSchemaDefaults
. When set to true, it enables validation of schema defaults in the OAS spec.
It is used to set TYK_DB_OAS_VALIDATE_SCHEMA_DEFAULTS
and TYK_GW_OAS_VALIDATE_SCHEMA_DEFAULTS
.Global config: Enable/Disable key hashing
global.hashKeys
. When set to true, it enables key hashing in Gateway. Dashboard will
also operate in a mode that is compatible with key hashing. Please do not set dashboard.hashKeys
or make sure dashboard.hashKeys
is set to the same value or else dashboard.hashKeys
will take precedence.Note: dashboard.hashKeys
will be deprecated in future release.Gateway: Added support for PodDisruptionBudget resource
gateway.pdb.enabled
to true
and configure gateway.pdb.minAvailable
or gateway.pdb.maxUnavailable
.Gateway: Added Ingress template for gateway control service
gateway.control.ingress.enabled
, an Ingress resource will be created to allow external access to gateway’s control service.Gateway: Configure Gateway to work with MDCB synchroniser
global.mdcbSynchronizer.enabled
in tyk-data-plane
.
The control plane should be deployed with same global.mdcbSynchronizer.enabled
value too.Gateway: Customize ServiceAccount to be used
serviceAccountName
for gateway, the name of the Service Account that is going to be used by the Pods.Gateway: Make service port name configurable
http
.Gateway: Make initContainer image configurable
Dashboard: Added option to enable Tyk Identity Broker (TIB) in Tyk Dashboard
tyk-dashboard.tib.enabled
to true
.Dashboard: Customize ServiceAccount to be used
serviceAccountName
for dashboard, the name of the Service Account that is going to be used by the Pods.Dashboard: Make service port name configurable
http
.Pump: Added Graph pump support
mongo
or postgres
to pump.backend
. When mongo
is added to pump.backend
the Graph MongoDB Pump will be enabled. When postgres
is added to pump.backend
the Graph SQL Pump and Graph SQL Aggregate Pump will be enabled.Pump: Customize ServiceAccount to be used
serviceAccountName
for pump, the name of the Service Account that is going to be used by the Pods.Pump: Make service port name configurable
http
.Portal: Customize ServiceAccount to be used
serviceAccountName
for portal, the name of the Service Account that is going to be used by the Pods.Portal: Make service port name configurable
http
.New component chart to deploy MDCB
New umbrella chart to deploy Tyk Control Plane