Feature Request: Enhance Flexibility of Ingress Annotations to Support Different Ingress Controllers like HAProxy

Description:

The current helm chart for Roundcube has hardcoded annotations in the Ingress object that are specifically tailored for the NGINX ingress controller, with parameters configured from the values file. Although there is an additionalAnnotations field in the values file allowing users to add extra annotations, this does not override the hardcoded ones, limiting the chart's flexibility and compatibility with different ingress controllers, such as HAProxy in OpenShift clusters.

Suggestion:

To maintain backward compatibility while enhancing flexibility, the proposed solution should not alter the existing behavior for users relying on NGINX-specific annotations but should allow users who need different annotations to override or extend them easily. One possible solution could be to have an optional overrideAnnotations set of values in the values file, and a conditional in the ingress file which injects these as an alternative to existing annotations.

I understand the current implementation simplifies deployments for users unfamiliar with Kubernetes specifics, and any enhancement should strive to maintain this simplicity for users who don’t need additional configurations.

Objectives:

To address this, we need a solution that:

  • Maintains the user-friendliness of the current implementation, allowing uncomplicated deployments for users not requiring custom configurations.
  • Offers flexibility to accommodate different ingress controllers and additional annotations.
  • Ensures backward compatibility so that existing users do not face disruptions or alterations in behavior.

I look forward to any discussions or developments on this matter.

Edited by Intimaria