Skip to content

Conversation

@andrei-tyk
Copy link
Collaborator

@andrei-tyk andrei-tyk commented Oct 16, 2025

Description

Updated component versions to desired ones for release v4.0.2 of tyk-charts.

Related Issue

Motivation and Context

Test Coverage For This Change

Screenshots (if appropriate)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Refactoring or add test (improvements in base code or adds test coverage to functionality)
  • Documentation updates or improvements.

Checklist

  • Make sure you are requesting to pull a topic/feature/bugfix branch (right side). If PRing from your fork, don't come from your master!
  • Make sure you are making a pull request against our master branch (left side). Also, it would be best if you started your change off our latest master.
  • My change requires a change to the documentation.
    • I have manually updated the README(s)/documentation accordingly.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Ticket Details

TT-15973
Status In Code Review
Summary [Release prep] Charts 4.0.2

Generated at: 2025-10-23 08:38:29

@andrei-tyk andrei-tyk requested a review from a team as a code owner October 16, 2025 08:29
@andrei-tyk andrei-tyk requested review from buraksekili and removed request for a team October 16, 2025 08:29
@probelabs
Copy link

probelabs bot commented Oct 16, 2025

🔍 Code Analysis Results

Security Issues (1)

Severity Location Issue
🟡 Warning tyk-oss/values.yaml:261
The `tyk-gateway` component in the `tyk-oss` chart is being downgraded from version `v5.9.1` to `v5.8.7`. Downgrading software components can reintroduce security vulnerabilities that were patched in the newer version. It is crucial to ensure that this downgrade does not expose the system to known exploits that were fixed between versions `v5.8.7` and `v5.9.1`.
💡 SuggestionJustify the reason for the downgrade in the pull request description. Before merging, verify that version `v5.8.7` is not affected by any critical vulnerabilities that were patched in `v5.9.1`. If possible, avoid downgrading and use the latest stable and secure version of the component.

Architecture Issues (1)

Severity Location Issue
🟡 Warning tyk-stack/values.yaml:369
The image tags for components like Tyk Gateway, Dashboard, and Pump are duplicated across multiple `values.yaml` files. This pull request, which updates versions for a new release, highlights this issue by requiring changes in six different files for the same version bumps. This violates the DRY (Don't Repeat Yourself) principle, increasing the maintenance burden and the risk of inconsistencies where a component version might be missed during an update.
💡 SuggestionTo improve maintainability, centralize the component image tags. A common Helm pattern is to define them in a single, top-level `values.yaml` file (e.g., in the `tyk-stack` umbrella chart) under a `global` key. Subcharts can then reference these global values. This ensures a single source of truth for component versions, simplifying future updates and reducing the chance of error. For example, in `tyk-stack/values.yaml`:
global:
  imageVersions:
    dashboard: v5.8.7
    gateway: v5.8.7
    pump: v1.13.0

Then, component charts would use these global values as their defaults.

✅ Performance Check Passed

No performance issues found – changes LGTM.

Quality Issues (2)

Severity Location Issue
🟡 Warning tyk-stack/values.yaml:368
Component versions are duplicated across multiple `values.yaml` files. For example, the `tyk-gateway` tag is defined in `tyk-stack/values.yaml`, `tyk-control-plane/values.yaml`, `tyk-data-plane/values.yaml`, `tyk-oss/values.yaml`, and `components/tyk-gateway/values.yaml`. This violates the DRY (Don't Repeat Yourself) principle, making version updates tedious and error-prone.
💡 SuggestionTo improve maintainability, centralize version management. Consider using Helm's global values or another mechanism to define component versions in a single location. This would simplify future releases and reduce the risk of inconsistencies across the different charts.
🟡 Warning tyk-oss/values.yaml:260
The `tyk-gateway` image tag in the `tyk-oss` chart is being changed from `v5.9.1` to `v5.8.7`. This appears to be a version downgrade.
💡 SuggestionPlease confirm if this downgrade is intentional for release alignment. If it's a mistake, the version should be corrected. If intentional, consider adding a comment explaining why this specific chart requires an older version to avoid future confusion.

Powered by Visor from Probelabs

Last updated: 2025-10-23T08:40:56.276Z | Triggered by: synchronize | Commit: 5dea176

💡 TIP: You can chat with Visor using /visor ask <your question>

@andyo-tyk andyo-tyk removed the request for review from buraksekili October 17, 2025 08:55
@probelabs
Copy link

probelabs bot commented Oct 20, 2025

🔍 Code Analysis Results

This PR updates the default image tags for several Tyk components across multiple Helm charts, aligning them for the v4.0.2 release of tyk-charts.

Files Changed Analysis

The changes are confined to 6 values.yaml files, with each modification updating the tag for a container image. This results in 12 additions and 12 deletions. The files updated are:

  • components/tyk-dashboard/values.yaml
  • components/tyk-gateway/values.yaml
  • tyk-control-plane/values.yaml
  • tyk-data-plane/values.yaml
  • tyk-oss/values.yaml
  • tyk-stack/values.yaml

Architecture & Impact Assessment

  • What this PR accomplishes: The PR standardizes the versions of Tyk components (Dashboard, Gateway, Pump) deployed by the Helm charts. This ensures a consistent stack for users installing or upgrading to version v4.0.2.

  • Key technical changes introduced:

    • tyk-dashboard image tag updated from v5.8.6 to v5.8.7.
    • tyk-gateway image tag updated from v5.8.6 to v5.8.7.
    • tyk-pump image tag updated from v1.12.0 to v1.13.0.
    • Important: The tyk-gateway image in the tyk-oss chart is downgraded from v5.9.1 to v5.8.7. This is a significant change that requires justification, as it may re-introduce fixed bugs or security vulnerabilities.
  • Affected system components: The default container images for Tyk Dashboard, Gateway, and Pump will be updated upon applying these chart changes. This affects all major chart deployments, including tyk-stack, tyk-control-plane, tyk-data-plane, and tyk-oss.

  • Component Update Mappings:

    graph TD
        subgraph Changed Files
            A["components/tyk-dashboard/values.yaml"]
            B["components/tyk-gateway/values.yaml"]
            C["tyk-control-plane/values.yaml"]
            D["tyk-data-plane/values.yaml"]
            E["tyk-oss/values.yaml"]
            F["tyk-stack/values.yaml"]
        end
    
        subgraph Component Versions Updated
            G["tyk-dashboard: v5.8.6 → v5.8.7"]
            H["tyk-gateway: v5.8.6 → v5.8.7"]
            I["tyk-pump: v1.12.0 → v1.13.0"]
            J["tyk-gateway (in tyk-oss): v5.9.1 → v5.8.7 (Downgrade)"]
        end
    
        A --> G
        B --> H
        C --> G & H & I
        D --> H & I
        E --> I & J
        F --> G & H & I
    
    Loading

Scope Discovery & Context Expansion

  • The changes highlight a maintenance issue within the repository: component versions are duplicated across multiple values.yaml files. This practice is error-prone and led to the version drift seen in the tyk-oss chart. Centralizing version management (e.g., using a global key in umbrella charts) would be a valuable improvement to ensure consistency and simplify future updates.
  • The primary point of concern is the downgrade of tyk-gateway in the tyk-oss chart. The reviewer should confirm if this is intentional and that the implications of rolling back from v5.9.1 to v5.8.7 have been assessed, particularly regarding security fixes.
Metadata
  • Review Effort: 1 / 5
  • Primary Label: chore

Powered by Visor from Probelabs

Last updated: 2025-10-23T08:40:54.697Z | Triggered by: synchronize | Commit: 5dea176

💡 TIP: You can chat with Visor using /visor ask <your question>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants