From 6ea18b92d34739be4f72d8905448dfbd10187b84 Mon Sep 17 00:00:00 2001 From: Zhang Xin Date: Fri, 13 Dec 2024 13:02:29 +0800 Subject: [PATCH 01/11] [bitnami/grafana-tempo] support scaling-monolithic mode Signed-off-by: Zhang Xin --- .vib/grafana-tempo/runtime-parameters.yaml | 1 + bitnami/grafana-tempo/Chart.yaml | 2 +- bitnami/grafana-tempo/README.md | 173 +++++ bitnami/grafana-tempo/templates/NOTES.txt | 27 +- bitnami/grafana-tempo/templates/_helpers.tpl | 7 + .../templates/compactor/deployment.yaml | 2 + .../templates/compactor/networkpolicy.yaml | 2 + .../templates/compactor/pdb.yaml | 2 + .../templates/compactor/service.yaml | 2 + .../templates/compactor/servicemonitor.yaml | 2 + .../templates/distributor/deployment.yaml | 2 + .../templates/distributor/networkpolicy.yaml | 2 + .../templates/distributor/pdb.yaml | 2 + .../templates/distributor/service.yaml | 2 + .../templates/distributor/servicemonitor.yaml | 2 + .../templates/ingester/networkpolicy.yaml | 2 + .../grafana-tempo/templates/ingester/pdb.yaml | 2 + .../templates/ingester/service.yaml | 2 + .../templates/ingester/servicemonitor.yaml | 2 + .../templates/ingester/statefulset.yaml | 2 + .../metrics-generator/deployment.yaml | 2 + .../metrics-generator/networkpolicy.yaml | 2 + .../templates/metrics-generator/pdb.yaml | 2 + .../templates/metrics-generator/service.yaml | 2 + .../metrics-generator/servicemonitor.yaml | 2 + .../templates/querier/deployment.yaml | 2 + .../templates/querier/networkpolicy.yaml | 2 + .../grafana-tempo/templates/querier/pdb.yaml | 2 + .../templates/querier/service.yaml | 2 + .../templates/querier/servicemonitor.yaml | 2 + .../templates/query-frontend/deployment.yaml | 2 + .../query-frontend/headless-service.yaml | 2 + .../query-frontend/networkpolicy.yaml | 2 + .../templates/query-frontend/pdb.yaml | 2 + .../query-frontend/query-configmap.yaml | 2 + .../templates/query-frontend/service.yaml | 2 + .../query-frontend/servicemonitor.yaml | 2 + .../scaling-monolithic/headless-service.yaml | 97 +++ .../scaling-monolithic/networkpolicy.yaml | 126 ++++ .../templates/scaling-monolithic/pdb.yaml | 30 + .../templates/scaling-monolithic/service.yaml | 120 ++++ .../scaling-monolithic/servicemonitor.yaml | 50 ++ .../scaling-monolithic/statefulset.yaml | 235 +++++++ .../templates/vulture/deployment.yaml | 5 + bitnami/grafana-tempo/values.yaml | 599 ++++++++++++++++++ 45 files changed, 1532 insertions(+), 4 deletions(-) create mode 100644 bitnami/grafana-tempo/templates/scaling-monolithic/headless-service.yaml create mode 100644 bitnami/grafana-tempo/templates/scaling-monolithic/networkpolicy.yaml create mode 100644 bitnami/grafana-tempo/templates/scaling-monolithic/pdb.yaml create mode 100644 bitnami/grafana-tempo/templates/scaling-monolithic/service.yaml create mode 100644 bitnami/grafana-tempo/templates/scaling-monolithic/servicemonitor.yaml create mode 100644 bitnami/grafana-tempo/templates/scaling-monolithic/statefulset.yaml diff --git a/.vib/grafana-tempo/runtime-parameters.yaml b/.vib/grafana-tempo/runtime-parameters.yaml index 2bc543a4501bd8..7b93a992c3da58 100644 --- a/.vib/grafana-tempo/runtime-parameters.yaml +++ b/.vib/grafana-tempo/runtime-parameters.yaml @@ -1,4 +1,5 @@ tempo: + deploymentMode: "microservices" dataDir: /bitnami/grafana-tempo/data traces: otlp: diff --git a/bitnami/grafana-tempo/Chart.yaml b/bitnami/grafana-tempo/Chart.yaml index 65f49d43e218f3..a5252ae8334601 100644 --- a/bitnami/grafana-tempo/Chart.yaml +++ b/bitnami/grafana-tempo/Chart.yaml @@ -39,4 +39,4 @@ maintainers: name: grafana-tempo sources: - https://github.com/bitnami/charts/tree/main/bitnami/grafana-tempo -version: 3.8.3 +version: 3.9.0 diff --git a/bitnami/grafana-tempo/README.md b/bitnami/grafana-tempo/README.md index 14bd18695d2c20..2f7f9be526b693 100644 --- a/bitnami/grafana-tempo/README.md +++ b/bitnami/grafana-tempo/README.md @@ -219,6 +219,7 @@ The [Bitnami grafana-tempo](https://github.com/bitnami/containers/tree/main/bitn | `tempo.image.digest` | Grafana Tempo image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `tempo.image.pullPolicy` | Grafana Tempo image pull policy | `IfNotPresent` | | `tempo.image.pullSecrets` | Grafana Tempo image pull secrets | `[]` | +| `tempo.deploymentMode` | decides components run in a process. (allowed values: microservices, scalingMonolithic) | `microservices` | | `tempo.memBallastSizeMbs` | Tempo components memory ballast size in MB | `1024` | | `tempo.dataDir` | Tempo components data directory | `/bitnami/grafana-tempo/data` | | `tempo.traces.jaeger.grpc` | Enable Tempo to ingest Jaeger GRPC traces | `true` | @@ -916,6 +917,178 @@ The [Bitnami grafana-tempo](https://github.com/bitnami/containers/tree/main/bitn | `queryFrontend.networkPolicy.ingressNSMatchLabels` | Labels to match to allow traffic from other namespaces. Ignored if `queryFrontend.networkPolicy.allowExternal` is true. | `{}` | | `queryFrontend.networkPolicy.ingressNSPodMatchLabels` | Pod labels to match to allow traffic from other namespaces. Ignored if `queryFrontend.networkPolicy.allowExternal` is true. | `{}` | +### Scalable Single Binary Deployment Parameters + +| Name | Description | Value | +| --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | +| `scalingMonolithic.extraEnvVars` | Array with extra environment variables to add to scalingMonolithic nodes | `[]` | +| `scalingMonolithic.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for scalingMonolithic nodes | `""` | +| `scalingMonolithic.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for scalingMonolithic nodes | `""` | +| `scalingMonolithic.command` | Override default container command (useful when using custom images) | `[]` | +| `scalingMonolithic.args` | Override default container args (useful when using custom images) | `[]` | +| `scalingMonolithic.replicaCount` | Number of scalingMonolithic replicas to deploy | `1` | +| `scalingMonolithic.livenessProbe.enabled` | Enable livenessProbe on scalingMonolithic nodes | `true` | +| `scalingMonolithic.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `10` | +| `scalingMonolithic.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` | +| `scalingMonolithic.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `1` | +| `scalingMonolithic.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `3` | +| `scalingMonolithic.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` | +| `scalingMonolithic.readinessProbe.enabled` | Enable readinessProbe on scalingMonolithic nodes | `true` | +| `scalingMonolithic.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `10` | +| `scalingMonolithic.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` | +| `scalingMonolithic.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` | +| `scalingMonolithic.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `3` | +| `scalingMonolithic.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` | +| `scalingMonolithic.startupProbe.enabled` | Enable startupProbe on scalingMonolithic containers | `false` | +| `scalingMonolithic.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `30` | +| `scalingMonolithic.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` | +| `scalingMonolithic.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `1` | +| `scalingMonolithic.startupProbe.failureThreshold` | Failure threshold for startupProbe | `15` | +| `scalingMonolithic.startupProbe.successThreshold` | Success threshold for startupProbe | `1` | +| `scalingMonolithic.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` | +| `scalingMonolithic.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` | +| `scalingMonolithic.customStartupProbe` | Custom startupProbe that overrides the default one | `{}` | +| `scalingMonolithic.lifecycleHooks` | for the scalingMonolithic container(s) to automate configuration before or after startup | `{}` | +| `scalingMonolithic.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if scalingMonolithic.resources is set (scalingMonolithic.resources is recommended for production). | `nano` | +| `scalingMonolithic.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` | +| `scalingMonolithic.podSecurityContext.enabled` | Enabled scalingMonolithic pods' Security Context | `true` | +| `scalingMonolithic.podSecurityContext.fsGroupChangePolicy` | Set filesystem group change policy | `Always` | +| `scalingMonolithic.podSecurityContext.sysctls` | Set kernel settings using the sysctl interface | `[]` | +| `scalingMonolithic.podSecurityContext.supplementalGroups` | Set filesystem extra groups | `[]` | +| `scalingMonolithic.podSecurityContext.fsGroup` | Set scalingMonolithic pod's Security Context fsGroup | `1001` | +| `scalingMonolithic.containerSecurityContext.enabled` | Enabled containers' Security Context | `true` | +| `scalingMonolithic.containerSecurityContext.seLinuxOptions` | Set SELinux options in container | `{}` | +| `scalingMonolithic.containerSecurityContext.runAsUser` | Set containers' Security Context runAsUser | `1001` | +| `scalingMonolithic.containerSecurityContext.runAsGroup` | Set containers' Security Context runAsGroup | `1001` | +| `scalingMonolithic.containerSecurityContext.runAsNonRoot` | Set container's Security Context runAsNonRoot | `true` | +| `scalingMonolithic.containerSecurityContext.privileged` | Set container's Security Context privileged | `false` | +| `scalingMonolithic.containerSecurityContext.readOnlyRootFilesystem` | Set container's Security Context readOnlyRootFilesystem | `true` | +| `scalingMonolithic.containerSecurityContext.allowPrivilegeEscalation` | Set container's Security Context allowPrivilegeEscalation | `false` | +| `scalingMonolithic.containerSecurityContext.capabilities.drop` | List of capabilities to be dropped | `["ALL"]` | +| `scalingMonolithic.containerSecurityContext.seccompProfile.type` | Set container's Security Context seccomp profile | `RuntimeDefault` | +| `scalingMonolithic.automountServiceAccountToken` | Mount Service Account token in pod | `false` | +| `scalingMonolithic.hostAliases` | scalingMonolithic pods host aliases | `[]` | +| `scalingMonolithic.podLabels` | Extra labels for scalingMonolithic pods | `{}` | +| `scalingMonolithic.podAnnotations` | Annotations for scalingMonolithic pods | `{}` | +| `scalingMonolithic.podAffinityPreset` | Pod affinity preset. Ignored if `scalingMonolithic.affinity` is set. Allowed values: `soft` or `hard` | `""` | +| `scalingMonolithic.podAntiAffinityPreset` | Pod anti-affinity preset. Ignored if `scalingMonolithic.affinity` is set. Allowed values: `soft` or `hard` | `soft` | +| `scalingMonolithic.nodeAffinityPreset.type` | Node affinity preset type. Ignored if `scalingMonolithic.affinity` is set. Allowed values: `soft` or `hard` | `""` | +| `scalingMonolithic.nodeAffinityPreset.key` | Node label key to match. Ignored if `scalingMonolithic.affinity` is set | `""` | +| `scalingMonolithic.nodeAffinityPreset.values` | Node label values to match. Ignored if `scalingMonolithic.affinity` is set | `[]` | +| `scalingMonolithic.affinity` | Affinity for scalingMonolithic pods assignment | `{}` | +| `scalingMonolithic.nodeSelector` | Node labels for scalingMonolithic pods assignment | `{}` | +| `scalingMonolithic.tolerations` | Tolerations for scalingMonolithic pods assignment | `[]` | +| `scalingMonolithic.topologySpreadConstraints` | Topology Spread Constraints for pod assignment spread across your cluster among failure-domains | `[]` | +| `scalingMonolithic.priorityClassName` | scalingMonolithic pods' priorityClassName | `""` | +| `scalingMonolithic.schedulerName` | Kubernetes pod scheduler registry | `""` | +| `scalingMonolithic.updateStrategy.type` | scalingMonolithic statefulset strategy type | `RollingUpdate` | +| `scalingMonolithic.updateStrategy.rollingUpdate` | scalingMonolithic statefulset rolling update configuration parameters | `{}` | +| `scalingMonolithic.extraVolumes` | Optionally specify extra list of additional volumes for the scalingMonolithic pod(s) | `[]` | +| `scalingMonolithic.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the scalingMonolithic container(s) | `[]` | +| `scalingMonolithic.sidecars` | Add additional sidecar containers to the scalingMonolithic pod(s) | `[]` | +| `scalingMonolithic.initContainers` | Add additional init containers to the scalingMonolithic pod(s) | `[]` | +| `scalingMonolithic.pdb.create` | Enable/disable a Pod Disruption Budget creation | `true` | +| `scalingMonolithic.pdb.minAvailable` | Minimum number/percentage of pods that should remain scheduled | `""` | +| `scalingMonolithic.pdb.maxUnavailable` | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `scalingMonolithic.pdb.minAvailable` and `scalingMonolithic.pdb.maxUnavailable` are empty. | `""` | +| `scalingMonolithic.enableServiceLinks` | Whether information about services should be injected into pod's environment variable | `true` | + +### scalingMonolithic Persistence Parameters + +| Name | Description | Value | +| --------------------------------------------- | -------------------------------------------------------------------------------- | ------------------- | +| `scalingMonolithic.persistence.enabled` | Enable persistence in scalingMonolithic instances | `true` | +| `scalingMonolithic.persistence.existingClaim` | Name of an existing PVC to use | `""` | +| `scalingMonolithic.persistence.storageClass` | PVC Storage Class for Memcached data volume | `""` | +| `scalingMonolithic.persistence.subPath` | The subdirectory of the volume to mount to | `""` | +| `scalingMonolithic.persistence.accessModes` | PVC Access modes | `["ReadWriteOnce"]` | +| `scalingMonolithic.persistence.size` | PVC Storage Request for Memcached data volume | `8Gi` | +| `scalingMonolithic.persistence.annotations` | Additional PVC annotations | `{}` | +| `scalingMonolithic.persistence.selector` | Selector to match an existing Persistent Volume for scalingMonolithic's data PVC | `{}` | + +### scalingMonolithic Traffic Exposure Parameters + +| Name | Description | Value | +| --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- | +| `scalingMonolithic.query.enabled` | Whether to enable the query container for legacy Grafana compatibility with jaeger-ui. Only required for grafana version <7.5 | `false` | +| `scalingMonolithic.query.image.registry` | Grafana Tempo Query image registry | `REGISTRY_NAME` | +| `scalingMonolithic.query.image.repository` | Grafana Tempo Query image repository | `REPOSITORY_NAME/grafana-tempo-query` | +| `scalingMonolithic.query.image.digest` | Grafana Tempo Query image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | +| `scalingMonolithic.query.image.pullPolicy` | Grafana Tempo Query image pull policy | `IfNotPresent` | +| `scalingMonolithic.query.image.pullSecrets` | Grafana Tempo Query image pull secrets | `[]` | +| `scalingMonolithic.query.configuration` | Query sidecar configuration | `""` | +| `scalingMonolithic.query.containerPorts.jaegerMetrics` | scalingMonolithic query sidecar Jaeger metrics container port | `16687` | +| `scalingMonolithic.query.containerPorts.jaegerUI` | scalingMonolithic query sidecar Jaeger UI container port | `16686` | +| `scalingMonolithic.query.containerPorts.jaegerGRPC` | scalingMonolithic query sidecar Jaeger UI container port | `16685` | +| `scalingMonolithic.query.existingConfigmap` | Name of a configmap with the query configuration | `""` | +| `scalingMonolithic.query.extraEnvVars` | Array with extra environment variables to add to scalingMonolithic nodes | `[]` | +| `scalingMonolithic.query.extraEnvVarsCM` | Name of existing ConfigMap containing extra env vars for scalingMonolithic nodes | `""` | +| `scalingMonolithic.query.extraEnvVarsSecret` | Name of existing Secret containing extra env vars for scalingMonolithic nodes | `""` | +| `scalingMonolithic.query.command` | Override default container command (useful when using custom images) | `[]` | +| `scalingMonolithic.query.args` | Override default container args (useful when using custom images) | `[]` | +| `scalingMonolithic.query.livenessProbe.enabled` | Enable livenessProbe on Query sidecar nodes | `true` | +| `scalingMonolithic.query.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `10` | +| `scalingMonolithic.query.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `10` | +| `scalingMonolithic.query.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `1` | +| `scalingMonolithic.query.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `3` | +| `scalingMonolithic.query.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` | +| `scalingMonolithic.query.readinessProbe.enabled` | Enable readinessProbe on Query sidecar nodes | `true` | +| `scalingMonolithic.query.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `10` | +| `scalingMonolithic.query.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `10` | +| `scalingMonolithic.query.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `1` | +| `scalingMonolithic.query.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `3` | +| `scalingMonolithic.query.readinessProbe.successThreshold` | Success threshold for readinessProbe | `1` | +| `scalingMonolithic.query.startupProbe.enabled` | Enable startupProbe on Query sidecar containers | `false` | +| `scalingMonolithic.query.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `30` | +| `scalingMonolithic.query.startupProbe.periodSeconds` | Period seconds for startupProbe | `10` | +| `scalingMonolithic.query.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `1` | +| `scalingMonolithic.query.startupProbe.failureThreshold` | Failure threshold for startupProbe | `15` | +| `scalingMonolithic.query.startupProbe.successThreshold` | Success threshold for startupProbe | `1` | +| `scalingMonolithic.query.customLivenessProbe` | Custom livenessProbe that overrides the default one | `{}` | +| `scalingMonolithic.query.customReadinessProbe` | Custom readinessProbe that overrides the default one | `{}` | +| `scalingMonolithic.query.customStartupProbe` | Custom startupProbe that overrides the default one | `{}` | +| `scalingMonolithic.query.lifecycleHooks` | for the query sidecar container(s) to automate configuration before or after startup | `{}` | +| `scalingMonolithic.query.containerSecurityContext.enabled` | Enabled containers' Security Context | `true` | +| `scalingMonolithic.query.containerSecurityContext.seLinuxOptions` | Set SELinux options in container | `{}` | +| `scalingMonolithic.query.containerSecurityContext.runAsUser` | Set containers' Security Context runAsUser | `1001` | +| `scalingMonolithic.query.containerSecurityContext.runAsGroup` | Set containers' Security Context runAsGroup | `1001` | +| `scalingMonolithic.query.containerSecurityContext.runAsNonRoot` | Set container's Security Context runAsNonRoot | `true` | +| `scalingMonolithic.query.containerSecurityContext.privileged` | Set container's Security Context privileged | `false` | +| `scalingMonolithic.query.containerSecurityContext.readOnlyRootFilesystem` | Set container's Security Context readOnlyRootFilesystem | `true` | +| `scalingMonolithic.query.containerSecurityContext.allowPrivilegeEscalation` | Set container's Security Context allowPrivilegeEscalation | `false` | +| `scalingMonolithic.query.containerSecurityContext.capabilities.drop` | List of capabilities to be dropped | `["ALL"]` | +| `scalingMonolithic.query.containerSecurityContext.seccompProfile.type` | Set container's Security Context seccomp profile | `RuntimeDefault` | +| `scalingMonolithic.query.resourcesPreset` | Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if scalingMonolithic.query.resources is set (scalingMonolithic.query.resources is recommended for production). | `nano` | +| `scalingMonolithic.query.resources` | Set container requests and limits for different resources like CPU or memory (essential for production workloads) | `{}` | +| `scalingMonolithic.query.extraVolumeMounts` | Optionally specify extra list of additional volumeMounts for the scalingMonolithic container(s) | `[]` | + +### Scaling Monolithic Traffic Exposure Parameters + +| Name | Description | Value | +| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ----------- | +| `scalingMonolithic.service.type` | scalingMonolithic service type | `ClusterIP` | +| `scalingMonolithic.service.ports.http` | scalingMonolithic HTTP service port | `3200` | +| `scalingMonolithic.service.ports.grpc` | scalingMonolithic GRPC service port | `9095` | +| `scalingMonolithic.service.nodePorts.http` | Node port for HTTP | `""` | +| `scalingMonolithic.service.nodePorts.grpc` | Node port for GRPC | `""` | +| `scalingMonolithic.service.sessionAffinity` | Control where client requests go, to the same pod or round-robin | `None` | +| `scalingMonolithic.service.sessionAffinityConfig` | Additional settings for the sessionAffinity | `{}` | +| `scalingMonolithic.service.clusterIP` | scalingMonolithic service Cluster IP | `""` | +| `scalingMonolithic.service.loadBalancerIP` | scalingMonolithic service Load Balancer IP | `""` | +| `scalingMonolithic.service.loadBalancerSourceRanges` | scalingMonolithic service Load Balancer sources | `[]` | +| `scalingMonolithic.service.externalTrafficPolicy` | scalingMonolithic service external traffic policy | `Cluster` | +| `scalingMonolithic.service.annotations` | Additional custom annotations for scalingMonolithic service | `{}` | +| `scalingMonolithic.service.extraPorts` | Extra ports to expose in the scalingMonolithic service | `[]` | +| `scalingMonolithic.service.headless.annotations` | Annotations for the headless service. | `{}` | +| `scalingMonolithic.networkPolicy.enabled` | Specifies whether a NetworkPolicy should be created | `true` | +| `scalingMonolithic.networkPolicy.allowExternal` | Don't require server label for connections | `true` | +| `scalingMonolithic.networkPolicy.allowExternalEgress` | Allow the pod to access any range of port and all destinations. | `true` | +| `scalingMonolithic.networkPolicy.addExternalClientAccess` | Allow access from pods with client label set to "true". Ignored if `scalingMonolithic.networkPolicy.allowExternal` is true. | `true` | +| `scalingMonolithic.networkPolicy.extraIngress` | Add extra ingress rules to the NetworkPolicy | `[]` | +| `scalingMonolithic.networkPolicy.extraEgress` | Add extra ingress rules to the NetworkPolicy | `[]` | +| `scalingMonolithic.networkPolicy.ingressPodMatchLabels` | Labels to match to allow traffic from other pods. Ignored if `scalingMonolithic.networkPolicy.allowExternal` is true. | `{}` | +| `scalingMonolithic.networkPolicy.ingressNSMatchLabels` | Labels to match to allow traffic from other namespaces. Ignored if `scalingMonolithic.networkPolicy.allowExternal` is true. | `{}` | +| `scalingMonolithic.networkPolicy.ingressNSPodMatchLabels` | Pod labels to match to allow traffic from other namespaces. Ignored if `scalingMonolithic.networkPolicy.allowExternal` is true. | `{}` | + ### Vulture Deployment Parameters | Name | Description | Value | diff --git a/bitnami/grafana-tempo/templates/NOTES.txt b/bitnami/grafana-tempo/templates/NOTES.txt index 0a5f9789485d9c..2e26746e02a0fd 100644 --- a/bitnami/grafana-tempo/templates/NOTES.txt +++ b/bitnami/grafana-tempo/templates/NOTES.txt @@ -28,17 +28,22 @@ In order to replicate the container startup execute this command: Installed components: + {{- if eq .Values.tempo.deploymentMode "microservices" }} * ingester * distributor * querier * query-frontend * compactor + {{- else if eq .Values.tempo.deploymentMode "scalingMonolithic" }} + * scaling-monolithic + {{- end }} {{- if .Values.vulture.enabled }} * vulture {{- end }} 1. Get the query-frontend URL by running these commands: +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if contains "NodePort" .Values.queryFrontend.service.type }} export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "grafana-tempo.query-frontend.fullname" . }}) export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") @@ -52,10 +57,26 @@ Installed components: echo "The Query Frontend is available at http://127.0.0.1:{{ .Values.queryFrontend.service.ports.http }}" kubectl port-forward svc/{{ template "grafana-tempo.query-frontend.fullname" . }} {{ .Values.queryFrontend.service.ports.http }}:{{ .Values.queryFrontend.service.ports.http }} & {{- end }} +{{- else if eq .Values.tempo.deploymentMode "scalingMonolithic" }} +{{- if contains "NodePort" .Values.scalingMonolithic.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "grafana-tempo.scaling-monolithic.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.scalingMonolithic.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ template "common.names.fullname" . }} + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "common.names.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + echo http://$SERVICE_IP:{{ .Values.scalingMonolithic.service.ports.http }} +{{- else if contains "ClusterIP" .Values.scalingMonolithic.service.type }} + echo "The Query Frontend is available at http://127.0.0.1:{{ .Values.scalingMonolithic.service.ports.http }}" + kubectl port-forward svc/{{ template "grafana-tempo.scaling-monolithic.fullname" . }} {{ .Values.scalingMonolithic.service.ports.http }}:{{ .Values.scalingMonolithic.service.ports.http }} & +{{- end }} +{{- end }} + {{- end }} {{- include "grafana-tempo.checkRollingTags" . }} {{- include "grafana-tempo.validateValues" . }} -{{- include "common.warnings.resources" (dict "sections" (list "compactor" "distributor" "ingester" "metricsGenerator" "querier" "queryFrontend.query" "queryFrontend" "volumePermissions" "vulture") "context" $) }} -{{- include "common.warnings.modifiedImages" (dict "images" (list .Values.tempo.image .Values.queryFrontend.query.image .Values.vulture.image .Values.volumePermissions.image) "context" $) }} -{{- include "common.errors.insecureImages" (dict "images" (list .Values.tempo.image .Values.queryFrontend.query.image .Values.vulture.image .Values.volumePermissions.image) "context" $) }} +{{- include "common.warnings.resources" (dict "sections" (list "compactor" "distributor" "ingester" "metricsGenerator" "querier" "queryFrontend.query" "queryFrontend" "scalingMonolithic.query" "scalingMonolithic" "volumePermissions" "vulture") "context" $) }} +{{- include "common.warnings.modifiedImages" (dict "images" (list .Values.tempo.image .Values.queryFrontend.query.image .Values.scalingMonolithic.query.image .Values.vulture.image .Values.volumePermissions.image) "context" $) }} +{{- include "common.errors.insecureImages" (dict "images" (list .Values.tempo.image .Values.queryFrontend.query.image .Values.scalingMonolithic.query.image .Values.vulture.image .Values.volumePermissions.image) "context" $) }} diff --git a/bitnami/grafana-tempo/templates/_helpers.tpl b/bitnami/grafana-tempo/templates/_helpers.tpl index 5d2449bcaa975d..7c4b1de4ead021 100644 --- a/bitnami/grafana-tempo/templates/_helpers.tpl +++ b/bitnami/grafana-tempo/templates/_helpers.tpl @@ -52,6 +52,13 @@ Return the proper Grafana Tempo query-frontend fullname {{- printf "%s-%s" (include "common.names.fullname" .) "query-frontend" -}} {{- end -}} +{{/* +Return the proper Grafana Tempo scaling-monolithic fullname +*/}} +{{- define "grafana-tempo.scaling-monolithic.fullname" -}} +{{- printf "%s-%s" (include "common.names.fullname" .) "scaling-monolithic" -}} +{{- end -}} + {{/* Return the proper Grafana Tempo vulture fullname */}} diff --git a/bitnami/grafana-tempo/templates/compactor/deployment.yaml b/bitnami/grafana-tempo/templates/compactor/deployment.yaml index d38f94eb1a7da2..774629f45d9ea5 100644 --- a/bitnami/grafana-tempo/templates/compactor/deployment.yaml +++ b/bitnami/grafana-tempo/templates/compactor/deployment.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if .Values.compactor.enabled }} apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment @@ -177,3 +178,4 @@ spec: {{- include "common.tplvalues.render" (dict "value" .Values.compactor.extraVolumes "context" $) | nindent 8 }} {{- end }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/compactor/networkpolicy.yaml b/bitnami/grafana-tempo/templates/compactor/networkpolicy.yaml index 14540f723b541c..1000343448a21a 100644 --- a/bitnami/grafana-tempo/templates/compactor/networkpolicy.yaml +++ b/bitnami/grafana-tempo/templates/compactor/networkpolicy.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if and .Values.compactor.enabled .Values.compactor.networkPolicy.enabled }} kind: NetworkPolicy apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} @@ -122,3 +123,4 @@ spec: {{- include "common.tplvalues.render" ( dict "value" .Values.compactor.networkPolicy.extraIngress "context" $ ) | nindent 4 }} {{- end }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/compactor/pdb.yaml b/bitnami/grafana-tempo/templates/compactor/pdb.yaml index 4f5ef3f3648aa0..10e1b15e23445b 100644 --- a/bitnami/grafana-tempo/templates/compactor/pdb.yaml +++ b/bitnami/grafana-tempo/templates/compactor/pdb.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if and .Values.compactor.enabled .Values.compactor.pdb.create }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget @@ -26,3 +27,4 @@ spec: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} app.kubernetes.io/component: compactor {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/compactor/service.yaml b/bitnami/grafana-tempo/templates/compactor/service.yaml index e80929e7662383..4ab6b77c7f1847 100644 --- a/bitnami/grafana-tempo/templates/compactor/service.yaml +++ b/bitnami/grafana-tempo/templates/compactor/service.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if .Values.compactor.enabled }} apiVersion: v1 kind: Service @@ -61,3 +62,4 @@ spec: selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: compactor {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/compactor/servicemonitor.yaml b/bitnami/grafana-tempo/templates/compactor/servicemonitor.yaml index e33c2df271d9a3..25039f9ad9637a 100644 --- a/bitnami/grafana-tempo/templates/compactor/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/compactor/servicemonitor.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if and .Values.compactor.enabled .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -46,3 +47,4 @@ spec: matchNames: - {{ .Release.Namespace }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/distributor/deployment.yaml b/bitnami/grafana-tempo/templates/distributor/deployment.yaml index 5041e307d89b0c..1340793a84cabb 100644 --- a/bitnami/grafana-tempo/templates/distributor/deployment.yaml +++ b/bitnami/grafana-tempo/templates/distributor/deployment.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: @@ -214,3 +215,4 @@ spec: {{- if .Values.distributor.extraVolumes }} {{- include "common.tplvalues.render" (dict "value" .Values.distributor.extraVolumes "context" $) | nindent 8 }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/distributor/networkpolicy.yaml b/bitnami/grafana-tempo/templates/distributor/networkpolicy.yaml index 6fd034b3064b1e..c5e9bd9c87b526 100644 --- a/bitnami/grafana-tempo/templates/distributor/networkpolicy.yaml +++ b/bitnami/grafana-tempo/templates/distributor/networkpolicy.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if .Values.distributor.networkPolicy.enabled }} kind: NetworkPolicy apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} @@ -149,3 +150,4 @@ spec: {{- include "common.tplvalues.render" ( dict "value" .Values.distributor.networkPolicy.extraIngress "context" $ ) | nindent 4 }} {{- end }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/distributor/pdb.yaml b/bitnami/grafana-tempo/templates/distributor/pdb.yaml index 65fcb35387ad24..98bcb9dc060c37 100644 --- a/bitnami/grafana-tempo/templates/distributor/pdb.yaml +++ b/bitnami/grafana-tempo/templates/distributor/pdb.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if and .Values.distributor.pdb.create .Values.distributor.pdb.create }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget @@ -26,3 +27,4 @@ spec: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} app.kubernetes.io/component: distributor {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/distributor/service.yaml b/bitnami/grafana-tempo/templates/distributor/service.yaml index 5edc5a64d88b8c..0e0e126ea87e3a 100644 --- a/bitnami/grafana-tempo/templates/distributor/service.yaml +++ b/bitnami/grafana-tempo/templates/distributor/service.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} apiVersion: v1 kind: Service metadata: @@ -116,3 +117,4 @@ spec: {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.distributor.podLabels .Values.commonLabels ) "context" . ) }} selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: distributor +{{- end }} diff --git a/bitnami/grafana-tempo/templates/distributor/servicemonitor.yaml b/bitnami/grafana-tempo/templates/distributor/servicemonitor.yaml index b64e879b7e5efd..280641ef0c1dbe 100644 --- a/bitnami/grafana-tempo/templates/distributor/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/distributor/servicemonitor.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -46,3 +47,4 @@ spec: matchNames: - {{ .Release.Namespace }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/ingester/networkpolicy.yaml b/bitnami/grafana-tempo/templates/ingester/networkpolicy.yaml index 057818f7f5b521..4d45ef4eecccbc 100644 --- a/bitnami/grafana-tempo/templates/ingester/networkpolicy.yaml +++ b/bitnami/grafana-tempo/templates/ingester/networkpolicy.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if .Values.ingester.networkPolicy.enabled }} kind: NetworkPolicy apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} @@ -122,3 +123,4 @@ spec: {{- include "common.tplvalues.render" ( dict "value" .Values.ingester.networkPolicy.extraIngress "context" $ ) | nindent 4 }} {{- end }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/ingester/pdb.yaml b/bitnami/grafana-tempo/templates/ingester/pdb.yaml index bb34e87dc0a220..94027b950a5698 100644 --- a/bitnami/grafana-tempo/templates/ingester/pdb.yaml +++ b/bitnami/grafana-tempo/templates/ingester/pdb.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if .Values.ingester.pdb.create }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget @@ -26,3 +27,4 @@ spec: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} app.kubernetes.io/component: ingester {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/ingester/service.yaml b/bitnami/grafana-tempo/templates/ingester/service.yaml index 896aae87910726..897b52379d32b7 100644 --- a/bitnami/grafana-tempo/templates/ingester/service.yaml +++ b/bitnami/grafana-tempo/templates/ingester/service.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} apiVersion: v1 kind: Service metadata: @@ -59,3 +60,4 @@ spec: {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.ingester.podLabels .Values.commonLabels ) "context" . ) }} selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: ingester +{{- end }} diff --git a/bitnami/grafana-tempo/templates/ingester/servicemonitor.yaml b/bitnami/grafana-tempo/templates/ingester/servicemonitor.yaml index 75bf3fca295872..b42822d110aa64 100644 --- a/bitnami/grafana-tempo/templates/ingester/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/ingester/servicemonitor.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -46,3 +47,4 @@ spec: matchNames: - {{ .Release.Namespace }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/ingester/statefulset.yaml b/bitnami/grafana-tempo/templates/ingester/statefulset.yaml index 6c195dfdb4a8d1..380151c313d658 100644 --- a/bitnami/grafana-tempo/templates/ingester/statefulset.yaml +++ b/bitnami/grafana-tempo/templates/ingester/statefulset.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }} kind: StatefulSet metadata: @@ -231,3 +232,4 @@ spec: {{- end }} {{- include "common.storage.class" (dict "persistence" .Values.ingester.persistence "global" .Values.global) | nindent 8 }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/metrics-generator/deployment.yaml b/bitnami/grafana-tempo/templates/metrics-generator/deployment.yaml index 393d19ca7856a2..6ff3af79cb4cd3 100644 --- a/bitnami/grafana-tempo/templates/metrics-generator/deployment.yaml +++ b/bitnami/grafana-tempo/templates/metrics-generator/deployment.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: @@ -175,3 +176,4 @@ spec: {{- if .Values.metricsGenerator.extraVolumes }} {{- include "common.tplvalues.render" (dict "value" .Values.metricsGenerator.extraVolumes "context" $) | nindent 8 }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/metrics-generator/networkpolicy.yaml b/bitnami/grafana-tempo/templates/metrics-generator/networkpolicy.yaml index 9a524503366551..17dd0d058b7e27 100644 --- a/bitnami/grafana-tempo/templates/metrics-generator/networkpolicy.yaml +++ b/bitnami/grafana-tempo/templates/metrics-generator/networkpolicy.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if .Values.metricsGenerator.networkPolicy.enabled }} kind: NetworkPolicy apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} @@ -122,3 +123,4 @@ spec: {{- include "common.tplvalues.render" ( dict "value" .Values.metricsGenerator.networkPolicy.extraIngress "context" $ ) | nindent 4 }} {{- end }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/metrics-generator/pdb.yaml b/bitnami/grafana-tempo/templates/metrics-generator/pdb.yaml index 9e29211964e51f..0f340f1dc7b6d0 100644 --- a/bitnami/grafana-tempo/templates/metrics-generator/pdb.yaml +++ b/bitnami/grafana-tempo/templates/metrics-generator/pdb.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if .Values.metricsGenerator.pdb.create }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget @@ -26,3 +27,4 @@ spec: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} app.kubernetes.io/component: metrics-generator {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/metrics-generator/service.yaml b/bitnami/grafana-tempo/templates/metrics-generator/service.yaml index 2cf269eb95450e..78c6973aa75c52 100644 --- a/bitnami/grafana-tempo/templates/metrics-generator/service.yaml +++ b/bitnami/grafana-tempo/templates/metrics-generator/service.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} apiVersion: v1 kind: Service metadata: @@ -51,3 +52,4 @@ spec: {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.metricsGenerator.podLabels .Values.commonLabels ) "context" . ) }} selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: metrics-generator +{{- end }} diff --git a/bitnami/grafana-tempo/templates/metrics-generator/servicemonitor.yaml b/bitnami/grafana-tempo/templates/metrics-generator/servicemonitor.yaml index 167cf1261fd103..3fbedcd2c050de 100644 --- a/bitnami/grafana-tempo/templates/metrics-generator/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/metrics-generator/servicemonitor.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -46,3 +47,4 @@ spec: matchNames: - {{ .Release.Namespace }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/querier/deployment.yaml b/bitnami/grafana-tempo/templates/querier/deployment.yaml index e03984417b7b09..54e3bd70719567 100644 --- a/bitnami/grafana-tempo/templates/querier/deployment.yaml +++ b/bitnami/grafana-tempo/templates/querier/deployment.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: @@ -175,3 +176,4 @@ spec: {{- if .Values.querier.extraVolumes }} {{- include "common.tplvalues.render" (dict "value" .Values.querier.extraVolumes "context" $) | nindent 8 }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/querier/networkpolicy.yaml b/bitnami/grafana-tempo/templates/querier/networkpolicy.yaml index a015f186e43945..3357ef2d02e770 100644 --- a/bitnami/grafana-tempo/templates/querier/networkpolicy.yaml +++ b/bitnami/grafana-tempo/templates/querier/networkpolicy.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if .Values.querier.networkPolicy.enabled }} kind: NetworkPolicy apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} @@ -122,3 +123,4 @@ spec: {{- include "common.tplvalues.render" ( dict "value" .Values.querier.networkPolicy.extraIngress "context" $ ) | nindent 4 }} {{- end }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/querier/pdb.yaml b/bitnami/grafana-tempo/templates/querier/pdb.yaml index 914df7ad1ee107..0217407b7ecb3b 100644 --- a/bitnami/grafana-tempo/templates/querier/pdb.yaml +++ b/bitnami/grafana-tempo/templates/querier/pdb.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if .Values.querier.pdb.create }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget @@ -26,3 +27,4 @@ spec: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} app.kubernetes.io/component: querier {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/querier/service.yaml b/bitnami/grafana-tempo/templates/querier/service.yaml index c072c8fa14d8fe..8e2ab183d9830f 100644 --- a/bitnami/grafana-tempo/templates/querier/service.yaml +++ b/bitnami/grafana-tempo/templates/querier/service.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} apiVersion: v1 kind: Service metadata: @@ -59,3 +60,4 @@ spec: {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.querier.podLabels .Values.commonLabels ) "context" . ) }} selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: querier +{{- end }} diff --git a/bitnami/grafana-tempo/templates/querier/servicemonitor.yaml b/bitnami/grafana-tempo/templates/querier/servicemonitor.yaml index e2a46a74a03f02..65596ee123c4c7 100644 --- a/bitnami/grafana-tempo/templates/querier/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/querier/servicemonitor.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -46,3 +47,4 @@ spec: matchNames: - {{ .Release.Namespace }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/deployment.yaml b/bitnami/grafana-tempo/templates/query-frontend/deployment.yaml index 9cbbe9053acccf..0616c0d58f8f44 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/deployment.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/deployment.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: @@ -260,3 +261,4 @@ spec: {{- if .Values.queryFrontend.extraVolumes }} {{- include "common.tplvalues.render" (dict "value" .Values.queryFrontend.extraVolumes "context" $) | nindent 8 }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/headless-service.yaml b/bitnami/grafana-tempo/templates/query-frontend/headless-service.yaml index 65904ac9cd1d63..dab8216e9246dc 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/headless-service.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/headless-service.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} apiVersion: v1 kind: Service metadata: @@ -36,3 +37,4 @@ spec: {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.queryFrontend.podLabels .Values.commonLabels ) "context" . ) }} selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: query-frontend +{{- end }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/networkpolicy.yaml b/bitnami/grafana-tempo/templates/query-frontend/networkpolicy.yaml index 264f8fed9f2d92..86abbbc2110d24 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/networkpolicy.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/networkpolicy.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if .Values.queryFrontend.networkPolicy.enabled }} kind: NetworkPolicy apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} @@ -132,3 +133,4 @@ spec: {{- include "common.tplvalues.render" ( dict "value" .Values.queryFrontend.networkPolicy.extraIngress "context" $ ) | nindent 4 }} {{- end }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/pdb.yaml b/bitnami/grafana-tempo/templates/query-frontend/pdb.yaml index 456323b49ef289..b3101b58a72588 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/pdb.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/pdb.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if .Values.queryFrontend.pdb.create }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget @@ -28,3 +29,4 @@ spec: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} app.kubernetes.io/component: query-frontend {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/query-configmap.yaml b/bitnami/grafana-tempo/templates/query-frontend/query-configmap.yaml index 5d0c412aa0396f..2bc4c9807967c6 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/query-configmap.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/query-configmap.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} apiVersion: v1 kind: ConfigMap metadata: @@ -18,3 +19,4 @@ metadata: data: tempo-query.yaml: |- {{- include "common.tplvalues.render" (dict "value" .Values.queryFrontend.query.configuration "context" $) | nindent 4 }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/service.yaml b/bitnami/grafana-tempo/templates/query-frontend/service.yaml index ec7b7efc93ce43..7ca53eaa03d34b 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/service.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/service.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} apiVersion: v1 kind: Service metadata: @@ -62,3 +63,4 @@ spec: {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.queryFrontend.podLabels .Values.commonLabels ) "context" . ) }} selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: query-frontend +{{- end }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/servicemonitor.yaml b/bitnami/grafana-tempo/templates/query-frontend/servicemonitor.yaml index b80a9c3b7c5554..c6f812e01009bc 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/servicemonitor.yaml @@ -3,6 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} +{{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -47,3 +48,4 @@ spec: matchNames: - {{ .Release.Namespace }} {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/scaling-monolithic/headless-service.yaml b/bitnami/grafana-tempo/templates/scaling-monolithic/headless-service.yaml new file mode 100644 index 00000000000000..fec722feafd373 --- /dev/null +++ b/bitnami/grafana-tempo/templates/scaling-monolithic/headless-service.yaml @@ -0,0 +1,97 @@ +{{- /* +Copyright Broadcom, Inc. All Rights Reserved. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{- if eq .Values.tempo.deploymentMode "scalingMonolithic" }} +apiVersion: v1 +kind: Service +metadata: + name: {{ template "grafana-tempo.scaling-monolithic.fullname" . }}-headless + namespace: {{ .Release.Namespace | quote }} + {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.scalingMonolithic.query.image "chart" .Chart ) ) }} + {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} + labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} + app.kubernetes.io/component: scaling-monolithic + {{- if or .Values.commonAnnotations .Values.scalingMonolithic.service.headless.annotations }} + {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.scalingMonolithic.service.headless.annotations .Values.commonAnnotations ) "context" . ) }} + annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $) | nindent 4 }} + {{- end }} +spec: + # NOTE: this is based on this https://github.com/grafana/helm-charts/pull/451. Should be reviewed if it is actually necessary in the future + publishNotReadyAddresses: true + type: ClusterIP + clusterIP: None + ports: + - name: http + port: {{ .Values.scalingMonolithic.service.ports.http }} + targetPort: http + protocol: TCP + - name: grpc + port: {{ .Values.scalingMonolithic.service.ports.grpc }} + targetPort: grpc + protocol: TCP + ## From here we use non-configurable, standard ports + {{- if .Values.tempo.traces.jaeger.thriftCompact }} + - name: distributor-jaeger-thrift-compact + port: 6831 + protocol: UDP + targetPort: jaeger-compact + {{- end }} + {{- if .Values.tempo.traces.jaeger.thriftBinary }} + - name: distributor-jaeger-thrift-binary + port: 6832 + protocol: UDP + targetPort: jaeger-binary + {{- end }} + {{- if .Values.tempo.traces.jaeger.thriftHttp }} + - name: distributor-jaeger-thrift-http + port: 14268 + protocol: TCP + targetPort: jaeger-http + {{- end }} + {{- if .Values.tempo.traces.jaeger.grpc }} + - name: distributor-jaeger-grpc + port: 14250 + protocol: TCP + targetPort: jaeger-grpc + {{- end }} + {{- if .Values.tempo.traces.zipkin }} + - name: distributor-zipkin + port: 9411 + protocol: TCP + targetPort: zipkin + {{- end }} + {{- if .Values.tempo.traces.otlp.http }} + - name: distributor-otlp-http + port: 4318 + protocol: TCP + targetPort: otlp-http + - name: distributor-otlp-http-legacy + port: 55681 + protocol: TCP + targetPort: otlp-http + {{- end }} + {{- if .Values.tempo.traces.otlp.grpc }} + - name: distributor-otlp-grpc + port: 4317 + protocol: TCP + targetPort: otlp-grpc + - name: distributor-otlp-grpc-legacy + port: 55680 + protocol: TCP + targetPort: otlp-grpc + {{- end }} + {{- if .Values.tempo.traces.opencensus }} + - name: distributor-opencensus + port: 55678 + protocol: TCP + targetPort: opencensus + {{- end }} + {{- if .Values.scalingMonolithic.service.extraPorts }} + {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.service.extraPorts "context" $) | nindent 4 }} + {{- end }} + {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.scalingMonolithic.podLabels .Values.commonLabels ) "context" . ) }} + selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }} + app.kubernetes.io/component: scaling-monolithic +{{- end }} diff --git a/bitnami/grafana-tempo/templates/scaling-monolithic/networkpolicy.yaml b/bitnami/grafana-tempo/templates/scaling-monolithic/networkpolicy.yaml new file mode 100644 index 00000000000000..6e9780e5ef1571 --- /dev/null +++ b/bitnami/grafana-tempo/templates/scaling-monolithic/networkpolicy.yaml @@ -0,0 +1,126 @@ +{{- /* +Copyright Broadcom, Inc. All Rights Reserved. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{- if eq .Values.tempo.deploymentMode "scalingMonolithic" }} +{{- if .Values.scalingMonolithic.networkPolicy.enabled }} +kind: NetworkPolicy +apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} +metadata: + name: {{ template "grafana-tempo.scaling-monolithic.fullname" . }} + namespace: {{ include "common.names.namespace" . | quote }} + labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} + app.kubernetes.io/component: scaling-monolithic + {{- if .Values.commonAnnotations }} + annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} + {{- end }} +spec: + {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.scalingMonolithic.podLabels .Values.commonLabels ) "context" . ) }} + podSelector: + matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} + app.kubernetes.io/component: scaling-monolithic + policyTypes: + - Ingress + - Egress + {{- if .Values.scalingMonolithic.networkPolicy.allowExternalEgress }} + egress: + - {} + {{- else }} + egress: + # Allow dns resolution + - ports: + - port: 53 + protocol: UDP + - port: 53 + protocol: TCP + # Allow outbound connections to tempo cluster + - ports: + - port: {{ .Values.tempo.containerPorts.web }} + - port: {{ .Values.tempo.containerPorts.gossipRing }} + - port: {{ .Values.tempo.containerPorts.grpc }} + {{/* The following ports are hardcoded in grafana-tempo */}} + {{- if .Values.tempo.traces.jaeger.thriftCompact }} + - port: 6831 + protocol: UDP + {{- end }} + {{- if .Values.tempo.traces.jaeger.thriftBinary }} + - port: 6832 + protocol: UDP + {{- end }} + {{- if .Values.tempo.traces.jaeger.thriftHttp }} + - port: 14268 + {{- end }} + {{- if .Values.tempo.traces.jaeger.grpc }} + - port: 14250 + {{- end }} + {{- if .Values.tempo.traces.zipkin }} + - port: 9411 + {{- end }} + {{- if .Values.tempo.traces.otlp.http }} + - port: 4318 + {{- end }} + {{- if .Values.tempo.traces.otlp.grpc }} + - port: 4317 + {{- end }} + {{- if .Values.tempo.traces.opencensus }} + - port: 55678 + {{- end }} + to: + - podSelector: + matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 14 }} + {{- if .Values.vulture.enabled }} + # Allow outbound connections to vulture + - ports: + - port: {{ .Values.vulture.containerPorts.http }} + to: + - podSelector: + matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 14 }} + app.kubernetes.io/component: vulture + {{- end }} + # Allow outbound connections to Memcached + - ports: + {{- if .Values.memcached.enabled }} + - port: {{ .Values.memcached.containerPorts.memcached }} + to: + - podSelector: + matchLabels: + app.kubernetes.io/name: memcached + app.kubernetes.io/instance: {{ .Release.Name }} + {{- else }} + - port: {{ .Values.externalMemcached.port }} + {{- end }} + {{- if .Values.scalingMonolithic.networkPolicy.extraEgress }} + {{- include "common.tplvalues.render" ( dict "value" .Values.scalingMonolithic.networkPolicy.extraEgress "context" $ ) | nindent 4 }} + {{- end }} + {{- end }} + ingress: + - ports: + - port: {{ .Values.tempo.containerPorts.web }} + - port: {{ .Values.tempo.containerPorts.gossipRing }} + - port: {{ .Values.tempo.containerPorts.grpc }} + {{- if not .Values.scalingMonolithic.networkPolicy.allowExternal }} + from: + {{- if .Values.scalingMonolithic.networkPolicy.addExternalClientAccess }} + - podSelector: + matchLabels: + {{ template "grafana-tempo.scaling-monolithic.fullname" . }}-scalingMonolithic: "true" + {{- end }} + {{- if .Values.scalingMonolithic.networkPolicy.ingressPodMatchLabels }} + - podSelector: + matchLabels: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.networkPolicy.ingressPodMatchLabels "context" $ ) | nindent 14 }} + {{- end }} + {{- if .Values.scalingMonolithic.networkPolicy.ingressNSMatchLabels }} + - namespaceSelector: + matchLabels: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.networkPolicy.ingressNSMatchLabels "context" $ ) | nindent 14 }} + {{- if .Values.scalingMonolithic.networkPolicy.ingressNSPodMatchLabels }} + podSelector: + matchLabels: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.networkPolicy.ingressNSPodMatchLabels "context" $ ) | nindent 14 }} + {{- end }} + {{- end }} + {{- end }} + {{- if .Values.scalingMonolithic.networkPolicy.extraIngress }} + {{- include "common.tplvalues.render" ( dict "value" .Values.scalingMonolithic.networkPolicy.extraIngress "context" $ ) | nindent 4 }} + {{- end }} +{{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/scaling-monolithic/pdb.yaml b/bitnami/grafana-tempo/templates/scaling-monolithic/pdb.yaml new file mode 100644 index 00000000000000..a080a5dd0f1f66 --- /dev/null +++ b/bitnami/grafana-tempo/templates/scaling-monolithic/pdb.yaml @@ -0,0 +1,30 @@ +{{- /* +Copyright Broadcom, Inc. All Rights Reserved. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{- if eq .Values.tempo.deploymentMode "scalingMonolithic" }} +{{- if .Values.scalingMonolithic.pdb.create }} +apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} +kind: PodDisruptionBudget +metadata: + name: {{ template "grafana-tempo.scaling-monolithic.fullname" . }} + namespace: {{ include "common.names.namespace" . | quote }} + labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} + app.kubernetes.io/component: scaling-monolithic + {{- if .Values.commonAnnotations }} + annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} + {{- end }} +spec: + {{- if .Values.scalingMonolithic.pdb.minAvailable }} + minAvailable: {{ .Values.scalingMonolithic.pdb.minAvailable }} + {{- end }} + {{- if or .Values.scalingMonolithic.pdb.maxUnavailable (not .Values.scalingMonolithic.pdb.minAvailable) }} + maxUnavailable: {{ .Values.scalingMonolithic.pdb.maxUnavailable | default 1 }} + {{- end }} + {{- $podLabels := include "common.tplvalues.merge" (dict "values" (list .Values.scalingMonolithic.podLabels .Values.commonLabels) "context" .) }} + selector: + matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} + app.kubernetes.io/component: scaling-monolithic +{{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/scaling-monolithic/service.yaml b/bitnami/grafana-tempo/templates/scaling-monolithic/service.yaml new file mode 100644 index 00000000000000..5d9bac53456052 --- /dev/null +++ b/bitnami/grafana-tempo/templates/scaling-monolithic/service.yaml @@ -0,0 +1,120 @@ +{{- /* +Copyright Broadcom, Inc. All Rights Reserved. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{- if eq .Values.tempo.deploymentMode "scalingMonolithic" }} +apiVersion: v1 +kind: Service +metadata: + name: {{ template "grafana-tempo.scaling-monolithic.fullname" . }} + namespace: {{ .Release.Namespace | quote }} + labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} + app.kubernetes.io/component: scaling-monolithic + {{- if or .Values.commonAnnotations .Values.scalingMonolithic.service.annotations }} + {{- $annotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.scalingMonolithic.service.annotations .Values.commonAnnotations ) "context" . ) }} + annotations: {{- include "common.tplvalues.render" ( dict "value" $annotations "context" $) | nindent 4 }} + {{- end }} +spec: + type: {{ .Values.scalingMonolithic.service.type }} + {{- if .Values.scalingMonolithic.service.sessionAffinity }} + sessionAffinity: {{ .Values.scalingMonolithic.service.sessionAffinity }} + {{- end }} + {{- if .Values.scalingMonolithic.service.sessionAffinityConfig }} + sessionAffinityConfig: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.service.sessionAffinityConfig "context" $) | nindent 4 }} + {{- end }} + {{- if and .Values.scalingMonolithic.service.clusterIP (eq .Values.scalingMonolithic.service.type "ClusterIP") }} + clusterIP: {{ .Values.scalingMonolithic.service.clusterIP }} + {{- end }} + {{- if or (eq .Values.scalingMonolithic.service.type "LoadBalancer") (eq .Values.scalingMonolithic.service.type "NodePort") }} + externalTrafficPolicy: {{ .Values.scalingMonolithic.service.externalTrafficPolicy | quote }} + {{- end }} + {{- if and (eq .Values.scalingMonolithic.service.type "LoadBalancer") (not (empty .Values.scalingMonolithic.service.loadBalancerSourceRanges)) }} + loadBalancerSourceRanges: {{ .Values.scalingMonolithic.service.loadBalancerSourceRanges }} + {{- end }} + {{- if and (eq .Values.scalingMonolithic.service.type "LoadBalancer") (not (empty .Values.scalingMonolithic.service.loadBalancerIP)) }} + loadBalancerIP: {{ .Values.scalingMonolithic.service.loadBalancerIP }} + {{- end }} + ports: + - name: http + port: {{ .Values.scalingMonolithic.service.ports.http }} + targetPort: http + protocol: TCP + {{- if (and (or (eq .Values.scalingMonolithic.service.type "NodePort") (eq .Values.scalingMonolithic.service.type "LoadBalancer")) (not (empty .Values.scalingMonolithic.service.nodePorts.http))) }} + nodePort: {{ .Values.scalingMonolithic.service.nodePorts.http }} + {{- else if eq .Values.scalingMonolithic.service.type "ClusterIP" }} + nodePort: null + {{- end }} + - name: grpc + port: {{ .Values.scalingMonolithic.service.ports.grpc }} + targetPort: grpc + protocol: TCP + {{- if (and (or (eq .Values.scalingMonolithic.service.type "NodePort") (eq .Values.scalingMonolithic.service.type "LoadBalancer")) (not (empty .Values.scalingMonolithic.service.nodePorts.grpc))) }} + nodePort: {{ .Values.scalingMonolithic.service.nodePorts.grpc }} + {{- else if eq .Values.scalingMonolithic.service.type "ClusterIP" }} + nodePort: null + {{- end }} + ## From here we use non-configurable, standard ports + {{- if .Values.tempo.traces.jaeger.thriftCompact }} + - name: distributor-jaeger-thrift-compact + port: 6831 + protocol: UDP + targetPort: jaeger-compact + {{- end }} + {{- if .Values.tempo.traces.jaeger.thriftBinary }} + - name: distributor-jaeger-thrift-binary + port: 6832 + protocol: UDP + targetPort: jaeger-binary + {{- end }} + {{- if .Values.tempo.traces.jaeger.thriftHttp }} + - name: distributor-jaeger-thrift-http + port: 14268 + protocol: TCP + targetPort: jaeger-http + {{- end }} + {{- if .Values.tempo.traces.jaeger.grpc }} + - name: distributor-jaeger-grpc + port: 14250 + protocol: TCP + targetPort: jaeger-grpc + {{- end }} + {{- if .Values.tempo.traces.zipkin }} + - name: distributor-zipkin + port: 9411 + protocol: TCP + targetPort: zipkin + {{- end }} + {{- if .Values.tempo.traces.otlp.http }} + - name: distributor-otlp-http + port: 4318 + protocol: TCP + targetPort: otlp-http + - name: distributor-otlp-http-legacy + port: 55681 + protocol: TCP + targetPort: otlp-http + {{- end }} + {{- if .Values.tempo.traces.otlp.grpc }} + - name: distributor-otlp-grpc + port: 4317 + protocol: TCP + targetPort: otlp-grpc + - name: distributor-otlp-grpc-legacy + port: 55680 + protocol: TCP + targetPort: otlp-grpc + {{- end }} + {{- if .Values.tempo.traces.opencensus }} + - name: distributor-opencensus + port: 55678 + protocol: TCP + targetPort: opencensus + {{- end }} + {{- if .Values.scalingMonolithic.service.extraPorts }} + {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.service.extraPorts "context" $) | nindent 4 }} + {{- end }} + {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.scalingMonolithic.podLabels .Values.commonLabels ) "context" . ) }} + selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }} + app.kubernetes.io/component: scaling-monolithic +{{- end }} diff --git a/bitnami/grafana-tempo/templates/scaling-monolithic/servicemonitor.yaml b/bitnami/grafana-tempo/templates/scaling-monolithic/servicemonitor.yaml new file mode 100644 index 00000000000000..2c1c99764e8b2b --- /dev/null +++ b/bitnami/grafana-tempo/templates/scaling-monolithic/servicemonitor.yaml @@ -0,0 +1,50 @@ +{{- /* +Copyright Broadcom, Inc. All Rights Reserved. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{- if eq .Values.tempo.deploymentMode "scalingMonolithic" }} +{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} +apiVersion: monitoring.coreos.com/v1 +kind: ServiceMonitor +metadata: + name: {{ template "grafana-tempo.scaling-monolithic.fullname" . }} + namespace: {{ default .Release.Namespace .Values.metrics.serviceMonitor.namespace | quote }} + {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.metrics.serviceMonitor.labels .Values.commonLabels ) "context" . ) }} + labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} + app.kubernetes.io/component: scaling-monolithic + {{- if .Values.commonAnnotations }} + annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} + {{- end }} +spec: + {{- if .Values.metrics.serviceMonitor.jobLabel }} + jobLabel: {{ .Values.metrics.serviceMonitor.jobLabel }} + {{- end }} + selector: + matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 6 }} + {{- if .Values.metrics.serviceMonitor.selector }} + {{- include "common.tplvalues.render" (dict "value" .Values.metrics.serviceMonitor.selector "context" $) | nindent 6 }} + {{- end }} + app.kubernetes.io/component: scaling-monolithic + endpoints: + - port: http + {{- if .Values.metrics.serviceMonitor.interval }} + interval: {{ .Values.metrics.serviceMonitor.interval }} + {{- end }} + {{- if .Values.metrics.serviceMonitor.scrapeTimeout }} + scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }} + {{- end }} + {{- if .Values.metrics.serviceMonitor.honorLabels }} + honorLabels: {{ .Values.metrics.serviceMonitor.honorLabels }} + {{- end }} + {{- if .Values.metrics.serviceMonitor.metricRelabelings }} + metricRelabelings: {{- toYaml .Values.metrics.serviceMonitor.metricRelabelings | nindent 6 }} + {{- end }} + {{- if .Values.metrics.serviceMonitor.relabelings }} + relabelings: {{- toYaml .Values.metrics.serviceMonitor.relabelings | nindent 6 }} + {{- end }} + namespaceSelector: + matchNames: + - {{ .Release.Namespace }} +{{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/scaling-monolithic/statefulset.yaml b/bitnami/grafana-tempo/templates/scaling-monolithic/statefulset.yaml new file mode 100644 index 00000000000000..e8e2ad61a6dbf7 --- /dev/null +++ b/bitnami/grafana-tempo/templates/scaling-monolithic/statefulset.yaml @@ -0,0 +1,235 @@ +{{- /* +Copyright Broadcom, Inc. All Rights Reserved. +SPDX-License-Identifier: APACHE-2.0 +*/}} + +{{- if eq .Values.tempo.deploymentMode "scalingMonolithic" }} +apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }} +kind: StatefulSet +metadata: + name: {{ template "grafana-tempo.scaling-monolithic.fullname" . }} + namespace: {{ .Release.Namespace | quote }} + labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} + app.kubernetes.io/component: scaling-monolithic + {{- if .Values.commonAnnotations }} + annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} + {{- end }} +spec: + replicas: {{ .Values.scalingMonolithic.replicaCount }} + {{- if .Values.scalingMonolithic.updateStrategy }} + updateStrategy: {{- toYaml .Values.scalingMonolithic.updateStrategy | nindent 4 }} + {{- end }} + {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.scalingMonolithic.podLabels .Values.commonLabels ) "context" . ) }} + selector: + matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} + app.kubernetes.io/component: scaling-monolithic + serviceName: {{ template "grafana-tempo.scaling-monolithic.fullname" . }} + template: + metadata: + annotations: + checksum/config: {{ include (print $.Template.BasePath "/tempo-configmap.yaml") . | sha256sum }} + {{- if .Values.scalingMonolithic.podAnnotations }} + {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.podAnnotations "context" $) | nindent 8 }} + {{- end }} + labels: {{- include "common.labels.standard" ( dict "customLabels" $podLabels "context" $ ) | nindent 8 }} + app.kubernetes.io/component: scaling-monolithic + tempo-gossip-member: "true" + spec: + serviceAccountName: {{ template "grafana-tempo.serviceAccountName" . }} + {{- include "grafana-tempo.imagePullSecrets" . | nindent 6 }} + automountServiceAccountToken: {{ .Values.scalingMonolithic.automountServiceAccountToken }} + {{- if .Values.scalingMonolithic.hostAliases }} + hostAliases: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.hostAliases "context" $) | nindent 8 }} + {{- end }} + {{- if .Values.scalingMonolithic.affinity }} + affinity: {{- include "common.tplvalues.render" ( dict "value" .Values.scalingMonolithic.affinity "context" $) | nindent 8 }} + {{- else }} + affinity: + podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.scalingMonolithic.podAffinityPreset "component" "scalingMonolithic" "customLabels" $podLabels "context" $) | nindent 10 }} + podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.scalingMonolithic.podAntiAffinityPreset "component" "scalingMonolithic" "customLabels" $podLabels "context" $) | nindent 10 }} + nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.scalingMonolithic.nodeAffinityPreset.type "key" .Values.scalingMonolithic.nodeAffinityPreset.key "values" .Values.scalingMonolithic.nodeAffinityPreset.values) | nindent 10 }} + {{- end }} + {{- if .Values.scalingMonolithic.nodeSelector }} + nodeSelector: {{- include "common.tplvalues.render" ( dict "value" .Values.scalingMonolithic.nodeSelector "context" $) | nindent 8 }} + {{- end }} + {{- if .Values.scalingMonolithic.tolerations }} + tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.tolerations "context" .) | nindent 8 }} + {{- end }} + {{- if .Values.scalingMonolithic.topologySpreadConstraints }} + topologySpreadConstraints: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.topologySpreadConstraints "context" .) | nindent 8 }} + {{- end }} + {{- if .Values.scalingMonolithic.priorityClassName }} + priorityClassName: {{ .Values.scalingMonolithic.priorityClassName | quote }} + {{- end }} + {{- if .Values.scalingMonolithic.schedulerName }} + schedulerName: {{ .Values.scalingMonolithic.schedulerName }} + {{- end }} + {{- if .Values.scalingMonolithic.podSecurityContext.enabled }} + securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.scalingMonolithic.podSecurityContext "context" $) | nindent 8 }} + {{- end }} + enableServiceLinks: {{ .Values.scalingMonolithic.enableServiceLinks }} + initContainers: + {{- if .Values.scalingMonolithic.initContainers }} + {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.initContainers "context" $) | nindent 8 }} + {{- end }} + {{- if and .Values.volumePermissions.enabled .Values.scalingMonolithic.persistence.enabled }} + - name: volume-permissions + image: {{ include "grafana-tempo.volumePermissions.image" . }} + imagePullPolicy: {{ .Values.volumePermissions.image.pullPolicy | quote }} + command: + - /bin/bash + args: + - -ec + - | + mkdir -p {{ .Values.tempo.dataDir }}{{- if .Values.scalingMonolithic.persistence.subPath }}/{{ .Values.scalingMonolithic.persistence.subPath }}{{- end }} + {{- if and .Values.scalingMonolithic.podSecurityContext.enabled .Values.scalingMonolithic.containerSecurityContext.enabled }} + find {{ .Values.tempo.dataDir }}{{- if .Values.scalingMonolithic.persistence.subPath }}/{{ .Values.scalingMonolithic.persistence.subPath }}{{- end }} -mindepth 1 -maxdepth 1 -not -name ".snapshot" -not -name "lost+found" | xargs -r chown -R {{ .Values.scalingMonolithic.containerSecurityContext.runAsUser }}:{{ .Values.scalingMonolithic.podSecurityContext.fsGroup }} + {{- end }} + {{- if eq ( toString ( .Values.volumePermissions.containerSecurityContext.runAsUser )) "auto" }} + securityContext: {{- omit .Values.volumePermissions.containerSecurityContext "runAsUser" | toYaml | nindent 12 }} + {{- else }} + securityContext: {{- .Values.volumePermissions.containerSecurityContext | toYaml | nindent 12 }} + {{- end }} + {{- if .Values.volumePermissions.resources }} + resources: {{- include "common.tplvalues.render" (dict "value" .Values.volumePermissions.resources "context" $) | nindent 12 }} + {{- else if ne .Values.volumePermissions.resourcesPreset "none" }} + resources: {{- include "common.resources.preset" (dict "type" .Values.volumePermissions.resourcesPreset) | nindent 12 }} + {{- end }} + volumeMounts: + - name: empty-dir + mountPath: /tmp + subPath: tmp-dir + - name: data + mountPath: {{ .Values.tempo.dataDir }} + {{- end }} + containers: + - name: grafana-tempo-scaling-monolithic + image: {{ template "grafana-tempo.image" . }} + imagePullPolicy: {{ .Values.tempo.image.pullPolicy }} + {{- if .Values.scalingMonolithic.containerSecurityContext.enabled }} + securityContext: {{- include "common.compatibility.renderSecurityContext" (dict "secContext" .Values.scalingMonolithic.containerSecurityContext "context" $) | nindent 12 }} + {{- end }} + {{- if .Values.diagnosticMode.enabled }} + command: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.command "context" $) | nindent 12 }} + {{- else if .Values.scalingMonolithic.command }} + command: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.command "context" $) | nindent 12 }} + {{- end }} + {{- if .Values.diagnosticMode.enabled }} + args: {{- include "common.tplvalues.render" (dict "value" .Values.diagnosticMode.args "context" $) | nindent 12 }} + {{- else if .Values.scalingMonolithic.args }} + args: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.args "context" $) | nindent 12 }} + {{- else }} + args: + - -target=scalable-single-binary + - -config.file=/bitnami/grafana-tempo/conf/tempo.yaml + - -mem-ballast-size-mbs={{ .Values.tempo.memBallastSizeMbs }} + {{- end }} + {{- if .Values.scalingMonolithic.extraEnvVars }} + env: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.extraEnvVars "context" $) | nindent 12 }} + {{- end }} + envFrom: + {{- if .Values.scalingMonolithic.extraEnvVarsCM }} + - configMapRef: + name: {{ include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.extraEnvVarsCM "context" $) }} + {{- end }} + {{- if .Values.scalingMonolithic.extraEnvVarsSecret }} + - secretRef: + name: {{ include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.extraEnvVarsSecret "context" $) }} + {{- end }} + ports: + - containerPort: {{ .Values.tempo.containerPorts.web }} + name: http + - containerPort: {{ .Values.tempo.containerPorts.gossipRing }} + name: http-memberlist + - containerPort: {{ .Values.tempo.containerPorts.grpc }} + name: grpc + {{- if .Values.scalingMonolithic.resources }} + resources: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.resources "context" $) | nindent 12 }} + {{- else if ne .Values.scalingMonolithic.resourcesPreset "none" }} + resources: {{- include "common.resources.preset" (dict "type" .Values.scalingMonolithic.resourcesPreset) | nindent 12 }} + {{- end }} + {{- if not .Values.diagnosticMode.enabled }} + {{- if .Values.scalingMonolithic.customLivenessProbe }} + livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.customLivenessProbe "context" $) | nindent 12 }} + {{- else if .Values.scalingMonolithic.livenessProbe.enabled }} + livenessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.scalingMonolithic.livenessProbe "enabled") "context" $) | nindent 12 }} + tcpSocket: + port: http + {{- end }} + {{- if .Values.scalingMonolithic.customReadinessProbe }} + readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.customReadinessProbe "context" $) | nindent 12 }} + {{- else if .Values.scalingMonolithic.readinessProbe.enabled }} + readinessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.scalingMonolithic.readinessProbe "enabled") "context" $) | nindent 12 }} + httpGet: + path: /ready + port: http + {{- end }} + {{- if .Values.scalingMonolithic.customStartupProbe }} + startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.customStartupProbe "context" $) | nindent 12 }} + {{- else if .Values.scalingMonolithic.startupProbe.enabled }} + startupProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.scalingMonolithic.startupProbe "enabled") "context" $) | nindent 12 }} + tcpSocket: + port: http + {{- end }} + {{- end }} + {{- if .Values.scalingMonolithic.lifecycleHooks }} + lifecycle: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.lifecycleHooks "context" $) | nindent 12 }} + {{- end }} + volumeMounts: + - name: empty-dir + mountPath: /tmp + subPath: tmp-dir + - name: tempo-config + mountPath: /bitnami/grafana-tempo/conf/tempo.yaml + subPath: tempo.yaml + - name: overrides-config + mountPath: /bitnami/grafana-tempo/conf/overrides.yaml + subPath: overrides.yaml + - name: data + mountPath: {{ .Values.tempo.dataDir }} + {{- if .Values.scalingMonolithic.extraVolumeMounts }} + {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.extraVolumeMounts "context" $) | nindent 12 }} + {{- end }} + {{- if .Values.scalingMonolithic.sidecars }} + {{- include "common.tplvalues.render" ( dict "value" .Values.scalingMonolithic.sidecars "context" $) | nindent 8 }} + {{- end }} + volumes: + - name: empty-dir + emptyDir: {} + - name: tempo-config + configMap: + name: {{ template "grafana-tempo.tempoConfigmapName" . }} + - name: overrides-config + configMap: + name: {{ template "grafana-tempo.overridesConfigmapName" . }} + {{- if .Values.scalingMonolithic.extraVolumes }} + {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.extraVolumes "context" $) | nindent 8 }} + {{- end }} + {{- if not .Values.scalingMonolithic.persistence.enabled }} + - name: data + emptyDir: {} + {{- else }} + volumeClaimTemplates: + - metadata: + name: data + {{- if or .Values.scalingMonolithic.persistence.annotations .Values.commonAnnotations }} + {{- $claimAnnotations := include "common.tplvalues.merge" ( dict "values" ( list .Values.scalingMonolithic.persistence.annotations .Values.commonAnnotations ) "context" . ) }} + annotations: {{- include "common.tplvalues.render" ( dict "value" $claimAnnotations "context" $) | nindent 10 }} + {{- end }} + {{- if .Values.commonLabels }} + labels: {{- include "common.tplvalues.render" (dict "value" .Values.commonLabels "context" $) | nindent 10 }} + {{- end }} + spec: + accessModes: + {{- range .Values.scalingMonolithic.persistence.accessModes }} + - {{ . | quote }} + {{- end }} + resources: + requests: + storage: {{ .Values.scalingMonolithic.persistence.size | quote }} + {{- if .Values.scalingMonolithic.persistence.selector }} + selector: {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.persistence.selector "context" $) | nindent 10 }} + {{- end }} + {{- include "common.storage.class" (dict "persistence" .Values.scalingMonolithic.persistence "global" .Values.global) | nindent 8 }} + {{- end }} +{{- end }} diff --git a/bitnami/grafana-tempo/templates/vulture/deployment.yaml b/bitnami/grafana-tempo/templates/vulture/deployment.yaml index 063004ed9dcee8..87cffc3d89fa95 100644 --- a/bitnami/grafana-tempo/templates/vulture/deployment.yaml +++ b/bitnami/grafana-tempo/templates/vulture/deployment.yaml @@ -91,8 +91,13 @@ spec: {{- else }} args: - -prometheus-listen-address=0.0.0.0:{{ .Values.vulture.containerPorts.http }} + {{- if eq .Values.tempo.deploymentMode "microservices" }} - -tempo-push-url=http://{{ template "grafana-tempo.distributor.fullname" . }} - -tempo-query-url=http://{{ template "grafana-tempo.query-frontend.fullname" . }}:{{ .Values.queryFrontend.service.ports.http }} + {{- else if eq .Values.tempo.deploymentMode "scalingMonolithic" }} + - -tempo-push-url=http://{{ template "grafana-tempo.scaling-monolithic.fullname" . }} + - -tempo-query-url=http://{{ template "grafana-tempo.scaling-monolithic.fullname" . }}:{{ .Values.scalingMonolithic.service.ports.http }} + {{- end }} {{- end }} {{- if .Values.vulture.extraEnvVars }} env: {{- include "common.tplvalues.render" (dict "value" .Values.vulture.extraEnvVars "context" $) | nindent 12 }} diff --git a/bitnami/grafana-tempo/values.yaml b/bitnami/grafana-tempo/values.yaml index ecb38f901a67cf..1661d9082b65dc 100644 --- a/bitnami/grafana-tempo/values.yaml +++ b/bitnami/grafana-tempo/values.yaml @@ -102,6 +102,9 @@ tempo: ## - myRegistryKeySecretName ## pullSecrets: [] + ## @param tempo.deploymentMode decides components run in a process. (allowed values: microservices, scalingMonolithic) + ## + deploymentMode: "microservices" ## @param tempo.memBallastSizeMbs Tempo components memory ballast size in MB ## memBallastSizeMbs: 1024 @@ -204,7 +207,11 @@ tempo: {{- end }} querier: frontend_worker: + {{- if eq .Values.tempo.deploymentMode "microservices" }} frontend_address: {{ include "grafana-tempo.query-frontend.fullname" . }}-headless:{{ .Values.queryFrontend.service.ports.grpc }} + {{- else if eq .Values.tempo.deploymentMode "scalingMonolithic" }} + frontend_address: {{ include "grafana-tempo.scaling-monolithic.fullname" . }}-headless:{{ .Values.scalingMonolithic.service.ports.grpc }} + {{- end }} ingester: lifecycler: ring: @@ -2728,6 +2735,598 @@ queryFrontend: ingressNSMatchLabels: {} ingressNSPodMatchLabels: {} +## @section Scalable Single Binary Deployment Parameters +## +scalingMonolithic: + ## @param scalingMonolithic.extraEnvVars Array with extra environment variables to add to scalingMonolithic nodes + ## e.g: + ## extraEnvVars: + ## - name: FOO + ## value: "bar" + ## + extraEnvVars: [] + ## @param scalingMonolithic.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for scalingMonolithic nodes + ## + extraEnvVarsCM: "" + ## @param scalingMonolithic.extraEnvVarsSecret Name of existing Secret containing extra env vars for scalingMonolithic nodes + ## + extraEnvVarsSecret: "" + ## @param scalingMonolithic.command Override default container command (useful when using custom images) + ## + command: [] + ## @param scalingMonolithic.args Override default container args (useful when using custom images) + ## + args: [] + ## @param scalingMonolithic.replicaCount Number of scalingMonolithic replicas to deploy + ## + replicaCount: 1 + ## Configure extra options for scalingMonolithic containers' liveness, readiness and startup probes + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes + ## @param scalingMonolithic.livenessProbe.enabled Enable livenessProbe on scalingMonolithic nodes + ## @param scalingMonolithic.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe + ## @param scalingMonolithic.livenessProbe.periodSeconds Period seconds for livenessProbe + ## @param scalingMonolithic.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe + ## @param scalingMonolithic.livenessProbe.failureThreshold Failure threshold for livenessProbe + ## @param scalingMonolithic.livenessProbe.successThreshold Success threshold for livenessProbe + ## + livenessProbe: + enabled: true + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + ## @param scalingMonolithic.readinessProbe.enabled Enable readinessProbe on scalingMonolithic nodes + ## @param scalingMonolithic.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe + ## @param scalingMonolithic.readinessProbe.periodSeconds Period seconds for readinessProbe + ## @param scalingMonolithic.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe + ## @param scalingMonolithic.readinessProbe.failureThreshold Failure threshold for readinessProbe + ## @param scalingMonolithic.readinessProbe.successThreshold Success threshold for readinessProbe + ## + readinessProbe: + enabled: true + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + ## @param scalingMonolithic.startupProbe.enabled Enable startupProbe on scalingMonolithic containers + ## @param scalingMonolithic.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe + ## @param scalingMonolithic.startupProbe.periodSeconds Period seconds for startupProbe + ## @param scalingMonolithic.startupProbe.timeoutSeconds Timeout seconds for startupProbe + ## @param scalingMonolithic.startupProbe.failureThreshold Failure threshold for startupProbe + ## @param scalingMonolithic.startupProbe.successThreshold Success threshold for startupProbe + ## + startupProbe: + enabled: false + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 15 + successThreshold: 1 + ## @param scalingMonolithic.customLivenessProbe Custom livenessProbe that overrides the default one + ## + customLivenessProbe: {} + ## @param scalingMonolithic.customReadinessProbe Custom readinessProbe that overrides the default one + ## + customReadinessProbe: {} + ## @param scalingMonolithic.customStartupProbe Custom startupProbe that overrides the default one + ## + customStartupProbe: {} + ## @param scalingMonolithic.lifecycleHooks for the scalingMonolithic container(s) to automate configuration before or after startup + ## + lifecycleHooks: {} + ## scalingMonolithic resource requests and limits + ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ + ## @param scalingMonolithic.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if scalingMonolithic.resources is set (scalingMonolithic.resources is recommended for production). + ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 + ## + resourcesPreset: "nano" + ## @param scalingMonolithic.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) + ## Example: + ## resources: + ## requests: + ## cpu: 2 + ## memory: 512Mi + ## limits: + ## cpu: 3 + ## memory: 1024Mi + ## + resources: {} + ## Configure Pods Security Context + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod + ## @param scalingMonolithic.podSecurityContext.enabled Enabled scalingMonolithic pods' Security Context + ## @param scalingMonolithic.podSecurityContext.fsGroupChangePolicy Set filesystem group change policy + ## @param scalingMonolithic.podSecurityContext.sysctls Set kernel settings using the sysctl interface + ## @param scalingMonolithic.podSecurityContext.supplementalGroups Set filesystem extra groups + ## @param scalingMonolithic.podSecurityContext.fsGroup Set scalingMonolithic pod's Security Context fsGroup + ## + podSecurityContext: + enabled: true + fsGroupChangePolicy: Always + sysctls: [] + supplementalGroups: [] + fsGroup: 1001 + ## Configure Container Security Context + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod + ## @param scalingMonolithic.containerSecurityContext.enabled Enabled containers' Security Context + ## @param scalingMonolithic.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container + ## @param scalingMonolithic.containerSecurityContext.runAsUser Set containers' Security Context runAsUser + ## @param scalingMonolithic.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup + ## @param scalingMonolithic.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot + ## @param scalingMonolithic.containerSecurityContext.privileged Set container's Security Context privileged + ## @param scalingMonolithic.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem + ## @param scalingMonolithic.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation + ## @param scalingMonolithic.containerSecurityContext.capabilities.drop List of capabilities to be dropped + ## @param scalingMonolithic.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile + ## + containerSecurityContext: + enabled: true + seLinuxOptions: {} + runAsUser: 1001 + runAsGroup: 1001 + runAsNonRoot: true + privileged: false + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + capabilities: + drop: ["ALL"] + seccompProfile: + type: "RuntimeDefault" + ## @param scalingMonolithic.automountServiceAccountToken Mount Service Account token in pod + ## + automountServiceAccountToken: false + ## @param scalingMonolithic.hostAliases scalingMonolithic pods host aliases + ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ + ## + hostAliases: [] + ## @param scalingMonolithic.podLabels Extra labels for scalingMonolithic pods + ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ + ## + podLabels: {} + ## @param scalingMonolithic.podAnnotations Annotations for scalingMonolithic pods + ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ + ## + podAnnotations: {} + ## @param scalingMonolithic.podAffinityPreset Pod affinity preset. Ignored if `scalingMonolithic.affinity` is set. Allowed values: `soft` or `hard` + ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity + ## + podAffinityPreset: "" + ## @param scalingMonolithic.podAntiAffinityPreset Pod anti-affinity preset. Ignored if `scalingMonolithic.affinity` is set. Allowed values: `soft` or `hard` + ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity + ## + podAntiAffinityPreset: soft + ## Node scalingMonolithic.affinity preset + ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity + ## + nodeAffinityPreset: + ## @param scalingMonolithic.nodeAffinityPreset.type Node affinity preset type. Ignored if `scalingMonolithic.affinity` is set. Allowed values: `soft` or `hard` + ## + type: "" + ## @param scalingMonolithic.nodeAffinityPreset.key Node label key to match. Ignored if `scalingMonolithic.affinity` is set + ## + key: "" + ## @param scalingMonolithic.nodeAffinityPreset.values Node label values to match. Ignored if `scalingMonolithic.affinity` is set + ## E.g. + ## values: + ## - e2e-az1 + ## - e2e-az2 + ## + values: [] + ## @param scalingMonolithic.affinity Affinity for scalingMonolithic pods assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + ## NOTE: `scalingMonolithic.podAffinityPreset`, `scalingMonolithic.podAntiAffinityPreset`, and `scalingMonolithic.nodeAffinityPreset` will be ignored when it's set + ## + affinity: {} + ## @param scalingMonolithic.nodeSelector Node labels for scalingMonolithic pods assignment + ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ + ## + nodeSelector: {} + ## @param scalingMonolithic.tolerations Tolerations for scalingMonolithic pods assignment + ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ + ## + tolerations: [] + ## @param scalingMonolithic.topologySpreadConstraints Topology Spread Constraints for pod assignment spread across your cluster among failure-domains + ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#spread-constraints-for-pods + ## + topologySpreadConstraints: [] + ## @param scalingMonolithic.priorityClassName scalingMonolithic pods' priorityClassName + ## + priorityClassName: "" + ## @param scalingMonolithic.schedulerName Kubernetes pod scheduler registry + ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/ + ## + schedulerName: "" + ## @param scalingMonolithic.updateStrategy.type scalingMonolithic statefulset strategy type + ## @param scalingMonolithic.updateStrategy.rollingUpdate scalingMonolithic statefulset rolling update configuration parameters + ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#update-strategies + ## + updateStrategy: + type: RollingUpdate + rollingUpdate: {} + ## @param scalingMonolithic.extraVolumes Optionally specify extra list of additional volumes for the scalingMonolithic pod(s) + ## + extraVolumes: [] + ## @param scalingMonolithic.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the scalingMonolithic container(s) + ## + extraVolumeMounts: [] + ## @param scalingMonolithic.sidecars Add additional sidecar containers to the scalingMonolithic pod(s) + ## e.g: + ## sidecars: + ## - name: your-image-name + ## image: your-image + ## imagePullPolicy: Always + ## ports: + ## - name: portname + ## containerPort: 1234 + ## + sidecars: [] + ## @param scalingMonolithic.initContainers Add additional init containers to the scalingMonolithic pod(s) + ## ref: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ + ## e.g: + ## initContainers: + ## - name: your-image-name + ## image: your-image + ## imagePullPolicy: Always + ## command: ['sh', '-c', 'echo "hello world"'] + ## + initContainers: [] + ## Pod Disruption Budget configuration + ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb + ## @param scalingMonolithic.pdb.create Enable/disable a Pod Disruption Budget creation + ## @param scalingMonolithic.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled + ## @param scalingMonolithic.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `scalingMonolithic.pdb.minAvailable` and `scalingMonolithic.pdb.maxUnavailable` are empty. + ## + pdb: + create: true + minAvailable: "" + maxUnavailable: "" + ## @param scalingMonolithic.enableServiceLinks Whether information about services should be injected into pod's environment variable + ## The environment variables injected by service links are not used, but can lead to slow boot times or slow running of the scripts when there are many services in the current namespace. + ## If you experience slow pod startups or slow running of the scripts you probably want to set this to `false`. + ## + enableServiceLinks: true + ## @section scalingMonolithic Persistence Parameters + + ## Enable persistence using Persistent Volume Claims + ## ref: https://kubernetes.io/docs/concepts/storage/persistent-volumes/ + ## + persistence: + ## @param scalingMonolithic.persistence.enabled Enable persistence in scalingMonolithic instances + ## + enabled: true + ## @param scalingMonolithic.persistence.existingClaim Name of an existing PVC to use + ## + existingClaim: "" + ## @param scalingMonolithic.persistence.storageClass PVC Storage Class for Memcached data volume + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + storageClass: "" + ## @param scalingMonolithic.persistence.subPath The subdirectory of the volume to mount to + ## + subPath: "" + ## @param scalingMonolithic.persistence.accessModes PVC Access modes + ## + accessModes: + - ReadWriteOnce + ## @param scalingMonolithic.persistence.size PVC Storage Request for Memcached data volume + ## + size: 8Gi + ## @param scalingMonolithic.persistence.annotations Additional PVC annotations + ## + annotations: {} + ## @param scalingMonolithic.persistence.selector Selector to match an existing Persistent Volume for scalingMonolithic's data PVC + ## If set, the PVC can't have a PV dynamically provisioned for it + ## E.g. + ## selector: + ## matchLabels: + ## app: my-app + ## + selector: {} + ## @section scalingMonolithic Traffic Exposure Parameters + ## + + query: + ## @param scalingMonolithic.query.enabled Whether to enable the query container for legacy Grafana compatibility with jaeger-ui. Only required for grafana version <7.5 + enabled: false + ## Bitnami Grafana Tempo Query image + ## ref: https://hub.docker.com/r/bitnami/grafana-tempo-query/tags/ + ## @param scalingMonolithic.query.image.registry [default: REGISTRY_NAME] Grafana Tempo Query image registry + ## @param scalingMonolithic.query.image.repository [default: REPOSITORY_NAME/grafana-tempo-query] Grafana Tempo Query image repository + ## @skip scalingMonolithic.query.image.tag Grafana Tempo Query image tag (immutable tags are recommended) + ## @param scalingMonolithic.query.image.digest Grafana Tempo Query image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag + ## @param scalingMonolithic.query.image.pullPolicy Grafana Tempo Query image pull policy + ## @param scalingMonolithic.query.image.pullSecrets Grafana Tempo Query image pull secrets + ## + image: + registry: docker.io + repository: bitnami/grafana-tempo-query + tag: 2.6.1-debian-12-r4 + digest: "" + ## Specify a imagePullPolicy + ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images + ## + pullPolicy: IfNotPresent + ## Optionally specify an array of imagePullSecrets. + ## Secrets must be manually created in the namespace. + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ + ## e.g: + ## pullSecrets: + ## - myRegistryKeySecretName + ## + pullSecrets: [] + ## @param scalingMonolithic.query.configuration [string] Query sidecar configuration + ## + configuration: | + backend: 127.0.0.1:{{ .Values.tempo.containerPorts.web }} + ## @param scalingMonolithic.query.containerPorts.jaegerMetrics scalingMonolithic query sidecar Jaeger metrics container port + ## @param scalingMonolithic.query.containerPorts.jaegerUI scalingMonolithic query sidecar Jaeger UI container port + ## @param scalingMonolithic.query.containerPorts.jaegerGRPC scalingMonolithic query sidecar Jaeger UI container port + ## + containerPorts: + jaegerMetrics: 16687 + jaegerUI: 16686 + jaegerGRPC: 16685 + ## @param scalingMonolithic.query.existingConfigmap Name of a configmap with the query configuration + ## + existingConfigmap: "" + ## @param scalingMonolithic.query.extraEnvVars Array with extra environment variables to add to scalingMonolithic nodes + ## e.g: + ## extraEnvVars: + ## - name: FOO + ## value: "bar" + ## + extraEnvVars: [] + ## @param scalingMonolithic.query.extraEnvVarsCM Name of existing ConfigMap containing extra env vars for scalingMonolithic nodes + ## + extraEnvVarsCM: "" + ## @param scalingMonolithic.query.extraEnvVarsSecret Name of existing Secret containing extra env vars for scalingMonolithic nodes + ## + extraEnvVarsSecret: "" + ## @param scalingMonolithic.query.command Override default container command (useful when using custom images) + ## + command: [] + ## @param scalingMonolithic.query.args Override default container args (useful when using custom images) + ## + args: [] + ## Configure extra options for Query sidecar containers' liveness, readiness and startup probes + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes + ## @param scalingMonolithic.query.livenessProbe.enabled Enable livenessProbe on Query sidecar nodes + ## @param scalingMonolithic.query.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe + ## @param scalingMonolithic.query.livenessProbe.periodSeconds Period seconds for livenessProbe + ## @param scalingMonolithic.query.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe + ## @param scalingMonolithic.query.livenessProbe.failureThreshold Failure threshold for livenessProbe + ## @param scalingMonolithic.query.livenessProbe.successThreshold Success threshold for livenessProbe + ## + livenessProbe: + enabled: true + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + ## @param scalingMonolithic.query.readinessProbe.enabled Enable readinessProbe on Query sidecar nodes + ## @param scalingMonolithic.query.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe + ## @param scalingMonolithic.query.readinessProbe.periodSeconds Period seconds for readinessProbe + ## @param scalingMonolithic.query.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe + ## @param scalingMonolithic.query.readinessProbe.failureThreshold Failure threshold for readinessProbe + ## @param scalingMonolithic.query.readinessProbe.successThreshold Success threshold for readinessProbe + ## + readinessProbe: + enabled: true + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + ## @param scalingMonolithic.query.startupProbe.enabled Enable startupProbe on Query sidecar containers + ## @param scalingMonolithic.query.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe + ## @param scalingMonolithic.query.startupProbe.periodSeconds Period seconds for startupProbe + ## @param scalingMonolithic.query.startupProbe.timeoutSeconds Timeout seconds for startupProbe + ## @param scalingMonolithic.query.startupProbe.failureThreshold Failure threshold for startupProbe + ## @param scalingMonolithic.query.startupProbe.successThreshold Success threshold for startupProbe + ## + startupProbe: + enabled: false + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 15 + successThreshold: 1 + ## @param scalingMonolithic.query.customLivenessProbe Custom livenessProbe that overrides the default one + ## + customLivenessProbe: {} + ## @param scalingMonolithic.query.customReadinessProbe Custom readinessProbe that overrides the default one + ## + customReadinessProbe: {} + ## @param scalingMonolithic.query.customStartupProbe Custom startupProbe that overrides the default one + ## + customStartupProbe: {} + ## @param scalingMonolithic.query.lifecycleHooks for the query sidecar container(s) to automate configuration before or after startup + ## + lifecycleHooks: {} + ## Configure Container Security Context + ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod + ## @param scalingMonolithic.query.containerSecurityContext.enabled Enabled containers' Security Context + ## @param scalingMonolithic.query.containerSecurityContext.seLinuxOptions [object,nullable] Set SELinux options in container + ## @param scalingMonolithic.query.containerSecurityContext.runAsUser Set containers' Security Context runAsUser + + ## @param scalingMonolithic.query.containerSecurityContext.runAsGroup Set containers' Security Context runAsGroup + ## @param scalingMonolithic.query.containerSecurityContext.runAsNonRoot Set container's Security Context runAsNonRoot + ## @param scalingMonolithic.query.containerSecurityContext.privileged Set container's Security Context privileged + ## @param scalingMonolithic.query.containerSecurityContext.readOnlyRootFilesystem Set container's Security Context readOnlyRootFilesystem + ## @param scalingMonolithic.query.containerSecurityContext.allowPrivilegeEscalation Set container's Security Context allowPrivilegeEscalation + ## @param scalingMonolithic.query.containerSecurityContext.capabilities.drop List of capabilities to be dropped + ## @param scalingMonolithic.query.containerSecurityContext.seccompProfile.type Set container's Security Context seccomp profile + ## + containerSecurityContext: + enabled: true + seLinuxOptions: {} + runAsUser: 1001 + runAsGroup: 1001 + runAsNonRoot: true + privileged: false + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + capabilities: + drop: ["ALL"] + seccompProfile: + type: "RuntimeDefault" + ## Query sidecar resource requests and limits + ## ref: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ + ## @param scalingMonolithic.query.resourcesPreset Set container resources according to one common preset (allowed values: none, nano, micro, small, medium, large, xlarge, 2xlarge). This is ignored if scalingMonolithic.query.resources is set (scalingMonolithic.query.resources is recommended for production). + ## More information: https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15 + ## + resourcesPreset: "nano" + ## @param scalingMonolithic.query.resources Set container requests and limits for different resources like CPU or memory (essential for production workloads) + ## Example: + ## resources: + ## requests: + ## cpu: 2 + ## memory: 512Mi + ## limits: + ## cpu: 3 + ## memory: 1024Mi + ## + resources: {} + ## @param scalingMonolithic.query.extraVolumeMounts Optionally specify extra list of additional volumeMounts for the scalingMonolithic container(s) + ## + extraVolumeMounts: [] + ## @section Scaling Monolithic Traffic Exposure Parameters + ## + + ## scalingMonolithic service parameters + ## + service: + ## @param scalingMonolithic.service.type scalingMonolithic service type + ## + type: ClusterIP + ## @param scalingMonolithic.service.ports.http scalingMonolithic HTTP service port + ## @param scalingMonolithic.service.ports.grpc scalingMonolithic GRPC service port + ## + ports: + http: 3200 + grpc: 9095 + ## Node ports to expose + ## NOTE: choose port between <30000-32767> + ## @param scalingMonolithic.service.nodePorts.http Node port for HTTP + ## @param scalingMonolithic.service.nodePorts.grpc Node port for GRPC + ## + nodePorts: + http: "" + grpc: "" + ## @param scalingMonolithic.service.sessionAffinity Control where client requests go, to the same pod or round-robin + ## Values: ClientIP or None + ## ref: https://kubernetes.io/docs/concepts/services-networking/service/ + ## + sessionAffinity: None + ## @param scalingMonolithic.service.sessionAffinityConfig Additional settings for the sessionAffinity + ## sessionAffinityConfig: + ## clientIP: + ## timeoutSeconds: 300 + ## + sessionAffinityConfig: {} + ## @param scalingMonolithic.service.clusterIP scalingMonolithic service Cluster IP + ## e.g.: + ## clusterIP: None + ## + clusterIP: "" + ## @param scalingMonolithic.service.loadBalancerIP scalingMonolithic service Load Balancer IP + ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer + ## + loadBalancerIP: "" + ## @param scalingMonolithic.service.loadBalancerSourceRanges scalingMonolithic service Load Balancer sources + ## ref: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/#restrict-access-for-loadbalancer-service + ## e.g: + ## loadBalancerSourceRanges: + ## - 10.10.10.0/24 + ## + loadBalancerSourceRanges: [] + ## @param scalingMonolithic.service.externalTrafficPolicy scalingMonolithic service external traffic policy + ## ref https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip + ## + externalTrafficPolicy: Cluster + ## @param scalingMonolithic.service.annotations Additional custom annotations for scalingMonolithic service + ## + annotations: {} + ## @param scalingMonolithic.service.extraPorts Extra ports to expose in the scalingMonolithic service + ## + extraPorts: [] + ## Headless service properties + ## + headless: + ## @param scalingMonolithic.service.headless.annotations Annotations for the headless service. + ## + annotations: {} + ## Network Policies + ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/ + ## + networkPolicy: + ## @param scalingMonolithic.networkPolicy.enabled Specifies whether a NetworkPolicy should be created + ## + enabled: true + ## @param scalingMonolithic.networkPolicy.allowExternal Don't require server label for connections + ## The Policy model to apply. When set to false, only pods with the correct + ## server label will have network access to the ports server is listening + ## on. When true, server will accept connections from any source + ## (with the correct destination port). + ## + allowExternal: true + ## @param scalingMonolithic.networkPolicy.allowExternalEgress Allow the pod to access any range of port and all destinations. + ## + allowExternalEgress: true + ## @param scalingMonolithic.networkPolicy.addExternalClientAccess Allow access from pods with client label set to "true". Ignored if `scalingMonolithic.networkPolicy.allowExternal` is true. + ## + addExternalClientAccess: true + ## @param scalingMonolithic.networkPolicy.extraIngress [array] Add extra ingress rules to the NetworkPolicy + ## e.g: + ## extraIngress: + ## - ports: + ## - port: 1234 + ## from: + ## - podSelector: + ## - matchLabels: + ## - role: frontend + ## - podSelector: + ## - matchExpressions: + ## - key: role + ## operator: In + ## values: + ## - frontend + extraIngress: [] + ## @param scalingMonolithic.networkPolicy.extraEgress [array] Add extra ingress rules to the NetworkPolicy + ## e.g: + ## extraEgress: + ## - ports: + ## - port: 1234 + ## to: + ## - podSelector: + ## - matchLabels: + ## - role: frontend + ## - podSelector: + ## - matchExpressions: + ## - key: role + ## operator: In + ## values: + ## - frontend + ## + extraEgress: [] + ## @param scalingMonolithic.networkPolicy.ingressPodMatchLabels [object] Labels to match to allow traffic from other pods. Ignored if `scalingMonolithic.networkPolicy.allowExternal` is true. + ## e.g: + ## ingressPodMatchLabels: + ## my-client: "true" + # + ingressPodMatchLabels: {} + ## @param scalingMonolithic.networkPolicy.ingressNSMatchLabels [object] Labels to match to allow traffic from other namespaces. Ignored if `scalingMonolithic.networkPolicy.allowExternal` is true. + ## @param scalingMonolithic.networkPolicy.ingressNSPodMatchLabels [object] Pod labels to match to allow traffic from other namespaces. Ignored if `scalingMonolithic.networkPolicy.allowExternal` is true. + ## + ingressNSMatchLabels: {} + ingressNSPodMatchLabels: {} + ## @section Vulture Deployment Parameters ## vulture: From a6a6831103f86dbff9e51b3f5d64cb9d75bed32e Mon Sep 17 00:00:00 2001 From: Bitnami Containers Date: Fri, 13 Dec 2024 05:10:31 +0000 Subject: [PATCH 02/11] Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers --- bitnami/grafana-tempo/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitnami/grafana-tempo/README.md b/bitnami/grafana-tempo/README.md index 2f7f9be526b693..35447780d42cc5 100644 --- a/bitnami/grafana-tempo/README.md +++ b/bitnami/grafana-tempo/README.md @@ -219,7 +219,7 @@ The [Bitnami grafana-tempo](https://github.com/bitnami/containers/tree/main/bitn | `tempo.image.digest` | Grafana Tempo image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `tempo.image.pullPolicy` | Grafana Tempo image pull policy | `IfNotPresent` | | `tempo.image.pullSecrets` | Grafana Tempo image pull secrets | `[]` | -| `tempo.deploymentMode` | decides components run in a process. (allowed values: microservices, scalingMonolithic) | `microservices` | +| `tempo.deploymentMode` | decides components run in a process. (allowed values: microservices, scalingMonolithic) | `microservices` | | `tempo.memBallastSizeMbs` | Tempo components memory ballast size in MB | `1024` | | `tempo.dataDir` | Tempo components data directory | `/bitnami/grafana-tempo/data` | | `tempo.traces.jaeger.grpc` | Enable Tempo to ingest Jaeger GRPC traces | `true` | From 093cbd0f5591e1a944492576d003ecf0c828dd7b Mon Sep 17 00:00:00 2001 From: Zhang Xin Date: Sun, 19 Jan 2025 09:50:12 +0800 Subject: [PATCH 03/11] merge file creation conditions Signed-off-by: Zhang Xin --- bitnami/grafana-tempo/templates/compactor/deployment.yaml | 4 +--- bitnami/grafana-tempo/templates/compactor/networkpolicy.yaml | 4 +--- bitnami/grafana-tempo/templates/compactor/pdb.yaml | 4 +--- bitnami/grafana-tempo/templates/compactor/service.yaml | 4 +--- bitnami/grafana-tempo/templates/compactor/servicemonitor.yaml | 4 +--- .../grafana-tempo/templates/distributor/networkpolicy.yaml | 4 +--- bitnami/grafana-tempo/templates/distributor/pdb.yaml | 4 +--- .../grafana-tempo/templates/distributor/servicemonitor.yaml | 4 +--- bitnami/grafana-tempo/templates/ingester/networkpolicy.yaml | 4 +--- bitnami/grafana-tempo/templates/ingester/pdb.yaml | 4 +--- bitnami/grafana-tempo/templates/ingester/servicemonitor.yaml | 4 +--- .../templates/metrics-generator/networkpolicy.yaml | 4 +--- bitnami/grafana-tempo/templates/metrics-generator/pdb.yaml | 4 +--- .../templates/metrics-generator/servicemonitor.yaml | 4 +--- bitnami/grafana-tempo/templates/querier/networkpolicy.yaml | 4 +--- bitnami/grafana-tempo/templates/querier/pdb.yaml | 4 +--- bitnami/grafana-tempo/templates/querier/servicemonitor.yaml | 4 +--- .../grafana-tempo/templates/query-frontend/networkpolicy.yaml | 4 +--- bitnami/grafana-tempo/templates/query-frontend/pdb.yaml | 4 +--- .../templates/query-frontend/servicemonitor.yaml | 4 +--- 20 files changed, 20 insertions(+), 60 deletions(-) diff --git a/bitnami/grafana-tempo/templates/compactor/deployment.yaml b/bitnami/grafana-tempo/templates/compactor/deployment.yaml index 774629f45d9ea5..723c5b96d55c1f 100644 --- a/bitnami/grafana-tempo/templates/compactor/deployment.yaml +++ b/bitnami/grafana-tempo/templates/compactor/deployment.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if .Values.compactor.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.compactor.enabled }} apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: @@ -178,4 +177,3 @@ spec: {{- include "common.tplvalues.render" (dict "value" .Values.compactor.extraVolumes "context" $) | nindent 8 }} {{- end }} {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/compactor/networkpolicy.yaml b/bitnami/grafana-tempo/templates/compactor/networkpolicy.yaml index 1000343448a21a..227b0eddc8e09f 100644 --- a/bitnami/grafana-tempo/templates/compactor/networkpolicy.yaml +++ b/bitnami/grafana-tempo/templates/compactor/networkpolicy.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if and .Values.compactor.enabled .Values.compactor.networkPolicy.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.compactor.enabled .Values.compactor.networkPolicy.enabled }} kind: NetworkPolicy apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} metadata: @@ -123,4 +122,3 @@ spec: {{- include "common.tplvalues.render" ( dict "value" .Values.compactor.networkPolicy.extraIngress "context" $ ) | nindent 4 }} {{- end }} {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/compactor/pdb.yaml b/bitnami/grafana-tempo/templates/compactor/pdb.yaml index 10e1b15e23445b..66377e3084436a 100644 --- a/bitnami/grafana-tempo/templates/compactor/pdb.yaml +++ b/bitnami/grafana-tempo/templates/compactor/pdb.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if and .Values.compactor.enabled .Values.compactor.pdb.create }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.compactor.enabled .Values.compactor.pdb.create }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget metadata: @@ -27,4 +26,3 @@ spec: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} app.kubernetes.io/component: compactor {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/compactor/service.yaml b/bitnami/grafana-tempo/templates/compactor/service.yaml index 4ab6b77c7f1847..c204cfeb068cc6 100644 --- a/bitnami/grafana-tempo/templates/compactor/service.yaml +++ b/bitnami/grafana-tempo/templates/compactor/service.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if .Values.compactor.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.compactor.enabled }} apiVersion: v1 kind: Service metadata: @@ -62,4 +61,3 @@ spec: selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: compactor {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/compactor/servicemonitor.yaml b/bitnami/grafana-tempo/templates/compactor/servicemonitor.yaml index 25039f9ad9637a..f68ca7a0c2307d 100644 --- a/bitnami/grafana-tempo/templates/compactor/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/compactor/servicemonitor.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if and .Values.compactor.enabled .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.compactor.enabled .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: @@ -47,4 +46,3 @@ spec: matchNames: - {{ .Release.Namespace }} {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/distributor/networkpolicy.yaml b/bitnami/grafana-tempo/templates/distributor/networkpolicy.yaml index c5e9bd9c87b526..5d4de21e57f8e6 100644 --- a/bitnami/grafana-tempo/templates/distributor/networkpolicy.yaml +++ b/bitnami/grafana-tempo/templates/distributor/networkpolicy.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if .Values.distributor.networkPolicy.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.distributor.networkPolicy.enabled }} kind: NetworkPolicy apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} metadata: @@ -150,4 +149,3 @@ spec: {{- include "common.tplvalues.render" ( dict "value" .Values.distributor.networkPolicy.extraIngress "context" $ ) | nindent 4 }} {{- end }} {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/distributor/pdb.yaml b/bitnami/grafana-tempo/templates/distributor/pdb.yaml index 98bcb9dc060c37..2a8ce0523ce173 100644 --- a/bitnami/grafana-tempo/templates/distributor/pdb.yaml +++ b/bitnami/grafana-tempo/templates/distributor/pdb.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if and .Values.distributor.pdb.create .Values.distributor.pdb.create }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.distributor.pdb.create .Values.distributor.pdb.create }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget metadata: @@ -27,4 +26,3 @@ spec: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} app.kubernetes.io/component: distributor {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/distributor/servicemonitor.yaml b/bitnami/grafana-tempo/templates/distributor/servicemonitor.yaml index 280641ef0c1dbe..edafebef2e56fb 100644 --- a/bitnami/grafana-tempo/templates/distributor/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/distributor/servicemonitor.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: @@ -47,4 +46,3 @@ spec: matchNames: - {{ .Release.Namespace }} {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/ingester/networkpolicy.yaml b/bitnami/grafana-tempo/templates/ingester/networkpolicy.yaml index 4d45ef4eecccbc..ba4a1ea1bea01f 100644 --- a/bitnami/grafana-tempo/templates/ingester/networkpolicy.yaml +++ b/bitnami/grafana-tempo/templates/ingester/networkpolicy.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if .Values.ingester.networkPolicy.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.ingester.networkPolicy.enabled }} kind: NetworkPolicy apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} metadata: @@ -123,4 +122,3 @@ spec: {{- include "common.tplvalues.render" ( dict "value" .Values.ingester.networkPolicy.extraIngress "context" $ ) | nindent 4 }} {{- end }} {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/ingester/pdb.yaml b/bitnami/grafana-tempo/templates/ingester/pdb.yaml index 94027b950a5698..e48e5336c91a37 100644 --- a/bitnami/grafana-tempo/templates/ingester/pdb.yaml +++ b/bitnami/grafana-tempo/templates/ingester/pdb.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if .Values.ingester.pdb.create }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.ingester.pdb.create }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget metadata: @@ -27,4 +26,3 @@ spec: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} app.kubernetes.io/component: ingester {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/ingester/servicemonitor.yaml b/bitnami/grafana-tempo/templates/ingester/servicemonitor.yaml index b42822d110aa64..c17970d6e31d2e 100644 --- a/bitnami/grafana-tempo/templates/ingester/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/ingester/servicemonitor.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: @@ -47,4 +46,3 @@ spec: matchNames: - {{ .Release.Namespace }} {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/metrics-generator/networkpolicy.yaml b/bitnami/grafana-tempo/templates/metrics-generator/networkpolicy.yaml index 17dd0d058b7e27..f0e2cc4d0b5cba 100644 --- a/bitnami/grafana-tempo/templates/metrics-generator/networkpolicy.yaml +++ b/bitnami/grafana-tempo/templates/metrics-generator/networkpolicy.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if .Values.metricsGenerator.networkPolicy.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.metricsGenerator.networkPolicy.enabled }} kind: NetworkPolicy apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} metadata: @@ -123,4 +122,3 @@ spec: {{- include "common.tplvalues.render" ( dict "value" .Values.metricsGenerator.networkPolicy.extraIngress "context" $ ) | nindent 4 }} {{- end }} {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/metrics-generator/pdb.yaml b/bitnami/grafana-tempo/templates/metrics-generator/pdb.yaml index 0f340f1dc7b6d0..f66f07f70bba1f 100644 --- a/bitnami/grafana-tempo/templates/metrics-generator/pdb.yaml +++ b/bitnami/grafana-tempo/templates/metrics-generator/pdb.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if .Values.metricsGenerator.pdb.create }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.metricsGenerator.pdb.create }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget metadata: @@ -27,4 +26,3 @@ spec: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} app.kubernetes.io/component: metrics-generator {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/metrics-generator/servicemonitor.yaml b/bitnami/grafana-tempo/templates/metrics-generator/servicemonitor.yaml index 3fbedcd2c050de..e9e2728781ba3b 100644 --- a/bitnami/grafana-tempo/templates/metrics-generator/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/metrics-generator/servicemonitor.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: @@ -47,4 +46,3 @@ spec: matchNames: - {{ .Release.Namespace }} {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/querier/networkpolicy.yaml b/bitnami/grafana-tempo/templates/querier/networkpolicy.yaml index 3357ef2d02e770..58eeb5b3137109 100644 --- a/bitnami/grafana-tempo/templates/querier/networkpolicy.yaml +++ b/bitnami/grafana-tempo/templates/querier/networkpolicy.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if .Values.querier.networkPolicy.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.querier.networkPolicy.enabled }} kind: NetworkPolicy apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} metadata: @@ -123,4 +122,3 @@ spec: {{- include "common.tplvalues.render" ( dict "value" .Values.querier.networkPolicy.extraIngress "context" $ ) | nindent 4 }} {{- end }} {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/querier/pdb.yaml b/bitnami/grafana-tempo/templates/querier/pdb.yaml index 0217407b7ecb3b..514973123e0e9a 100644 --- a/bitnami/grafana-tempo/templates/querier/pdb.yaml +++ b/bitnami/grafana-tempo/templates/querier/pdb.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if .Values.querier.pdb.create }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.querier.pdb.create }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget metadata: @@ -27,4 +26,3 @@ spec: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} app.kubernetes.io/component: querier {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/querier/servicemonitor.yaml b/bitnami/grafana-tempo/templates/querier/servicemonitor.yaml index 65596ee123c4c7..6681e54617430f 100644 --- a/bitnami/grafana-tempo/templates/querier/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/querier/servicemonitor.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: @@ -47,4 +46,3 @@ spec: matchNames: - {{ .Release.Namespace }} {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/networkpolicy.yaml b/bitnami/grafana-tempo/templates/query-frontend/networkpolicy.yaml index 86abbbc2110d24..084df65befa8a3 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/networkpolicy.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/networkpolicy.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if .Values.queryFrontend.networkPolicy.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.queryFrontend.networkPolicy.enabled }} kind: NetworkPolicy apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} metadata: @@ -133,4 +132,3 @@ spec: {{- include "common.tplvalues.render" ( dict "value" .Values.queryFrontend.networkPolicy.extraIngress "context" $ ) | nindent 4 }} {{- end }} {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/pdb.yaml b/bitnami/grafana-tempo/templates/query-frontend/pdb.yaml index b3101b58a72588..39433083a709b0 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/pdb.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/pdb.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if .Values.queryFrontend.pdb.create }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.queryFrontend.pdb.create }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget metadata: @@ -29,4 +28,3 @@ spec: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} app.kubernetes.io/component: query-frontend {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/servicemonitor.yaml b/bitnami/grafana-tempo/templates/query-frontend/servicemonitor.yaml index c6f812e01009bc..7f5d3a8b060d0b 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/servicemonitor.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "microservices" }} -{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "microservices") .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: @@ -48,4 +47,3 @@ spec: matchNames: - {{ .Release.Namespace }} {{- end }} -{{- end }} From dec52587a832a638ddb009b5ba85c85d64b1cdd0 Mon Sep 17 00:00:00 2001 From: Zhang Xin Date: Sun, 19 Jan 2025 09:54:08 +0800 Subject: [PATCH 04/11] include namespace from tpl Signed-off-by: Zhang Xin --- bitnami/grafana-tempo/templates/NOTES.txt | 20 +++++++++---------- .../templates/compactor/deployment.yaml | 2 +- .../templates/compactor/service.yaml | 2 +- .../templates/compactor/servicemonitor.yaml | 2 +- .../templates/distributor/deployment.yaml | 2 +- .../templates/distributor/service.yaml | 2 +- .../templates/distributor/servicemonitor.yaml | 2 +- .../gossip-ring-headless-service.yaml | 2 +- .../templates/ingester/service.yaml | 2 +- .../templates/ingester/servicemonitor.yaml | 2 +- .../templates/ingester/statefulset.yaml | 2 +- .../metrics-generator/deployment.yaml | 2 +- .../templates/metrics-generator/pdb.yaml | 2 +- .../templates/metrics-generator/service.yaml | 2 +- .../metrics-generator/servicemonitor.yaml | 2 +- .../templates/overrides-configmap.yaml | 2 +- .../templates/querier/deployment.yaml | 2 +- .../grafana-tempo/templates/querier/pdb.yaml | 2 +- .../templates/querier/service.yaml | 2 +- .../templates/querier/servicemonitor.yaml | 2 +- .../templates/query-frontend/deployment.yaml | 2 +- .../query-frontend/headless-service.yaml | 2 +- .../templates/query-frontend/pdb.yaml | 2 +- .../query-frontend/query-configmap.yaml | 2 +- .../templates/query-frontend/service.yaml | 2 +- .../query-frontend/servicemonitor.yaml | 2 +- .../scaling-monolithic/headless-service.yaml | 2 +- .../templates/scaling-monolithic/service.yaml | 2 +- .../scaling-monolithic/servicemonitor.yaml | 2 +- .../scaling-monolithic/statefulset.yaml | 2 +- .../templates/service-account.yaml | 2 +- .../templates/tempo-configmap.yaml | 2 +- .../templates/vulture/deployment.yaml | 2 +- .../grafana-tempo/templates/vulture/pdb.yaml | 2 +- .../templates/vulture/service.yaml | 2 +- .../templates/vulture/servicemonitor.yaml | 2 +- 36 files changed, 45 insertions(+), 45 deletions(-) diff --git a/bitnami/grafana-tempo/templates/NOTES.txt b/bitnami/grafana-tempo/templates/NOTES.txt index 2e26746e02a0fd..a6628d9c339271 100644 --- a/bitnami/grafana-tempo/templates/NOTES.txt +++ b/bitnami/grafana-tempo/templates/NOTES.txt @@ -14,11 +14,11 @@ The chart has been deployed in diagnostic mode. All probes have been disabled an Get the list of pods by executing: - kubectl get pods --namespace {{ .Release.Namespace }} -l app.kubernetes.io/instance={{ .Release.Name }} + kubectl get pods --namespace {{ include "common.names.namespace" . }} -l app.kubernetes.io/instance={{ .Release.Name }} Access the pod you want to debug by executing - kubectl exec --namespace {{ .Release.Namespace }} -ti -- bash + kubectl exec --namespace {{ include "common.names.namespace" . }} -ti -- bash In order to replicate the container startup execute this command: @@ -45,13 +45,13 @@ Installed components: {{- if eq .Values.tempo.deploymentMode "microservices" }} {{- if contains "NodePort" .Values.queryFrontend.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "grafana-tempo.query-frontend.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + export NODE_PORT=$(kubectl get --namespace {{ include "common.names.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "grafana-tempo.query-frontend.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ include "common.names.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.queryFrontend.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ template "common.names.fullname" . }} - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "common.names.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + You can watch the status of by running 'kubectl get --namespace {{ include "common.names.namespace" . }} svc -w {{ template "common.names.fullname" . }} + export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.names.namespace" . }} {{ template "common.names.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.queryFrontend.service.ports.http }} {{- else if contains "ClusterIP" .Values.queryFrontend.service.type }} echo "The Query Frontend is available at http://127.0.0.1:{{ .Values.queryFrontend.service.ports.http }}" @@ -59,13 +59,13 @@ Installed components: {{- end }} {{- else if eq .Values.tempo.deploymentMode "scalingMonolithic" }} {{- if contains "NodePort" .Values.scalingMonolithic.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "grafana-tempo.scaling-monolithic.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + export NODE_PORT=$(kubectl get --namespace {{ include "common.names.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "grafana-tempo.scaling-monolithic.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ include "common.names.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.scalingMonolithic.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ template "common.names.fullname" . }} - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "common.names.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + You can watch the status of by running 'kubectl get --namespace {{ include "common.names.namespace" . }} svc -w {{ template "common.names.fullname" . }} + export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.names.namespace" . }} {{ template "common.names.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.scalingMonolithic.service.ports.http }} {{- else if contains "ClusterIP" .Values.scalingMonolithic.service.type }} echo "The Query Frontend is available at http://127.0.0.1:{{ .Values.scalingMonolithic.service.ports.http }}" diff --git a/bitnami/grafana-tempo/templates/compactor/deployment.yaml b/bitnami/grafana-tempo/templates/compactor/deployment.yaml index 723c5b96d55c1f..330d75d9afbfc2 100644 --- a/bitnami/grafana-tempo/templates/compactor/deployment.yaml +++ b/bitnami/grafana-tempo/templates/compactor/deployment.yaml @@ -8,7 +8,7 @@ apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: name: {{ template "grafana-tempo.compactor.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: compactor {{- if .Values.commonAnnotations }} diff --git a/bitnami/grafana-tempo/templates/compactor/service.yaml b/bitnami/grafana-tempo/templates/compactor/service.yaml index c204cfeb068cc6..8c385497faf1b8 100644 --- a/bitnami/grafana-tempo/templates/compactor/service.yaml +++ b/bitnami/grafana-tempo/templates/compactor/service.yaml @@ -8,7 +8,7 @@ apiVersion: v1 kind: Service metadata: name: {{ template "grafana-tempo.compactor.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: compactor {{- if or .Values.commonAnnotations .Values.compactor.service.annotations }} diff --git a/bitnami/grafana-tempo/templates/compactor/servicemonitor.yaml b/bitnami/grafana-tempo/templates/compactor/servicemonitor.yaml index f68ca7a0c2307d..9d36b577297fdc 100644 --- a/bitnami/grafana-tempo/templates/compactor/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/compactor/servicemonitor.yaml @@ -44,5 +44,5 @@ spec: {{- end }} namespaceSelector: matchNames: - - {{ .Release.Namespace }} + - {{ include "common.names.namespace" . }} {{- end }} diff --git a/bitnami/grafana-tempo/templates/distributor/deployment.yaml b/bitnami/grafana-tempo/templates/distributor/deployment.yaml index 1340793a84cabb..b441bdba98d018 100644 --- a/bitnami/grafana-tempo/templates/distributor/deployment.yaml +++ b/bitnami/grafana-tempo/templates/distributor/deployment.yaml @@ -8,7 +8,7 @@ apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: name: {{ template "grafana-tempo.distributor.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: distributor {{- if .Values.commonAnnotations }} diff --git a/bitnami/grafana-tempo/templates/distributor/service.yaml b/bitnami/grafana-tempo/templates/distributor/service.yaml index 0e0e126ea87e3a..5f915e1d5363e2 100644 --- a/bitnami/grafana-tempo/templates/distributor/service.yaml +++ b/bitnami/grafana-tempo/templates/distributor/service.yaml @@ -8,7 +8,7 @@ apiVersion: v1 kind: Service metadata: name: {{ template "grafana-tempo.distributor.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: distributor {{- if or .Values.commonAnnotations .Values.distributor.service.annotations }} diff --git a/bitnami/grafana-tempo/templates/distributor/servicemonitor.yaml b/bitnami/grafana-tempo/templates/distributor/servicemonitor.yaml index edafebef2e56fb..33939d47400f95 100644 --- a/bitnami/grafana-tempo/templates/distributor/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/distributor/servicemonitor.yaml @@ -44,5 +44,5 @@ spec: {{- end }} namespaceSelector: matchNames: - - {{ .Release.Namespace }} + - {{ include "common.names.namespace" . }} {{- end }} diff --git a/bitnami/grafana-tempo/templates/gossip-ring-headless-service.yaml b/bitnami/grafana-tempo/templates/gossip-ring-headless-service.yaml index 63ec7cf2732c7f..414ba93e1ce725 100644 --- a/bitnami/grafana-tempo/templates/gossip-ring-headless-service.yaml +++ b/bitnami/grafana-tempo/templates/gossip-ring-headless-service.yaml @@ -7,7 +7,7 @@ apiVersion: v1 kind: Service metadata: name: {{ template "grafana-tempo.gossip-ring.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: tempo {{- if or .Values.commonAnnotations .Values.tempo.gossipRing.service.annotations }} diff --git a/bitnami/grafana-tempo/templates/ingester/service.yaml b/bitnami/grafana-tempo/templates/ingester/service.yaml index 897b52379d32b7..a8e2bce4eccad1 100644 --- a/bitnami/grafana-tempo/templates/ingester/service.yaml +++ b/bitnami/grafana-tempo/templates/ingester/service.yaml @@ -8,7 +8,7 @@ apiVersion: v1 kind: Service metadata: name: {{ template "grafana-tempo.ingester.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: ingester {{- if or .Values.commonAnnotations .Values.ingester.service.annotations }} diff --git a/bitnami/grafana-tempo/templates/ingester/servicemonitor.yaml b/bitnami/grafana-tempo/templates/ingester/servicemonitor.yaml index c17970d6e31d2e..de47a160045d14 100644 --- a/bitnami/grafana-tempo/templates/ingester/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/ingester/servicemonitor.yaml @@ -44,5 +44,5 @@ spec: {{- end }} namespaceSelector: matchNames: - - {{ .Release.Namespace }} + - {{ include "common.names.namespace" . }} {{- end }} diff --git a/bitnami/grafana-tempo/templates/ingester/statefulset.yaml b/bitnami/grafana-tempo/templates/ingester/statefulset.yaml index 380151c313d658..d0067fc3832c4c 100644 --- a/bitnami/grafana-tempo/templates/ingester/statefulset.yaml +++ b/bitnami/grafana-tempo/templates/ingester/statefulset.yaml @@ -8,7 +8,7 @@ apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }} kind: StatefulSet metadata: name: {{ template "grafana-tempo.ingester.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: ingester {{- if .Values.commonAnnotations }} diff --git a/bitnami/grafana-tempo/templates/metrics-generator/deployment.yaml b/bitnami/grafana-tempo/templates/metrics-generator/deployment.yaml index 6ff3af79cb4cd3..8c650723fcd15f 100644 --- a/bitnami/grafana-tempo/templates/metrics-generator/deployment.yaml +++ b/bitnami/grafana-tempo/templates/metrics-generator/deployment.yaml @@ -8,7 +8,7 @@ apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: name: {{ template "grafana-tempo.metrics-generator.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: metrics-generator {{- if .Values.commonAnnotations }} diff --git a/bitnami/grafana-tempo/templates/metrics-generator/pdb.yaml b/bitnami/grafana-tempo/templates/metrics-generator/pdb.yaml index f66f07f70bba1f..fe2dddc02243d2 100644 --- a/bitnami/grafana-tempo/templates/metrics-generator/pdb.yaml +++ b/bitnami/grafana-tempo/templates/metrics-generator/pdb.yaml @@ -8,7 +8,7 @@ apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget metadata: name: {{ template "grafana-tempo.metrics-generator.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: metrics-generator {{- if .Values.commonAnnotations }} diff --git a/bitnami/grafana-tempo/templates/metrics-generator/service.yaml b/bitnami/grafana-tempo/templates/metrics-generator/service.yaml index 78c6973aa75c52..7a0115a3cbd55c 100644 --- a/bitnami/grafana-tempo/templates/metrics-generator/service.yaml +++ b/bitnami/grafana-tempo/templates/metrics-generator/service.yaml @@ -8,7 +8,7 @@ apiVersion: v1 kind: Service metadata: name: {{ template "grafana-tempo.metrics-generator.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: metrics-generator {{- if or .Values.commonAnnotations .Values.metricsGenerator.service.annotations }} diff --git a/bitnami/grafana-tempo/templates/metrics-generator/servicemonitor.yaml b/bitnami/grafana-tempo/templates/metrics-generator/servicemonitor.yaml index e9e2728781ba3b..66eb3b11aa3825 100644 --- a/bitnami/grafana-tempo/templates/metrics-generator/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/metrics-generator/servicemonitor.yaml @@ -44,5 +44,5 @@ spec: {{- end }} namespaceSelector: matchNames: - - {{ .Release.Namespace }} + - {{ include "common.names.namespace" . }} {{- end }} diff --git a/bitnami/grafana-tempo/templates/overrides-configmap.yaml b/bitnami/grafana-tempo/templates/overrides-configmap.yaml index e4f1df45706089..052c0b3f5efeb1 100644 --- a/bitnami/grafana-tempo/templates/overrides-configmap.yaml +++ b/bitnami/grafana-tempo/templates/overrides-configmap.yaml @@ -7,7 +7,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: {{ template "common.names.fullname" . }}-overrides - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: tempo {{- if .Values.commonAnnotations }} diff --git a/bitnami/grafana-tempo/templates/querier/deployment.yaml b/bitnami/grafana-tempo/templates/querier/deployment.yaml index 54e3bd70719567..f8486b108ac593 100644 --- a/bitnami/grafana-tempo/templates/querier/deployment.yaml +++ b/bitnami/grafana-tempo/templates/querier/deployment.yaml @@ -8,7 +8,7 @@ apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: name: {{ template "grafana-tempo.querier.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: querier {{- if .Values.commonAnnotations }} diff --git a/bitnami/grafana-tempo/templates/querier/pdb.yaml b/bitnami/grafana-tempo/templates/querier/pdb.yaml index 514973123e0e9a..45bde73cd416ba 100644 --- a/bitnami/grafana-tempo/templates/querier/pdb.yaml +++ b/bitnami/grafana-tempo/templates/querier/pdb.yaml @@ -8,7 +8,7 @@ apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget metadata: name: {{ template "grafana-tempo.querier.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: querier {{- if .Values.commonAnnotations }} diff --git a/bitnami/grafana-tempo/templates/querier/service.yaml b/bitnami/grafana-tempo/templates/querier/service.yaml index 8e2ab183d9830f..5ff6d52985ebee 100644 --- a/bitnami/grafana-tempo/templates/querier/service.yaml +++ b/bitnami/grafana-tempo/templates/querier/service.yaml @@ -8,7 +8,7 @@ apiVersion: v1 kind: Service metadata: name: {{ template "grafana-tempo.querier.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: querier {{- if or .Values.commonAnnotations .Values.querier.service.annotations }} diff --git a/bitnami/grafana-tempo/templates/querier/servicemonitor.yaml b/bitnami/grafana-tempo/templates/querier/servicemonitor.yaml index 6681e54617430f..8e0a4049c16078 100644 --- a/bitnami/grafana-tempo/templates/querier/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/querier/servicemonitor.yaml @@ -44,5 +44,5 @@ spec: {{- end }} namespaceSelector: matchNames: - - {{ .Release.Namespace }} + - {{ include "common.names.namespace" . }} {{- end }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/deployment.yaml b/bitnami/grafana-tempo/templates/query-frontend/deployment.yaml index 0616c0d58f8f44..7cd17da784269d 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/deployment.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/deployment.yaml @@ -8,7 +8,7 @@ apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: name: {{ template "grafana-tempo.query-frontend.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.queryFrontend.query.image "chart" .Chart ) ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/headless-service.yaml b/bitnami/grafana-tempo/templates/query-frontend/headless-service.yaml index dab8216e9246dc..9ce8c907a8f6c3 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/headless-service.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/headless-service.yaml @@ -8,7 +8,7 @@ apiVersion: v1 kind: Service metadata: name: {{ template "grafana-tempo.query-frontend.fullname" . }}-headless - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.queryFrontend.query.image "chart" .Chart ) ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/pdb.yaml b/bitnami/grafana-tempo/templates/query-frontend/pdb.yaml index 39433083a709b0..b6f720d042428a 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/pdb.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/pdb.yaml @@ -8,7 +8,7 @@ apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget metadata: name: {{ template "grafana-tempo.query-frontend.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.queryFrontend.query.image "chart" .Chart ) ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/query-configmap.yaml b/bitnami/grafana-tempo/templates/query-frontend/query-configmap.yaml index 2bc4c9807967c6..c0b30c26144272 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/query-configmap.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/query-configmap.yaml @@ -8,7 +8,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: {{ template "grafana-tempo.query-frontend.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.queryFrontend.query.image "chart" .Chart ) ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/service.yaml b/bitnami/grafana-tempo/templates/query-frontend/service.yaml index 7ca53eaa03d34b..161a4aa07cbb51 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/service.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/service.yaml @@ -8,7 +8,7 @@ apiVersion: v1 kind: Service metadata: name: {{ template "grafana-tempo.query-frontend.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.queryFrontend.query.image "chart" .Chart ) ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} diff --git a/bitnami/grafana-tempo/templates/query-frontend/servicemonitor.yaml b/bitnami/grafana-tempo/templates/query-frontend/servicemonitor.yaml index 7f5d3a8b060d0b..e2403f0384a7e6 100644 --- a/bitnami/grafana-tempo/templates/query-frontend/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/query-frontend/servicemonitor.yaml @@ -45,5 +45,5 @@ spec: {{- end }} namespaceSelector: matchNames: - - {{ .Release.Namespace }} + - {{ include "common.names.namespace" . }} {{- end }} diff --git a/bitnami/grafana-tempo/templates/scaling-monolithic/headless-service.yaml b/bitnami/grafana-tempo/templates/scaling-monolithic/headless-service.yaml index fec722feafd373..f9c2c54204b0ef 100644 --- a/bitnami/grafana-tempo/templates/scaling-monolithic/headless-service.yaml +++ b/bitnami/grafana-tempo/templates/scaling-monolithic/headless-service.yaml @@ -8,7 +8,7 @@ apiVersion: v1 kind: Service metadata: name: {{ template "grafana-tempo.scaling-monolithic.fullname" . }}-headless - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.scalingMonolithic.query.image "chart" .Chart ) ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} diff --git a/bitnami/grafana-tempo/templates/scaling-monolithic/service.yaml b/bitnami/grafana-tempo/templates/scaling-monolithic/service.yaml index 5d9bac53456052..d8af63e9df11d7 100644 --- a/bitnami/grafana-tempo/templates/scaling-monolithic/service.yaml +++ b/bitnami/grafana-tempo/templates/scaling-monolithic/service.yaml @@ -8,7 +8,7 @@ apiVersion: v1 kind: Service metadata: name: {{ template "grafana-tempo.scaling-monolithic.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: scaling-monolithic {{- if or .Values.commonAnnotations .Values.scalingMonolithic.service.annotations }} diff --git a/bitnami/grafana-tempo/templates/scaling-monolithic/servicemonitor.yaml b/bitnami/grafana-tempo/templates/scaling-monolithic/servicemonitor.yaml index 2c1c99764e8b2b..33b119ca673461 100644 --- a/bitnami/grafana-tempo/templates/scaling-monolithic/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/scaling-monolithic/servicemonitor.yaml @@ -45,6 +45,6 @@ spec: {{- end }} namespaceSelector: matchNames: - - {{ .Release.Namespace }} + - {{ include "common.names.namespace" . }} {{- end }} {{- end }} diff --git a/bitnami/grafana-tempo/templates/scaling-monolithic/statefulset.yaml b/bitnami/grafana-tempo/templates/scaling-monolithic/statefulset.yaml index e8e2ad61a6dbf7..7229118671fd7d 100644 --- a/bitnami/grafana-tempo/templates/scaling-monolithic/statefulset.yaml +++ b/bitnami/grafana-tempo/templates/scaling-monolithic/statefulset.yaml @@ -8,7 +8,7 @@ apiVersion: {{ include "common.capabilities.statefulset.apiVersion" . }} kind: StatefulSet metadata: name: {{ template "grafana-tempo.scaling-monolithic.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: scaling-monolithic {{- if .Values.commonAnnotations }} diff --git a/bitnami/grafana-tempo/templates/service-account.yaml b/bitnami/grafana-tempo/templates/service-account.yaml index 371973d008207c..a70b9dd143fce6 100644 --- a/bitnami/grafana-tempo/templates/service-account.yaml +++ b/bitnami/grafana-tempo/templates/service-account.yaml @@ -8,7 +8,7 @@ apiVersion: v1 kind: ServiceAccount metadata: name: {{ template "grafana-tempo.serviceAccountName" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: tempo {{- if or .Values.commonAnnotations .Values.serviceAccount.annotations }} diff --git a/bitnami/grafana-tempo/templates/tempo-configmap.yaml b/bitnami/grafana-tempo/templates/tempo-configmap.yaml index d6e87ccb5394f2..8609251639a694 100644 --- a/bitnami/grafana-tempo/templates/tempo-configmap.yaml +++ b/bitnami/grafana-tempo/templates/tempo-configmap.yaml @@ -7,7 +7,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: {{ template "common.names.fullname" . }}-tempo - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} labels: {{- include "common.labels.standard" ( dict "customLabels" .Values.commonLabels "context" $ ) | nindent 4 }} app.kubernetes.io/component: tempo {{- if .Values.commonAnnotations }} diff --git a/bitnami/grafana-tempo/templates/vulture/deployment.yaml b/bitnami/grafana-tempo/templates/vulture/deployment.yaml index 87cffc3d89fa95..130da4a45c57a2 100644 --- a/bitnami/grafana-tempo/templates/vulture/deployment.yaml +++ b/bitnami/grafana-tempo/templates/vulture/deployment.yaml @@ -8,7 +8,7 @@ apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }} kind: Deployment metadata: name: {{ template "grafana-tempo.vulture.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.vulture.image "chart" .Chart ) ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} diff --git a/bitnami/grafana-tempo/templates/vulture/pdb.yaml b/bitnami/grafana-tempo/templates/vulture/pdb.yaml index ce65e24ac56071..0fc55c30d61a83 100644 --- a/bitnami/grafana-tempo/templates/vulture/pdb.yaml +++ b/bitnami/grafana-tempo/templates/vulture/pdb.yaml @@ -8,7 +8,7 @@ apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget metadata: name: {{ template "grafana-tempo.vulture.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.vulture.image "chart" .Chart ) ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} diff --git a/bitnami/grafana-tempo/templates/vulture/service.yaml b/bitnami/grafana-tempo/templates/vulture/service.yaml index d47728de1b9e89..35c47e5fbe8523 100644 --- a/bitnami/grafana-tempo/templates/vulture/service.yaml +++ b/bitnami/grafana-tempo/templates/vulture/service.yaml @@ -8,7 +8,7 @@ apiVersion: v1 kind: Service metadata: name: {{ template "grafana-tempo.vulture.fullname" . }} - namespace: {{ .Release.Namespace | quote }} + namespace: {{ include "common.names.namespace" . | quote }} {{- $versionLabel := dict "app.kubernetes.io/version" ( include "common.images.version" ( dict "imageRoot" .Values.vulture.image "chart" .Chart ) ) }} {{- $labels := include "common.tplvalues.merge" ( dict "values" ( list .Values.commonLabels $versionLabel ) "context" . ) }} labels: {{- include "common.labels.standard" ( dict "customLabels" $labels "context" $ ) | nindent 4 }} diff --git a/bitnami/grafana-tempo/templates/vulture/servicemonitor.yaml b/bitnami/grafana-tempo/templates/vulture/servicemonitor.yaml index 2959c3a66e74cb..51a624b7803b57 100644 --- a/bitnami/grafana-tempo/templates/vulture/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/vulture/servicemonitor.yaml @@ -45,5 +45,5 @@ spec: {{- end }} namespaceSelector: matchNames: - - {{ .Release.Namespace }} + - {{ include "common.names.namespace" . }} {{- end }} From 10730d6c1a4300ad1c16be1c2d4f23de3f9a3579 Mon Sep 17 00:00:00 2001 From: Zhang Xin Date: Sun, 19 Jan 2025 10:05:49 +0800 Subject: [PATCH 05/11] allow to define extra ports for headless service specifically Signed-off-by: Zhang Xin --- .../scaling-monolithic/headless-service.yaml | 61 +------------------ bitnami/grafana-tempo/values.yaml | 5 +- 2 files changed, 6 insertions(+), 60 deletions(-) diff --git a/bitnami/grafana-tempo/templates/scaling-monolithic/headless-service.yaml b/bitnami/grafana-tempo/templates/scaling-monolithic/headless-service.yaml index f9c2c54204b0ef..5390cd35a0af52 100644 --- a/bitnami/grafana-tempo/templates/scaling-monolithic/headless-service.yaml +++ b/bitnami/grafana-tempo/templates/scaling-monolithic/headless-service.yaml @@ -31,65 +31,8 @@ spec: port: {{ .Values.scalingMonolithic.service.ports.grpc }} targetPort: grpc protocol: TCP - ## From here we use non-configurable, standard ports - {{- if .Values.tempo.traces.jaeger.thriftCompact }} - - name: distributor-jaeger-thrift-compact - port: 6831 - protocol: UDP - targetPort: jaeger-compact - {{- end }} - {{- if .Values.tempo.traces.jaeger.thriftBinary }} - - name: distributor-jaeger-thrift-binary - port: 6832 - protocol: UDP - targetPort: jaeger-binary - {{- end }} - {{- if .Values.tempo.traces.jaeger.thriftHttp }} - - name: distributor-jaeger-thrift-http - port: 14268 - protocol: TCP - targetPort: jaeger-http - {{- end }} - {{- if .Values.tempo.traces.jaeger.grpc }} - - name: distributor-jaeger-grpc - port: 14250 - protocol: TCP - targetPort: jaeger-grpc - {{- end }} - {{- if .Values.tempo.traces.zipkin }} - - name: distributor-zipkin - port: 9411 - protocol: TCP - targetPort: zipkin - {{- end }} - {{- if .Values.tempo.traces.otlp.http }} - - name: distributor-otlp-http - port: 4318 - protocol: TCP - targetPort: otlp-http - - name: distributor-otlp-http-legacy - port: 55681 - protocol: TCP - targetPort: otlp-http - {{- end }} - {{- if .Values.tempo.traces.otlp.grpc }} - - name: distributor-otlp-grpc - port: 4317 - protocol: TCP - targetPort: otlp-grpc - - name: distributor-otlp-grpc-legacy - port: 55680 - protocol: TCP - targetPort: otlp-grpc - {{- end }} - {{- if .Values.tempo.traces.opencensus }} - - name: distributor-opencensus - port: 55678 - protocol: TCP - targetPort: opencensus - {{- end }} - {{- if .Values.scalingMonolithic.service.extraPorts }} - {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.service.extraPorts "context" $) | nindent 4 }} + {{- if .Values.scalingMonolithic.service.headless.extraPorts }} + {{- include "common.tplvalues.render" (dict "value" .Values.scalingMonolithic.service.headless.extraPorts "context" $) | nindent 4 }} {{- end }} {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.scalingMonolithic.podLabels .Values.commonLabels ) "context" . ) }} selector: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 4 }} diff --git a/bitnami/grafana-tempo/values.yaml b/bitnami/grafana-tempo/values.yaml index 1661d9082b65dc..cf710979b18bbf 100644 --- a/bitnami/grafana-tempo/values.yaml +++ b/bitnami/grafana-tempo/values.yaml @@ -3259,9 +3259,12 @@ scalingMonolithic: ## Headless service properties ## headless: - ## @param scalingMonolithic.service.headless.annotations Annotations for the headless service. + ## @param scalingMonolithic.service.headless.annotations Annotations for the scalingMonolithic headless service. ## annotations: {} + ## @param scalingMonolithic.service.headless.extraPorts Extra ports to expose in the scalingMonolithic headless service + ## + extraPorts: [] ## Network Policies ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/ ## From 352393635cbe908aa9bb701eceb4b09d77a3bddd Mon Sep 17 00:00:00 2001 From: Zhang Xin Date: Sun, 19 Jan 2025 10:16:04 +0800 Subject: [PATCH 06/11] add validation of deploymentMode Signed-off-by: Zhang Xin --- bitnami/grafana-tempo/templates/_helpers.tpl | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bitnami/grafana-tempo/templates/_helpers.tpl b/bitnami/grafana-tempo/templates/_helpers.tpl index 7c4b1de4ead021..47020d9f88ba62 100644 --- a/bitnami/grafana-tempo/templates/_helpers.tpl +++ b/bitnami/grafana-tempo/templates/_helpers.tpl @@ -190,6 +190,7 @@ Compile all warnings into a single message. */}} {{- define "grafana-tempo.validateValues" -}} {{- $messages := list -}} +{{- $messages := append $messages (include "grafana-tempo.validateValues.deploymentMode" .) -}} {{- $messages := append $messages (include "grafana-tempo.validateValues.vulture" .) -}} {{- $messages := append $messages (include "grafana-tempo.validateValues.memcached" .) -}} {{- $messages := without $messages "" -}} @@ -200,6 +201,14 @@ Compile all warnings into a single message. {{- end -}} {{- end -}} +{{/* Validate values of Grafana Tempo - DeploymentMode */}} +{{- define "grafana-tempo.validateValues.deploymentMode" -}} +{{- if and (ne .Values.tempo.deploymentMode "microservices") (ne .Values.tempo.deploymentMode "scalingMonolithic") }} +grafana-tempo: DeploymentMode + Allowed deploymentMode values are 'microservices' and 'scalingMonolithic'. Found: {{ .Values.tempo.deploymentMode }} +{{- end }} +{{- end -}} + {{/* Validate values of Grafana Tempo - Memcached */}} {{- define "grafana-tempo.validateValues.vulture" -}} {{- if not (and .Values.vulture.enabled .Values.tempo.traces.jaeger.grpc) -}} From 0494f299a2e65f15ac66d497c2857e172c9f168b Mon Sep 17 00:00:00 2001 From: Zhang Xin Date: Sun, 19 Jan 2025 10:35:55 +0800 Subject: [PATCH 07/11] update Signed-off-by: Zhang Xin --- .../templates/scaling-monolithic/networkpolicy.yaml | 4 +--- bitnami/grafana-tempo/templates/scaling-monolithic/pdb.yaml | 4 +--- .../templates/scaling-monolithic/servicemonitor.yaml | 4 +--- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/bitnami/grafana-tempo/templates/scaling-monolithic/networkpolicy.yaml b/bitnami/grafana-tempo/templates/scaling-monolithic/networkpolicy.yaml index 6e9780e5ef1571..7a39888c59d5fd 100644 --- a/bitnami/grafana-tempo/templates/scaling-monolithic/networkpolicy.yaml +++ b/bitnami/grafana-tempo/templates/scaling-monolithic/networkpolicy.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "scalingMonolithic" }} -{{- if .Values.scalingMonolithic.networkPolicy.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "scalingMonolithic") .Values.scalingMonolithic.networkPolicy.enabled }} kind: NetworkPolicy apiVersion: {{ include "common.capabilities.networkPolicy.apiVersion" . }} metadata: @@ -123,4 +122,3 @@ spec: {{- include "common.tplvalues.render" ( dict "value" .Values.scalingMonolithic.networkPolicy.extraIngress "context" $ ) | nindent 4 }} {{- end }} {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/scaling-monolithic/pdb.yaml b/bitnami/grafana-tempo/templates/scaling-monolithic/pdb.yaml index a080a5dd0f1f66..bb3207cf84dbd3 100644 --- a/bitnami/grafana-tempo/templates/scaling-monolithic/pdb.yaml +++ b/bitnami/grafana-tempo/templates/scaling-monolithic/pdb.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "scalingMonolithic" }} -{{- if .Values.scalingMonolithic.pdb.create }} +{{- if and (eq .Values.tempo.deploymentMode "scalingMonolithic") .Values.scalingMonolithic.pdb.create }} apiVersion: {{ include "common.capabilities.policy.apiVersion" . }} kind: PodDisruptionBudget metadata: @@ -27,4 +26,3 @@ spec: matchLabels: {{- include "common.labels.matchLabels" ( dict "customLabels" $podLabels "context" $ ) | nindent 6 }} app.kubernetes.io/component: scaling-monolithic {{- end }} -{{- end }} diff --git a/bitnami/grafana-tempo/templates/scaling-monolithic/servicemonitor.yaml b/bitnami/grafana-tempo/templates/scaling-monolithic/servicemonitor.yaml index 33b119ca673461..2d03e80cf43265 100644 --- a/bitnami/grafana-tempo/templates/scaling-monolithic/servicemonitor.yaml +++ b/bitnami/grafana-tempo/templates/scaling-monolithic/servicemonitor.yaml @@ -3,8 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved. SPDX-License-Identifier: APACHE-2.0 */}} -{{- if eq .Values.tempo.deploymentMode "scalingMonolithic" }} -{{- if and .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} +{{- if and (eq .Values.tempo.deploymentMode "scalingMonolithic") .Values.metrics.enabled .Values.metrics.serviceMonitor.enabled }} apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: @@ -47,4 +46,3 @@ spec: matchNames: - {{ include "common.names.namespace" . }} {{- end }} -{{- end }} From 188d37862b809736a4478fdaf002e3188464b9aa Mon Sep 17 00:00:00 2001 From: Bitnami Containers Date: Sun, 19 Jan 2025 02:49:05 +0000 Subject: [PATCH 08/11] Update CHANGELOG.md Signed-off-by: Bitnami Containers --- bitnami/grafana-tempo/CHANGELOG.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bitnami/grafana-tempo/CHANGELOG.md b/bitnami/grafana-tempo/CHANGELOG.md index 8a4214182359df..9aded6da0b8006 100644 --- a/bitnami/grafana-tempo/CHANGELOG.md +++ b/bitnami/grafana-tempo/CHANGELOG.md @@ -1,8 +1,12 @@ # Changelog -## 3.8.3 (2025-01-17) +## 3.9.0 (2025-01-19) -* [bitnami/grafana-tempo] Release 3.8.3 ([#31423](https://github.com/bitnami/charts/pull/31423)) +* [bitnami/grafana-tempo] support new deployment mode: scaling-monolithic ([#31028](https://github.com/bitnami/charts/pull/31028)) + +## 3.8.3 (2025-01-17) + +* [bitnami/grafana-tempo] Release 3.8.3 (#31423) ([e30df1e](https://github.com/bitnami/charts/commit/e30df1e7e90673f0e80a30dafff3e98271434401)), closes [#31423](https://github.com/bitnami/charts/issues/31423) ## 3.8.2 (2025-01-14) From 86c15da9935e4c0aa4a7027aeb84fef345c954fb Mon Sep 17 00:00:00 2001 From: Bitnami Containers Date: Sun, 19 Jan 2025 02:49:07 +0000 Subject: [PATCH 09/11] Update README.md with readme-generator-for-helm Signed-off-by: Bitnami Containers --- bitnami/grafana-tempo/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bitnami/grafana-tempo/README.md b/bitnami/grafana-tempo/README.md index 35447780d42cc5..ab160976ca52f7 100644 --- a/bitnami/grafana-tempo/README.md +++ b/bitnami/grafana-tempo/README.md @@ -1078,7 +1078,8 @@ The [Bitnami grafana-tempo](https://github.com/bitnami/containers/tree/main/bitn | `scalingMonolithic.service.externalTrafficPolicy` | scalingMonolithic service external traffic policy | `Cluster` | | `scalingMonolithic.service.annotations` | Additional custom annotations for scalingMonolithic service | `{}` | | `scalingMonolithic.service.extraPorts` | Extra ports to expose in the scalingMonolithic service | `[]` | -| `scalingMonolithic.service.headless.annotations` | Annotations for the headless service. | `{}` | +| `scalingMonolithic.service.headless.annotations` | Annotations for the scalingMonolithic headless service. | `{}` | +| `scalingMonolithic.service.headless.extraPorts` | Extra ports to expose in the scalingMonolithic headless service | `[]` | | `scalingMonolithic.networkPolicy.enabled` | Specifies whether a NetworkPolicy should be created | `true` | | `scalingMonolithic.networkPolicy.allowExternal` | Don't require server label for connections | `true` | | `scalingMonolithic.networkPolicy.allowExternalEgress` | Allow the pod to access any range of port and all destinations. | `true` | From 4abcfd8c3069eecfa781b4a71d4f984bc399ff38 Mon Sep 17 00:00:00 2001 From: Bitnami Containers Date: Fri, 31 Jan 2025 07:49:12 +0000 Subject: [PATCH 10/11] Update CHANGELOG.md Signed-off-by: Bitnami Containers --- bitnami/grafana-tempo/CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/grafana-tempo/CHANGELOG.md b/bitnami/grafana-tempo/CHANGELOG.md index 052e7c57c0bfc7..0c62cc5fafd799 100644 --- a/bitnami/grafana-tempo/CHANGELOG.md +++ b/bitnami/grafana-tempo/CHANGELOG.md @@ -1,12 +1,12 @@ # Changelog -## 3.9.0 (2025-01-19) +## 3.9.0 (2025-01-31) * [bitnami/grafana-tempo] support new deployment mode: scaling-monolithic ([#31028](https://github.com/bitnami/charts/pull/31028)) ## 3.8.4 (2025-01-24) -* [bitnami/grafana-tempo] Release 3.8.4 ([#31557](https://github.com/bitnami/charts/pull/31557)) +* [bitnami/grafana-tempo] Release 3.8.4 (#31557) ([b291adb](https://github.com/bitnami/charts/commit/b291adb57d77f42c00903a6bdf0f6e3fd82842c6)), closes [#31557](https://github.com/bitnami/charts/issues/31557) ## 3.8.3 (2025-01-17) From 065ce76c40a28ce62e7071c0d598492b6163178e Mon Sep 17 00:00:00 2001 From: Bitnami Containers Date: Sun, 16 Feb 2025 01:37:46 +0000 Subject: [PATCH 11/11] Update CHANGELOG.md Signed-off-by: Bitnami Containers --- bitnami/grafana-tempo/CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bitnami/grafana-tempo/CHANGELOG.md b/bitnami/grafana-tempo/CHANGELOG.md index 19e851cb3e68ef..5cbc00f1af76f7 100644 --- a/bitnami/grafana-tempo/CHANGELOG.md +++ b/bitnami/grafana-tempo/CHANGELOG.md @@ -1,13 +1,13 @@ # Changelog - -## 3.9.0 (2025-01-31) +## 3.9.0 (2025-02-16) * [bitnami/grafana-tempo] support new deployment mode: scaling-monolithic ([#31028](https://github.com/bitnami/charts/pull/31028)) ## 3.8.6 (2025-02-14) -* [bitnami/grafana-tempo] Release 3.8.6 ([#31936](https://github.com/bitnami/charts/pull/31936)) +* [bitnami/*] Use CDN url for the Bitnami Application Icons (#31881) ([d9bb11a](https://github.com/bitnami/charts/commit/d9bb11a9076b9bfdcc70ea022c25ef50e9713657)), closes [#31881](https://github.com/bitnami/charts/issues/31881) +* [bitnami/grafana-tempo] Release 3.8.6 (#31936) ([3032c3c](https://github.com/bitnami/charts/commit/3032c3c4b84eb75e2b6e1e0370ef4635d5976aa8)), closes [#31936](https://github.com/bitnami/charts/issues/31936) ## 3.8.5 (2025-02-04)