Skip to content
This repository was archived by the owner on Nov 26, 2025. It is now read-only.
This repository was archived by the owner on Nov 26, 2025. It is now read-only.

Inconsistent Ingress creation across subcharts (e.g. keycloak differs from others) #103

@Tim-herbie

Description

@Tim-herbie

I noticed an inconsistency in how Ingress resources are created across the different components in this Helm chart. While most components respect a global .Values.ingress.enabled flag, keycloak currently does not and handles ingress creation differently.


Current behavior examples:

Example for opencloud ingress:

#charts/opencloud/templates/opencloud/ingress.yaml

{{- if and .Values.ingress.enabled .Values.opencloud.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: {{ include "opencloud.fullname" . }}-opencloud

Example for keycloak ingress:

#charts/opencloud/templates/keycloak/ingress.yaml

{{- if .Values.keycloak.internal.enabled }} # <--- Here is '.Values.ingress.enabled' missing
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: {{ include "opencloud.fullname" . }}-keycloak

Example for collaboration ingress:

#charts/opencloud/templates/collaboration/ingress.yaml

{{- if and .Values.ingress.enabled .Values.onlyoffice.collaboration.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: {{ include "opencloud.fullname" . }}-collaboration

Suggestion:
To improve consistency and make configuration more predictable, I suggest updating the keycloak ingress template to also respect the global .Values.ingress.enabled flag, like so:

{{- if and .Values.ingress.enabled .Values.keycloak.internal.enabled }}

This small change would align the behavior with other components and allow users to disable all ingress resources globally if needed.

Longer-term, it might be even better to introduce per-component ingress flags (e.g. .Values.keycloak.ingress.enabled), but applying the global flag would already bring a big improvement in consistency.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions