From 24e3258e075848d88043446e79e5917c704a5c33 Mon Sep 17 00:00:00 2001 From: Rashad Sirajudeen Date: Tue, 23 Dec 2025 10:20:39 +0530 Subject: [PATCH] Helm reference for Observability plane --- docs/reference/helm/observability-plane.mdx | 376 ++++++++++++++++++++ package-lock.json | 128 ++----- 2 files changed, 405 insertions(+), 99 deletions(-) diff --git a/docs/reference/helm/observability-plane.mdx b/docs/reference/helm/observability-plane.mdx index b75e265..9f11eb6 100644 --- a/docs/reference/helm/observability-plane.mdx +++ b/docs/reference/helm/observability-plane.mdx @@ -3,3 +3,379 @@ title: Observability Plane description: Helm chart values reference for openchoreo-observability-plane. sidebar_position: 4 --- + +# Observability Plane Helm Reference + +This page provides a comprehensive reference for all Helm chart values available in the `openchoreo-observability-plane` chart. + +## Global Configuration + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `global.baseDomain` | Base domain for the observability plane | string | `""` | +| `global.commonLabels` | Common labels to add to all resources | object | `{}` | +| `kubernetesClusterDomain` | Kubernetes cluster domain for service discovery | string | `"cluster.local"` | + +## Controller Manager + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `controllerManager.enabled` | Enable the controller manager | bool | `true` | +| `controllerManager.name` | Name of the controller manager deployment | string | `"controller-manager"` | +| `controllerManager.replicas` | Number of controller manager replicas | int | `1` | +| `controllerManager.image.repository` | Controller manager image repository | string | `"ghcr.io/openchoreo/controller"` | +| `controllerManager.image.tag` | Image tag (defaults to Chart.AppVersion) | string | `""` | +| `controllerManager.image.pullPolicy` | Image pull policy | string | `"IfNotPresent"` | +| `controllerManager.deploymentPlane` | Deployment plane identifier | string | `"observabilityplane"` | +| `controllerManager.resources.limits.cpu` | CPU limit | string | `"500m"` | +| `controllerManager.resources.limits.memory` | Memory limit | string | `"512Mi"` | +| `controllerManager.resources.requests.cpu` | CPU request | string | `"100m"` | +| `controllerManager.resources.requests.memory` | Memory request | string | `"256Mi"` | +| `controllerManager.serviceAccount.create` | Create a service account | bool | `true` | +| `controllerManager.serviceAccount.annotations` | Service account annotations | object | `{}` | +| `controllerManager.priorityClass.create` | Create a priority class | bool | `false` | +| `controllerManager.priorityClass.name` | Priority class name | string | `"observabilityplane-controller-manager"` | +| `controllerManager.priorityClass.value` | Priority class value | int | `900000` | +| `controllerManager.nodeSelector` | Node selector for scheduling | object | `{}` | +| `controllerManager.tolerations` | Tolerations for scheduling | list | `[]` | +| `controllerManager.affinity` | Affinity rules for scheduling | object | `{}` | +| `controllerManager.topologySpreadConstraints` | Topology spread constraints | list | `[]` | +| `controllerManager.installationMode` | Installation mode: `singleCluster`, `multiCluster`, or `quickStart` | string | `"singleCluster"` | +| `controllerManager.podSecurityContext.runAsNonRoot` | Run as non-root user | bool | `true` | +| `controllerManager.podSecurityContext.runAsUser` | User ID to run as | int | `1000` | +| `controllerManager.podSecurityContext.runAsGroup` | Group ID to run as | int | `1000` | +| `controllerManager.podSecurityContext.fsGroup` | Filesystem group ID | int | `1000` | +| `controllerManager.containerSecurityContext.allowPrivilegeEscalation` | Prevent privilege escalation | bool | `false` | +| `controllerManager.containerSecurityContext.readOnlyRootFilesystem` | Use read-only root filesystem | bool | `false` | +| `controllerManager.manager.args` | Command-line arguments for the manager | list | See values.yaml | +| `controllerManager.manager.env.enableWebhooks` | Enable admission webhooks | string | `"false"` | +| `controllerManager.clusterGateway.enabled` | Enable cluster gateway integration | bool | `false` | +| `controllerManager.clusterGateway.url` | Cluster gateway URL | string | `"https://cluster-gateway.openchoreo-control-plane.svc.cluster.local:8443"` | +| `controllerManager.clusterGateway.tls.caPath` | Path to CA certificate | string | `"/etc/cluster-gateway/ca.crt"` | +| `controllerManager.clusterGateway.tls.caConfigMap` | ConfigMap containing CA certificate | string | `"cluster-gateway-ca"` | + +## Cluster Agent + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `clusterAgent.enabled` | Enable the cluster agent | bool | `true` | +| `clusterAgent.name` | Name of the cluster agent | string | `"cluster-agent-observabilityplane"` | +| `clusterAgent.replicas` | Number of replicas | int | `1` | +| `clusterAgent.image.repository` | Image repository | string | `"ghcr.io/openchoreo/cluster-agent"` | +| `clusterAgent.image.tag` | Image tag (defaults to Chart.AppVersion) | string | `""` | +| `clusterAgent.image.pullPolicy` | Image pull policy | string | `"IfNotPresent"` | +| `clusterAgent.serverUrl` | WebSocket URL to connect to cluster gateway | string | `"wss://cluster-gateway.openchoreo-control-plane.svc.cluster.local:8443/ws"` | +| `clusterAgent.planeID` | Logical plane identifier for multi-tenancy | string | `"default-observabilityplane"` | +| `clusterAgent.planeType` | Type of plane | string | `"observabilityplane"` | +| `clusterAgent.heartbeatInterval` | Heartbeat interval | string | `"30s"` | +| `clusterAgent.reconnectDelay` | Delay before reconnection attempts | string | `"5s"` | +| `clusterAgent.logLevel` | Log level | string | `"info"` | +| `clusterAgent.resources.requests.cpu` | CPU request | string | `"50m"` | +| `clusterAgent.resources.requests.memory` | Memory request | string | `"128Mi"` | +| `clusterAgent.resources.limits.cpu` | CPU limit | string | `"100m"` | +| `clusterAgent.resources.limits.memory` | Memory limit | string | `"256Mi"` | +| `clusterAgent.dnsRewrite.enabled` | Enable DNS rewrite for multi-cluster k3d setups | bool | `false` | +| `clusterAgent.serviceAccount.create` | Create a service account | bool | `true` | +| `clusterAgent.serviceAccount.name` | Service account name | string | `"cluster-agent-observabilityplane"` | +| `clusterAgent.serviceAccount.annotations` | Service account annotations | object | `{}` | +| `clusterAgent.rbac.create` | Create RBAC resources | bool | `true` | +| `clusterAgent.tls.enabled` | Enable TLS | bool | `true` | +| `clusterAgent.tls.generateCerts` | Generate certificates locally using cert-manager | bool | `false` | +| `clusterAgent.tls.secretName` | Name of the TLS secret | string | `"cluster-agent-tls"` | +| `clusterAgent.tls.clientSecretName` | Name of the client certificate secret | string | `"cluster-agent-tls"` | +| `clusterAgent.tls.serverCAConfigMap` | ConfigMap containing server CA certificate | string | `"cluster-gateway-ca"` | +| `clusterAgent.tls.serverCAValue` | Inline server CA certificate (PEM format) | string | `""` | +| `clusterAgent.tls.caSecretName` | CA secret name for signing client certificates | string | `"cluster-gateway-ca"` | +| `clusterAgent.tls.caSecretNamespace` | Namespace of the CA secret | string | `"openchoreo-control-plane"` | +| `clusterAgent.tls.caValue` | Inline CA certificate (PEM format) | string | `""` | +| `clusterAgent.tls.duration` | Certificate duration (90 days) | string | `"2160h"` | +| `clusterAgent.tls.renewBefore` | Certificate renewal window (15 days) | string | `"360h"` | +| `clusterAgent.serverCANamespace` | Namespace of the server CA | string | `"openchoreo-control-plane"` | +| `clusterAgent.priorityClass.create` | Create a priority class | bool | `false` | +| `clusterAgent.priorityClass.name` | Priority class name | string | `"cluster-agent-observabilityplane"` | +| `clusterAgent.priorityClass.value` | Priority class value | int | `900000` | +| `clusterAgent.podSecurityContext.runAsNonRoot` | Run as non-root user | bool | `true` | +| `clusterAgent.podSecurityContext.runAsUser` | User ID to run as | int | `1000` | +| `clusterAgent.podSecurityContext.fsGroup` | Filesystem group ID | int | `1000` | +| `clusterAgent.securityContext.allowPrivilegeEscalation` | Prevent privilege escalation | bool | `false` | +| `clusterAgent.securityContext.readOnlyRootFilesystem` | Use read-only root filesystem | bool | `true` | +| `clusterAgent.podAnnotations` | Pod annotations | object | `{}` | +| `clusterAgent.nodeSelector` | Node selector for scheduling | object | `{}` | +| `clusterAgent.tolerations` | Tolerations for scheduling | list | `[]` | +| `clusterAgent.affinity` | Affinity rules for scheduling | object | `{}` | + +## Observer + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `observer.replicas` | Number of observer replicas | int | `1` | +| `observer.image.repository` | Image repository | string | `"ghcr.io/openchoreo/observer"` | +| `observer.image.tag` | Image tag (defaults to Chart.AppVersion) | string | `""` | +| `observer.image.pullPolicy` | Image pull policy | string | `"IfNotPresent"` | +| `observer.service.type` | Service type | string | `"ClusterIP"` | +| `observer.service.port` | Service port | int | `8080` | +| `observer.logLevel` | Log level | string | `"info"` | +| `observer.resources.limits.cpu` | CPU limit | string | `"200m"` | +| `observer.resources.limits.memory` | Memory limit | string | `"200Mi"` | +| `observer.resources.requests.cpu` | CPU request | string | `"100m"` | +| `observer.resources.requests.memory` | Memory request | string | `"128Mi"` | +| `observer.prometheus.address` | Prometheus server address (auto-detected if empty) | string | `""` | +| `observer.prometheus.timeout` | Query timeout | string | `"30s"` | +| `observer.openSearchUsername` | OpenSearch username | string | `"admin"` | +| `observer.openSearchPassword` | OpenSearch password | string | `"ThisIsTheOpenSearchPassword1"` | +| `observer.extraEnvs` | Additional environment variables | list | See values.yaml | + +## OpenTelemetry Collector + +For all available options, see the [upstream values.yaml](https://github.com/open-telemetry/opentelemetry-helm-charts/blob/main/charts/opentelemetry-collector/values.yaml). + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `opentelemetry-collector.enabled` | Enable OpenTelemetry Collector | bool | `true` | +| `opentelemetry-collector.fullnameOverride` | Override the fullname | string | `"opentelemetry-collector"` | +| `opentelemetry-collector.image.repository` | Image repository | string | `"otel/opentelemetry-collector-contrib"` | +| `opentelemetry-collector.mode` | Deployment mode | string | `"deployment"` | +| `opentelemetry-collector.configMap.create` | Create ConfigMap (uses existing) | bool | `false` | +| `opentelemetry-collector.configMap.existingName` | Existing ConfigMap name | string | `"opentelemetry-collector-config"` | +| `opentelemetry-collector.resources.limits.cpu` | CPU limit | string | `"100m"` | +| `opentelemetry-collector.resources.limits.memory` | Memory limit | string | `"200Mi"` | +| `opentelemetry-collector.resources.requests.cpu` | CPU request | string | `"50m"` | +| `opentelemetry-collector.resources.requests.memory` | Memory request | string | `"100Mi"` | +| `opentelemetryCollectorCustomizations.openSearchQueue.numConsumers` | Number of queue consumers | int | `5` | +| `opentelemetryCollectorCustomizations.openSearchQueue.queueSize` | Queue size | int | `1000` | +| `opentelemetryCollectorCustomizations.openSearchQueue.sizer` | Queue sizer type | string | `"items"` | +| `opentelemetryCollectorCustomizations.tailSampling.decisionWait` | Decision wait time | string | `"10s"` | +| `opentelemetryCollectorCustomizations.tailSampling.numTraces` | Number of traces | int | `100` | +| `opentelemetryCollectorCustomizations.tailSampling.expectedNewTracesPerSec` | Expected new traces per second | int | `10` | +| `opentelemetryCollectorCustomizations.tailSampling.decisionCache.sampledCacheSize` | Sampled cache size | int | `10000` | +| `opentelemetryCollectorCustomizations.tailSampling.decisionCache.nonSampledCacheSize` | Non-sampled cache size | int | `1000` | +| `opentelemetryCollectorCustomizations.tailSampling.spansPerSecond` | Spans per second limit | int | `10` | + +## Prometheus + +For all available options, see the [upstream values.yaml](https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/values.yaml). + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `prometheus.enabled` | Enable Prometheus stack | bool | `true` | +| `prometheus.fullnameOverride` | Override the fullname | string | `"openchoreo-observability"` | +| `prometheus.cleanPrometheusOperatorObjectNames` | Produce cleaner resource names | bool | `true` | +| `prometheus.crds.enabled` | Install Prometheus Operator CRDs | bool | `true` | +| `prometheus.prometheusOperator.enabled` | Enable Prometheus Operator | bool | `true` | +| `prometheus.prometheusOperator.fullnameOverride` | Override the fullname | string | `"prometheus-operator"` | +| `prometheus.prometheusOperator.resources.limits.cpu` | CPU limit | string | `"40m"` | +| `prometheus.prometheusOperator.resources.limits.memory` | Memory limit | string | `"50Mi"` | +| `prometheus.prometheusOperator.resources.requests.cpu` | CPU request | string | `"20m"` | +| `prometheus.prometheusOperator.resources.requests.memory` | Memory request | string | `"30Mi"` | +| `prometheus.prometheus.enabled` | Enable Prometheus server | bool | `true` | +| `prometheus.prometheus.prometheusSpec.serviceMonitorNamespaceSelector` | Namespace selector for ServiceMonitors | object | `{}` | +| `prometheus.prometheus.prometheusSpec.serviceMonitorSelector` | Selector for ServiceMonitors | object | `{}` | +| `prometheus.prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues` | Use Helm values for nil selector | bool | `false` | +| `prometheus.prometheus.service.port` | Prometheus service port | int | `9091` | +| `prometheus.prometheus.service.reloaderWebPort` | Reloader web port | int | `8081` | +| `prometheus.alertmanager.enabled` | Enable Alertmanager | bool | `false` | +| `prometheus.alertmanager.alertmanagerSpec.podMetadata.name` | Pod name | string | `"alertmanager"` | +| `prometheus.grafana.enabled` | Enable Grafana | bool | `false` | +| `prometheus.grafana.fullnameOverride` | Override the fullname | string | `"grafana"` | +| `prometheus.grafana.adminUser` | Admin username | string | `"admin"` | +| `prometheus.grafana.adminPassword` | Admin password | string | `"admin"` | +| `prometheus.grafana.sidecar.dashboards.enabled` | Enable dashboard sidecar | bool | `false` | +| `prometheus.grafana.sidecar.datasources.enabled` | Enable datasource sidecar | bool | `false` | +| `prometheus.grafana.defaultDashboardsEnabled` | Enable default dashboards | bool | `false` | +| `prometheus.kubeStateMetrics.enabled` | Enable kube-state-metrics | bool | `true` | +| `prometheus.kube-state-metrics.fullnameOverride` | Override the fullname | string | `"kube-state-metrics"` | +| `prometheus.kube-state-metrics.collectors` | Resources to collect metrics for | list | `["pods"]` | +| `prometheus.kube-state-metrics.metricAllowlist` | Allowed metrics | list | See values.yaml | +| `prometheus.kube-state-metrics.metricLabelsAllowlist` | Allowed metric labels | list | See values.yaml | +| `prometheus.kubernetesServiceMonitors.enabled` | Enable Kubernetes service monitors | bool | `true` | +| `prometheus.kubelet.enabled` | Enable kubelet monitoring | bool | `true` | +| `prometheus.kubeApiServer.enabled` | Enable API server monitoring | bool | `false` | +| `prometheus.kubeControllerManager.enabled` | Enable controller manager monitoring | bool | `false` | +| `prometheus.coreDns.enabled` | Enable CoreDNS monitoring | bool | `false` | +| `prometheus.kubeEtcd.enabled` | Enable etcd monitoring | bool | `false` | +| `prometheus.kubeScheduler.enabled` | Enable scheduler monitoring | bool | `false` | +| `prometheus.kubeProxy.enabled` | Enable kube-proxy monitoring | bool | `false` | +| `prometheus.nodeExporter.enabled` | Enable node exporter | bool | `false` | +| `prometheus.defaultRules.create` | Create default alerting rules | bool | `false` | +| `prometheus.thanosRuler.enabled` | Enable Thanos Ruler | bool | `false` | + +## OpenSearch + +For all available options, see the [upstream values.yaml](https://github.com/opensearch-project/helm-charts/blob/main/charts/opensearch/values.yaml). + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `openSearch.enabled` | Enable OpenSearch Helm chart | bool | `false` | +| `openSearch.nameOverride` | Override the name | string | `"opensearch"` | +| `openSearch.image.tag` | OpenSearch image tag | string | `"3.3.0"` | +| `openSearch.masterService` | Master service name | string | `"opensearch"` | +| `openSearch.singleNode` | Run as single node | bool | `true` | +| `openSearch.rbac.create` | Create RBAC resources | bool | `true` | +| `openSearch.rbac.serviceAccountName` | Service account name | string | `"opensearch"` | + +## OpenSearch Cluster + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `openSearchCluster.enabled` | Enable OpenSearch Cluster (operator-based) | bool | `true` | +| `openSearchCluster.general.version` | OpenSearch version | string | `"3.3.0"` | +| `openSearchCluster.general.setVMMaxMapCount` | Set vm.max_map_count | bool | `true` | +| `openSearchCluster.adminUsername` | Admin username | string | `"admin"` | +| `openSearchCluster.adminUserPassword` | Admin password | string | `"ThisIsTheOpenSearchPassword1"` | +| `openSearchCluster.bootstrap.resources.limits.cpu` | CPU limit | string | `"1000m"` | +| `openSearchCluster.bootstrap.resources.limits.memory` | Memory limit | string | `"1000Mi"` | +| `openSearchCluster.bootstrap.resources.requests.cpu` | CPU request | string | `"100m"` | +| `openSearchCluster.bootstrap.resources.requests.memory` | Memory request | string | `"1000Mi"` | +| `openSearchCluster.nodePools.data.replicas` | Data node replicas | int | `2` | +| `openSearchCluster.nodePools.data.diskSize` | Data node disk size | string | `"5Gi"` | +| `openSearchCluster.nodePools.data.resources.limits.cpu` | Data node CPU limit | string | `"1000m"` | +| `openSearchCluster.nodePools.data.resources.limits.memory` | Data node memory limit | string | `"1000Mi"` | +| `openSearchCluster.nodePools.master.replicas` | Master node replicas | int | `3` | +| `openSearchCluster.nodePools.master.diskSize` | Master node disk size | string | `"1Gi"` | +| `openSearchCluster.nodePools.master.resources.limits.cpu` | Master node CPU limit | string | `"1000m"` | +| `openSearchCluster.nodePools.master.resources.limits.memory` | Master node memory limit | string | `"900Mi"` | +| `openSearchCluster.dashboards.enable` | Enable OpenSearch Dashboards | bool | `false` | +| `openSearchCluster.dashboards.replicas` | Number of replicas | int | `1` | +| `openSearchCluster.dashboards.version` | Dashboards version | string | `"3.3.0"` | + +## OpenSearch Dashboards + +For all available options, see the [upstream values.yaml](https://github.com/opensearch-project/helm-charts/blob/main/charts/opensearch-dashboards/values.yaml). + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `openSearchDashboards.enabled` | Enable OpenSearch Dashboards (Helm chart) | bool | `false` | +| `openSearchDashboards.fullnameOverride` | Override the fullname | string | `"opensearch-dashboards"` | +| `openSearchDashboards.image.tag` | Image tag | string | `"3.3.0"` | +| `openSearchDashboards.opensearchHosts` | OpenSearch hosts | string | `"http://opensearch:9200"` | +| `openSearchDashboards.replicas` | Number of replicas | int | `1` | +| `openSearchDashboards.config.disableSecurity` | Disable security | string | `"true"` | + +## OpenSearch Cluster Setup + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `openSearchClusterSetup.image.repository` | Setup job image | string | `"ghcr.io/openchoreo/init-observability-opensearch"` | +| `openSearchClusterSetup.image.tag` | Image tag | string | `""` | +| `openSearchClusterSetup.observerAddress` | Observer service address | string | `"http://observer.openchoreo-observability-plane:8080"` | +| `openSearchClusterSetup.observerAlertingWebhookSecret` | Alerting webhook secret | string | See values.yaml | + +## Fluent Bit + +For all available options, see the [upstream values.yaml](https://github.com/fluent/helm-charts/blob/main/charts/fluent-bit/values.yaml). + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `fluentBit.enabled` | Enable Fluent Bit | bool | `false` | +| `fluentBit.fullnameOverride` | Override the fullname | string | `"fluent-bit"` | +| `fluentBit.hostNetwork` | Use host network | bool | `true` | +| `fluentBit.dnsPolicy` | DNS policy | string | `"ClusterFirstWithHostNet"` | +| `fluentBit.metricsPort` | Metrics port | int | `2021` | +| `fluentBit.service.port` | Service port | int | `2021` | +| `fluentBit.rbac.nodeAccess` | Enable node access | bool | `true` | +| `fluentBit.testFramework.enabled` | Enable test framework | bool | `false` | +| `fluentBit.resources.limits.cpu` | CPU limit | string | `"200m"` | +| `fluentBit.resources.limits.memory` | Memory limit | string | `"256Mi"` | +| `fluentBit.resources.requests.cpu` | CPU request | string | `"100m"` | +| `fluentBit.resources.requests.memory` | Memory request | string | `"128Mi"` | +| `fluentBit.config.customParsers` | Custom parser configuration | string | See values.yaml | +| `fluentBit.config.inputs` | Input plugin configuration | string | See values.yaml | +| `fluentBit.config.filters` | Filter plugin configuration | string | See values.yaml | +| `fluentBit.config.outputs` | Output plugin configuration | string | See values.yaml | +| `fluentBit.securityContext.allowPrivilegeEscalation` | Prevent privilege escalation | bool | `false` | +| `fluentBit.securityContext.readOnlyRootFilesystem` | Use read-only root filesystem | bool | `true` | +| `fluentBit.securityContext.runAsNonRoot` | Run as non-root user | bool | `true` | +| `fluentBit.securityContext.runAsUser` | User ID to run as | int | `10000` | + +## Data Prepper + +For all available options, see the [upstream values.yaml](https://github.com/opensearch-project/helm-charts/blob/main/charts/data-prepper/values.yaml). + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `data-prepper.enabled` | Enable Data Prepper | bool | `false` | +| `data-prepper.fullnameOverride` | Override the fullname | string | `"data-prepper"` | +| `data-prepper.pipelineConfig.enabled` | Enable pipeline configuration | bool | `true` | +| `data-prepper.resources.limits.cpu` | CPU limit | string | `"1000m"` | +| `data-prepper.resources.limits.memory` | Memory limit | string | `"500Mi"` | +| `data-prepper.resources.requests.cpu` | CPU request | string | `"700m"` | +| `data-prepper.resources.requests.memory` | Memory request | string | `"500Mi"` | + +## KGateway + +For all available options, see the [upstream values.yaml](https://github.com/kgateway-dev/kgateway/blob/main/install/helm/kgateway/values.yaml). + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `kgateway.enabled` | Enable KGateway | bool | `false` | +| `kgateway.fullnameOverride` | Override the fullname | string | `"kgateway"` | +| `kgateway.controller.image.pullPolicy` | Image pull policy | string | `"IfNotPresent"` | +| `kgateway.controller.service.type` | Service type | string | `"ClusterIP"` | +| `kgateway.controller.service.ports.agwGrpc` | gRPC port | int | `9978` | +| `kgateway.controller.resources.limits.cpu` | CPU limit | string | `"200m"` | +| `kgateway.controller.resources.limits.memory` | Memory limit | string | `"256Mi"` | +| `kgateway.controller.resources.requests.cpu` | CPU request | string | `"100m"` | +| `kgateway.controller.resources.requests.memory` | Memory request | string | `"128Mi"` | + +## RCA Agent + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `rca.enabled` | Enable RCA agent | bool | `false` | +| `rca.name` | Name of the RCA agent | string | `"ai-rca-agent"` | +| `rca.replicas` | Number of replicas | int | `1` | +| `rca.image.repository` | Image repository | string | `"ai-rca-agent"` | +| `rca.image.tag` | Image tag | string | `"local-dev"` | +| `rca.image.pullPolicy` | Image pull policy | string | `"IfNotPresent"` | +| `rca.service.type` | Service type | string | `"ClusterIP"` | +| `rca.service.port` | Service port | int | `8080` | +| `rca.resources.requests.cpu` | CPU request | string | `"100m"` | +| `rca.resources.requests.memory` | Memory request | string | `"128Mi"` | +| `rca.resources.limits.cpu` | CPU limit | string | `"500m"` | +| `rca.resources.limits.memory` | Memory limit | string | `"512Mi"` | +| `rca.observerMcpUrl` | Observer MCP endpoint | string | `""` | +| `rca.openchoreoMcpUrl` | OpenChoreo API MCP endpoint | string | `""` | +| `rca.controlPlaneNamespace` | Control plane namespace | string | `"openchoreo-control-plane"` | +| `rca.llm.modelName` | LLM model name | string | `""` | +| `rca.llm.apiKey` | LLM API key | string | `""` | +| `rca.opensearch.address` | OpenSearch address | string | `"https://opensearch:9200"` | +| `rca.oauth.tokenUrl` | OAuth token URL | string | `"http://thunder.openchoreo.localhost:8080/oauth2/token"` | +| `rca.oauth.clientId` | OAuth client ID | string | `"openchoreo-rca-agent"` | +| `rca.oauth.clientSecret` | OAuth client secret | string | `"openchoreo-rca-agent-secret"` | + +## External Secrets + +For all available options, see the [upstream values.yaml](https://github.com/external-secrets/external-secrets/blob/main/deploy/charts/external-secrets/values.yaml). + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `external-secrets.enabled` | Enable External Secrets Operator | bool | `false` | +| `external-secrets.fullnameOverride` | Override the fullname | string | `"external-secrets"` | +| `external-secrets.nameOverride` | Override the name | string | `"external-secrets"` | + +## Fake Secret Store + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `fakeSecretStore.enabled` | Enable fake secret store | bool | `false` | +| `fakeSecretStore.name` | Secret store name | string | `"default"` | +| `fakeSecretStore.secrets` | List of fake secrets | list | See values.yaml | + +## Gateway + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `gateway.enabled` | Enable gateway | bool | `false` | +| `gateway.httpsPort` | HTTPS port | int | `443` | + +## TLS + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `tls.enabled` | Enable TLS globally | bool | `false` | + +## Wait Job + +| Key | Description | Type | Default | +|-----|-------------|------|---------| +| `waitJob.image` | Wait job image | string | `"bitnamilegacy/kubectl:1.32.4"` | diff --git a/package-lock.json b/package-lock.json index 66de4ab..92615ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,6 @@ "@docusaurus/module-type-aliases": "3.8.1", "@docusaurus/tsconfig": "3.8.1", "@docusaurus/types": "3.8.1", - "node-fetch": "^3.3.2", "typescript": "~5.6.2" }, "engines": { @@ -234,6 +233,7 @@ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.45.0.tgz", "integrity": "sha512-nxuCid+Nszs4xqwIMDw11pRJPes2c+Th1yup/+LtpjFH8QWXkr3SirNYSD3OXAeM060HgWWPLA8/Fxk+vwxQOA==", "license": "MIT", + "peer": true, "dependencies": { "@algolia/client-common": "5.45.0", "@algolia/requester-browser-xhr": "5.45.0", @@ -372,6 +372,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz", "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", "license": "MIT", + "peer": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", @@ -2161,6 +2162,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" }, @@ -2183,6 +2185,7 @@ } ], "license": "MIT", + "peer": true, "engines": { "node": ">=18" } @@ -2292,6 +2295,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -2713,6 +2717,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -3672,6 +3677,7 @@ "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.9.2.tgz", "integrity": "sha512-C5wZsGuKTY8jEYsqdxhhFOe1ZDjH0uIYJ9T/jebHwkyxqnr4wW0jTkB72OMqNjsoQRcb0JN3PcSeTwFlVgzCZg==", "license": "MIT", + "peer": true, "dependencies": { "@docusaurus/core": "3.9.2", "@docusaurus/logger": "3.9.2", @@ -4926,6 +4932,7 @@ "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.0.tgz", "integrity": "sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==", "license": "MIT", + "peer": true, "dependencies": { "@types/mdx": "^2.0.0" }, @@ -5244,6 +5251,7 @@ "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/core": "^7.21.3", "@svgr/babel-preset": "8.1.0", @@ -5615,6 +5623,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.10.tgz", "integrity": "sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg==", "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.0.2" } @@ -5965,6 +5974,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -6050,6 +6060,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -6095,6 +6106,7 @@ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.45.0.tgz", "integrity": "sha512-wrj4FGr14heLOYkBKV3Fbq5ZBGuIFeDJkTilYq/G+hH1CSlQBtYvG2X1j67flwv0fUeQJwnWxxRIunSemAZirA==", "license": "MIT", + "peer": true, "dependencies": { "@algolia/abtesting": "1.11.0", "@algolia/client-abtesting": "5.45.0", @@ -6558,6 +6570,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.25", "caniuse-lite": "^1.0.30001754", @@ -7514,6 +7527,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -7828,16 +7842,6 @@ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "license": "MIT" }, - "node_modules/data-uri-to-buffer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", - "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, "node_modules/debounce": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", @@ -8848,30 +8852,6 @@ "node": ">=0.4.0" } }, - "node_modules/fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" - } - ], - "license": "MIT", - "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, - "engines": { - "node": "^12.20 || >= 14.13" - } - }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -8921,6 +8901,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -9088,19 +9069,6 @@ "node": ">=0.4.x" } }, - "node_modules/formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fetch-blob": "^3.1.2" - }, - "engines": { - "node": ">=12.20.0" - } - }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -13285,27 +13253,6 @@ "tslib": "^2.0.3" } }, - "node_modules/node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "deprecated": "Use your platform's native DOMException instead", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" - } - ], - "license": "MIT", - "engines": { - "node": ">=10.5.0" - } - }, "node_modules/node-emoji": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz", @@ -13321,25 +13268,6 @@ "node": ">=18" } }, - "node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, "node_modules/node-forge": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.2.tgz", @@ -13440,6 +13368,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -13955,6 +13884,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -14858,6 +14788,7 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -15652,6 +15583,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz", "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -15661,6 +15593,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.1.tgz", "integrity": "sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==", "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.26.0" }, @@ -15716,6 +15649,7 @@ "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz", "integrity": "sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==", "license": "MIT", + "peer": true, "dependencies": { "@types/react": "*" }, @@ -15744,6 +15678,7 @@ "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", "license": "MIT", + "peer": true, "dependencies": { "@babel/runtime": "^7.12.13", "history": "^4.9.0", @@ -17524,7 +17459,8 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" + "license": "0BSD", + "peer": true }, "node_modules/type-fest": { "version": "2.19.0", @@ -17587,6 +17523,7 @@ "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "devOptional": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -17928,6 +17865,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -18130,21 +18068,12 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/web-streams-polyfill": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", - "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, "node_modules/webpack": { "version": "5.101.2", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.101.2.tgz", "integrity": "sha512-4JLXU0tD6OZNVqlwzm3HGEhAHufSiyv+skb7q0d2367VDMzrU1Q/ZeepvkcHH0rZie6uqEtTQQe0OEOOluH3Mg==", "license": "MIT", + "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", @@ -18735,6 +18664,7 @@ "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.13.tgz", "integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==", "license": "MIT", + "peer": true, "funding": { "url": "https://github.com/sponsors/colinhacks" }