Skip to content

refactor: Improve the overall configurations experience of the Gateway#9

Merged
edenreich merged 17 commits intomainfrom
feature/add-application-configurations-without-downtime
Jun 25, 2025
Merged

refactor: Improve the overall configurations experience of the Gateway#9
edenreich merged 17 commits intomainfrom
feature/add-application-configurations-without-downtime

Conversation

@edenreich
Copy link
Copy Markdown
Collaborator

@edenreich edenreich commented Jun 25, 2025

Summary

This pull request aims to improve the overall experience of configuring a Gateway and it ensures there are no downtimes when a configuration changes occurs.

I also cleanup some Tasks that comes by default with Operator-SDK but they are not needed. Manual container push and buildx are handled by the automated release process.

TODO's

  • Fix e2e tests
  • Write more tests

edenreich added 17 commits June 24, 2025 12:48
…s and configurations

Make this example less confusing.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
…able certain features

Decided to go with a more Kubernetes native approach by using rolling updates to load the new environment variables - it's simple and for a reason.
I think the reload of config using SIGHUP is not really necessary, I just need to ensure that there is a proper graceful shutdown in the application because clients going to have SSE persistent connections, which means I would need to gracefully wait for those connection to complete or timeout before shutting down an instance.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
…figurations

Signed-off-by: Eden Reich <eden.reich@gmail.com>
Signed-off-by: Eden Reich <eden.reich@gmail.com>
…ecret references for API keys

Maybe it looks a bit verbose, but this will ensure rolling update and also it gives the user more flexibility in terms of how they want the keys and in the secret to be called.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
… in tests

Signed-off-by: Eden Reich <eden.reich@gmail.com>
…nges

There is no longer configmap owned by the controller, it just allows the user to define it and reference it but it's not managing it.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
…on tests

Since it's not implemented yet by the inference gateway it's not relevant.

The gateway has prometheus exporter and an endpoint at /metrics

Traces are currently not being pushed to external otel collector using OTLP grpc, future implementation perhaps if needed.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
…tic complexity

Will refactor it later, it's not important right now.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
… tracing support

Signed-off-by: Eden Reich <eden.reich@gmail.com>
…ation validation

Also change the default value of TELEMETRY to false, it should not be enabled unless the user specified true

Signed-off-by: Eden Reich <eden.reich@gmail.com>
Signed-off-by: Eden Reich <eden.reich@gmail.com>
Signed-off-by: Eden Reich <eden.reich@gmail.com>
Use the actual kubernetes autoscaling HPA spec, so we don't need to modify too much in the future unless Kubernetes come up with a new autoscaling API.
Also it helps because people already used to this API so why we should remove it.

- Updated HPA configuration to include detailed scaling behavior settings, including scaleUp and scaleDown policies, stabilization windows, and metrics specifications.
- Introduced new properties for HPA metrics, allowing for more granular control over scaling based on resource utilization and external metrics.
- Improved documentation for secret references in TLS configurations, clarifying the requirements for secret names and keys.
- Added optional fields to specify whether the Secret or its key must be defined, enhancing flexibility in configuration.
- Set default values for metrics configuration to streamline setup.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
Signed-off-by: Eden Reich <eden.reich@gmail.com>
Start with minimal configurations with defaults and if the user wants they can use explicit config.

Signed-off-by: Eden Reich <eden.reich@gmail.com>
… default value verification

Signed-off-by: Eden Reich <eden.reich@gmail.com>
@edenreich edenreich merged commit e06faf5 into main Jun 25, 2025
6 checks passed
@edenreich edenreich deleted the feature/add-application-configurations-without-downtime branch June 25, 2025 18:14
ig-semantic-release-bot bot added a commit that referenced this pull request Jun 25, 2025
## [0.5.3](v0.5.2...v0.5.3) (2025-06-25)

### ♻️ Improvements

* Improve the overall configurations experience of the Gateway ([#9](#9)) ([e06faf5](e06faf5))

### 📚 Documentation

* **fix:** Update secret names and API URLs in gateway configuration files ([aa1b104](aa1b104))
* Update AI provider configuration to use environment variables from ConfigMap and Secret ([46162e7](46162e7))
@ig-semantic-release-bot
Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 0.5.3 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant