Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
# Default owner for everything in the repo
* @densify-dev/cluster-kit

# Kubex AI charts
/charts/kubex-connector/ @gasarekubex @shsma
/charts/kubex-ai-cdi/ @gasarekubex @shsma
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,15 @@ metadata:
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
{{- $densifyUrl := .Values.config.forwarder.densify.url | required ".Values.config.forwarder.densify.url is required." }}
{{- $densifyHost := $densifyUrl.host | required ".Values.config.forwarder.densify.url.host is required." }}
data:
kubex_host: {{ $densifyHost | quote }}
kubex_tenant_id: {{ index (splitList "." $densifyHost) 0 | quote }}
kubex_cluster_name: {{ (first .Values.config.clusters).name | quote }}
config.yaml : |
forwarder:
densify:
{{- $densifyUrl := .Values.config.forwarder.densify.url | required ".Values.config.forwarder.densify.url is required." }}
{{- $densifyHost := $densifyUrl.host | required ".Values.config.forwarder.densify.url.host is required." }}
url: {{- omit $densifyUrl "UserSecretName" | toYaml | trim | nindent 10 }}
{{- if .Values.config.forwarder.densify.endpoint }}
endpoint: {{ .Values.config.forwarder.densify.endpoint }}
Expand Down
6 changes: 3 additions & 3 deletions charts/kubex-ai-cdi/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: kubex-ai-cdi
description: In-cluster Kubex cluster data interface service exposed over HTTP
type: application
version: 0.1.8
version: 0.1.9-rc.3
icon: https://kubex.ai/wp-content/uploads/kubex-logo-landscape.svg
maintainers:
- email: support@kubex.ai
name: support
- email: support@kubex.ai
name: support
2 changes: 1 addition & 1 deletion charts/kubex-ai-cdi/values.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
image:
repository: densify/kubex-ai-cdi
tag: 0.1.8
tag: 0.1.9-rc.3
pullPolicy: IfNotPresent

replicaCount: 1
Expand Down
14 changes: 14 additions & 0 deletions charts/kubex-automation-stack/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,20 @@

All notable changes to the kubex-automation-stack chart will be documented in this file.

## [1.0.19] - 2026-07-03

### Added
- Added optional `kubex-connector` and `kubex-ai-cdi` subchart support to the stack
- Added stack-managed CDI service account, ClusterRole, and ClusterRoleBinding templates
- Added forwarder `ConfigMap` keys for shared Kubex host, tenant, and cluster name consumption

### Changed
- Switched stack-managed connector tunnel wiring to `/tunnel/connect`
- Documented stack-managed connector/CDI configuration and RBAC behavior

### Fixed
- Disabled the forwarder hook job in the OpenShift overlay so the cron-based collector path is used consistently
- Added OpenShift security context defaults for stack-managed connector and CDI deployments

## [1.0.18] - 2026-07-03

Expand Down
16 changes: 11 additions & 5 deletions charts/kubex-automation-stack/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,26 @@ dependencies:
- name: container-optimization-data-forwarder
repository: https://densify-dev.github.io/helm-charts
version: 4.0.17
- name: kubex-connector
repository: https://densify-dev.github.io/helm-charts
version: 0.1.8
- name: kubex-ai-cdi
repository: https://densify-dev.github.io/helm-charts
version: 0.1.8
- name: prometheus
repository: https://prometheus-community.github.io/helm-charts
version: 29.14.0
version: 29.17.0
- name: beyla
repository: https://grafana.github.io/helm-charts
version: 1.16.8
version: 1.16.10
- name: k8s-ephemeral-storage-metrics
repository: https://densify-dev.github.io/helm-charts
version: 1.21.0
- name: gpu-process-exporter
repository: https://densify-dev.github.io/helm-charts
version: 1.0.0
version: 1.1.0
- name: node-labeler
repository: https://densify-dev.github.io/helm-charts
version: 0.1.2
digest: sha256:d4b36dc243779019f4a3277b17c487f1be80c39d5a6ce5a3b40979a42dbc5955
generated: "2026-07-03T17:48:40.199770372Z"
digest: sha256:462fdc738b2cabfb00741487e2f519838d81ffc3c094d9662eb237b284f0108d
generated: "2026-07-17T16:01:39.083440872-04:00"
10 changes: 9 additions & 1 deletion charts/kubex-automation-stack/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
apiVersion: v2
description: Kubex Collection Stack
name: kubex-automation-stack
version: 1.0.18
version: 1.0.19
type: application
icon: https://kubex.ai/wp-content/uploads/kubex-logo-landscape.svg
dependencies:
- name: container-optimization-data-forwarder
version: "4.*.*"
repository: https://densify-dev.github.io/helm-charts
- name: kubex-connector
Comment thread
gasarekubex marked this conversation as resolved.
version: "0.1.*"
repository: https://densify-dev.github.io/helm-charts
condition: kubex-connector.enabled
- name: kubex-ai-cdi
version: "0.1.*"
repository: https://densify-dev.github.io/helm-charts
condition: kubex-ai-cdi.enabled
- name: prometheus
version: "29.*.*"
repository: https://prometheus-community.github.io/helm-charts
Expand Down
16 changes: 15 additions & 1 deletion charts/kubex-automation-stack/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,17 @@ The following table lists configuration parameters in `values-edit.yaml`.
| `gpu-process-exporter.enabled` | | Enable GPU process exporter subchart (default: `true`) |
| `beyla.enabled` | | Enable Grafana Beyla for application runtime detection (default: `true`) |
| `k8s-ephemeral-storage-metrics.enabled` | | Enable ephemeral storage metrics collection (default: `true`) |
| `node-labeler.enabled` | | Enable optional node-labeler subchart to add Kubex Node Group labels to nodes; useful when nodes lack standard cloud provider pool/group labels (default: `false`) |
| `node-labeler.enabled` | | Enable optional node-labeler subchart to add Kubex Node Group labels to nodes; useful when nodes lack standard cloud provider node pool/group labels (default: `false`) |
| `kubex-connector.enabled` | | Enable optional connector subchart (default: `false`) |
| `kubex-ai-cdi.enabled` | | Enable optional kubex-ai-cdi subchart (default: `false`) |
| `kubex-connector.heartbeatSeconds` | | Connector heartbeat interval in seconds |
| `kubex-connector.requestTimeoutSeconds` | | Connector request timeout in seconds |

Connector and CDI use the shared Kubex host and cluster entered under `container-optimization-data-forwarder.config.*`. The forwarder publishes those runtime values in its `ConfigMap`, and the connector consumes them through `forwarderConfigMap.name`. Credentials come from `stack.densify` through `densify-api-secret`, which the connector consumes through `forwarderCredentialsSecretRef.name` by default. The stack chart also owns the CDI service account and RBAC by rendering those manifests itself while disabling `kubex-ai-cdi.rbac.enabled` in the subchart.

For the full stack RBAC shape and defaults, refer to `charts/kubex-automation-stack/values.yaml`.

For a guided explanation of the stack-managed CDI RBAC model, see [docs/RBAC-Guide.md](docs/RBAC-Guide.md).

## Limitations

Expand All @@ -140,6 +150,10 @@ This chart consists of the following subcharts:
- Additional Kubex-specific grouping labels are needed beyond cloud provider labels
- Enhanced node group visibility is desired in OpenShift environments (leverages Machine API)

* [Kubex Connector](../kubex-connector) - Optional in-cluster connector used for the cluster data interface.

* [kubex-ai-cdi](../kubex-ai-cdi) - Optional in-cluster Kubex cluster data interface service.

## Documentation

* [Kubex](https://docs.kubex.ai)
Expand Down
Loading