ClickHouse / ClickHouse/ClickStack-helm-charts

Ingress additionalIngresses backend service name is hardcoded, cannot be overridden

Open
#121 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
75
Forks
54
Avg merge
3d 19h
Merged PRs (30d)
7

Description

## 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:
```bash
kubectl describe ingress -n clickstack
```
4. Output shows:
```
/ clickstack-hdx-oss-v2:4318 ()
```
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:**
```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:**
```yaml
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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.