Skip to content

Conversation

@Guptak12
Copy link

@Guptak12 Guptak12 commented Dec 7, 2025

Description

Motivation: To improve the local development experience with Tilt by enabling ValidationMode=strict and fixing debugging issues. Currently, strict validation fails locally because the development container lacks the necessary Envoy binary, and debugging is hindered by leader election requirements in a single-replica setup.

What changed :

[Tiltfile]:

  • Updated the development Dockerfile to use the Envoy base image (matching production) instead of golang:latest. This ensures the Envoy binary is present, which is required for strict validation.
  • Aligned the binary installation path (/usr/local/bin/kgateway) with the production Dockerfile.
  • Switched the default values file from [common-recommendations.yaml] to a dedicated [tilt-values.yaml] (aligning with [tilt-settings.yaml]).
  • Relaxed [validate_registry] to warn instead of fail, supporting Kind clusters without explicit local registry configmaps.

[tilt-values.yaml]:

  • Added KGW_DISABLE_LEADER_ELECTION: "false" to enable proper debugging in single-replica environments.
  • Enabled validation.level: strict by default for local development.

Related issues:
Fixes #12956

Change Type

/kind feature
/kind fix

Changelog

"NONE"

Additional Notes

This change aligns the local Tilt development environment with the production Dockerfile structure. This is critical for developers working on features that require ValidationMode=strict, as the validation logic expects the Envoy binary to be present in the container, which was missing in the previous golang:latest based image.
It also fixes a common friction point where debugging would fail due to leader election issues in single-replica local clusters.

Signed-off-by: Guptak12 <[email protected]>
Copilot AI review requested due to automatic review settings December 7, 2025 16:56
@gateway-bot gateway-bot added kind/feature Categorizes issue or PR as related to a new feature. kind/fix Categorizes issue or PR as related to a bug. release-note labels Dec 7, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves the local Tilt development environment by aligning it with the production Dockerfile structure. It switches the development container base image from golang:latest to the Envoy base image, ensuring the Envoy binary is present for strict validation mode. The PR also introduces a dedicated tilt-values.yaml configuration file for local development settings.

Key Changes:

  • Tiltfile now uses the Envoy base image (matching production) instead of golang:latest, with updated package installation and binary paths
  • New tilt-values.yaml file configures strict validation mode, debug logging, and leader election settings for local development
  • Simplified tilt-settings.yaml to reference the new tilt-values.yaml instead of test manifests

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
tilt-values.yaml New configuration file with strict validation enabled, debug logging, and leader election settings for local Tilt development
tilt-settings.yaml Updated to use the new tilt-values.yaml instead of common-recommendations.yaml from test manifests
Tiltfile Updated Dockerfile to use Envoy base image, aligned binary path with production, and relaxed registry validation to support Kind clusters

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Guptak12 and others added 3 commits December 7, 2025 22:47
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Kush Gupta <[email protected]>
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Kush Gupta <[email protected]>
Co-authored-by: Copilot <[email protected]>
Signed-off-by: Kush Gupta <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/feature Categorizes issue or PR as related to a new feature. kind/fix Categorizes issue or PR as related to a bug. release-note

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants