Skip to content

Ingress additionalIngresses backend service name is hardcoded, cannot be overridden #121

@Hesham-14

Description

@Hesham-14

Description

When using hdx-oss-v2.ingress.additionalIngresses to expose the OpenTelemetry Collector, the generated Ingress backend.service.name is hardcoded to the chart’s default fullname (e.g., clickstack-hdx-oss-v2).
If the actual Service name differs (e.g., clickstack-hdx-oss-v2-otel-collector), the Ingress points to a non‑existent Service and returns:

503 Service Temporarily Unavailable

To Reproduce

  1. Deploy the chart with additionalIngresses configured for OTLP/HTTP and OTLP/gRPC.
  2. The collector Service is created as:
    clickstack-hdx-oss-v2-otel-collector
    
    with ports 4317 and 4318.
  3. Run:
    kubectl describe ingress <ingress-name> -n clickstack
  4. Output shows:
    /   clickstack-hdx-oss-v2:4318 (<error: services "clickstack-hdx-oss-v2" not found>)
    
  5. Requests to the ingress host return 503.

Expected behavior

The Ingress backend should:

  • Point to the actual collector Service name, or
  • Allow overriding the backend service name in values.yaml.

Actual behavior

The backend service name is fixed to the chart’s default fullname, ignoring the actual Service name used for the collector.


Proposed solution

Add a serviceName (or service.name) field under each additionalIngresses.hosts.paths entry in values.yaml that, if set, overrides the default fullname in the Ingress template.

Example values.yaml:

additionalIngresses:
  - name: otel-collector-http
    hosts:
      - host: otel-http.example.com
        paths:
          - path: /
            pathType: Prefix
            serviceName: clickstack-hdx-oss-v2-otel-collector
            port: 4318

Ingress template change:

service:
  name: {{ .path.serviceName | default (include "hdx-oss-v2.fullname" $) }}
  port:
    number: {{ .path.port }}

Environment

  • Chart version: 0.7.2
  • Kubernetes version: v1.33.4
  • Ingress controller: NGINX

Additional context

This limitation makes it impossible to expose the collector via additionalIngresses unless the collector’s Service name matches the chart’s default fullname exactly.
Allowing a service name override would make the feature usable in more setups.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions