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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added helm-releases/pai-0.3.0.tgz
Binary file not shown.
9 changes: 0 additions & 9 deletions helm/Chart.lock

This file was deleted.

13 changes: 1 addition & 12 deletions helm/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,11 @@ apiVersion: v2
name: parseable
description: Helm chart for Parseable OSS version. Columnar data lake platform - purpose built for observability
type: application
version: 2.8.2
version: 3.0.0
appVersion: "v2.8.0"
icon: "https://raw.githubusercontent.com/parseablehq/.github/main/images/logo.svg"

maintainers:
- name: Parseable Team
email: hi@parseable.com
url: https://parseable.com

dependencies:
- name: vector
version: 0.20.1
repository: https://helm.vector.dev
condition: vector.enabled
- name: fluent-bit
version: 0.48.0
repository: https://fluent.github.io/helm-charts
condition: fluent-bit.enabled

40 changes: 39 additions & 1 deletion helm/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,41 @@
# Parseable Helm Chart

Refer the Parseable Helm Chart [documentation ↗︎](https://www.parseable.io/docs/installation/kubernetes-helm)
## Install (standalone, local-store)

```sh
kubectl create secret generic parseable-env-secret \
--from-literal=addr=0.0.0.0:8000 \
--from-literal=username=admin \
--from-literal=password=admin \
--from-literal=staging.dir=/parseable/staging \
--from-literal=fs.dir=/parseable/data

helm install parseable ./ -n parseable --create-namespace
```

## Distributed on a cloud (querier + ingestors)

Create the secret with the keys for your cloud (see the matching values file), then:

```sh
# AWS (S3)
helm install parseable ./ -n parseable --create-namespace -f values-aws.yaml

# GCP (GCS)
helm install parseable ./ -n parseable --create-namespace -f values-gcp.yaml

# Azure (Blob)
helm install parseable ./ -n parseable --create-namespace -f values-azure.yaml
```
Comment on lines +16 to +29

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Add concrete secret creation examples for each cloud provider.

The instruction "Create the secret with the keys for your cloud (see the matching values file)" requires users to cross-reference the values file to determine which keys to create. Including a concrete kubectl create secret example for at least one cloud (similar to the standalone section) would significantly improve usability. For GCP, note that the same secret must also contain the key.json service account key for the credentialFile mount.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@helm/README.md` around lines 16 - 29, The cloud deployment section only says
to “create the secret” without showing the required keys, so update the README
examples around the distributed install instructions to include concrete kubectl
create secret commands for the cloud provider secrets. Use the existing
standalone secret example as the pattern, and make sure the distributed docs
reference the same secret names/keys used by the values files; for the GCP case,
explicitly include key.json in the secret because it is required by the
credentialFile mount.


## Upgrade

```sh
helm upgrade parseable ./ -n parseable -f values.yaml
```
Comment on lines +33 to +35

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Upgrade command will break cloud-specific installs.

helm upgrade parseable ./ -n parseable -f values.yaml uses the chart's default values. Users who installed with -f values-aws.yaml (or GCP/Azure) would have their store, highAvailability, persistence, and secrets configuration overridden with defaults, potentially breaking their deployment. Helm does not automatically reuse values from the previous install.

🔧 Proposed fix
 ## Upgrade
 
 ```sh
-helm upgrade parseable ./ -n parseable -f values.yaml
+helm upgrade parseable ./ -n parseable -f values.yaml          # standalone
+helm upgrade parseable ./ -n parseable -f values-aws.yaml     # AWS
+helm upgrade parseable ./ -n parseable -f values-gcp.yaml     # GCP
+helm upgrade parseable ./ -n parseable -f values-azure.yaml   # Azure
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
```sh
helm upgrade parseable ./ -n parseable -f values.yaml
```
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@helm/README.md` around lines 33 - 35, The Helm upgrade example in the README
is too generic and can overwrite cloud-specific settings; update the upgrade
guidance referenced by the helm upgrade command to show the correct values file
for each deployment variant. Make the instructions explicitly distinguish the
standalone, AWS, GCP, and Azure cases so users reuse the same
environment-specific values used at install time instead of defaulting to
values.yaml.


## Uninstall

```sh
helm uninstall parseable -n parseable
```
Binary file removed helm/charts/fluent-bit-0.48.1.tgz
Binary file not shown.
Binary file removed helm/charts/vector-0.20.1.tgz
Binary file not shown.
52 changes: 0 additions & 52 deletions helm/templates/_helpers_config_logstream.txt

This file was deleted.

13 changes: 5 additions & 8 deletions helm/templates/data-pvc.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{{- if .Values.parseable.persistence.data.enabled }}
{{- $p := .Values.parseable.nodes.standalone.persistence.data }}
{{- if and (not .Values.parseable.highAvailability.enabled) $p.enabled }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
Expand All @@ -7,13 +8,9 @@ metadata:
{{- include "parseable.labels" . | nindent 4 }}
spec:
accessModes:
- {{ .Values.parseable.persistence.data.accessMode | quote }}
- {{ $p.accessMode | quote }}
resources:
requests:
storage: {{ .Values.parseable.persistence.data.size | quote }}
{{- if .Values.parseable.persistence.data.storageClass }}
storageClassName: "{{ .Values.parseable.persistence.data.storageClass }}"
{{- else }}
storageClassName: ""
{{- end }}
storage: {{ $p.size | quote }}
storageClassName: "{{ $p.storageClass }}"
{{- end }}
11 changes: 6 additions & 5 deletions helm/templates/ingestor-service.yaml
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
{{- if eq .Values.parseable.highAvailability.enabled true }}
{{- if .Values.parseable.highAvailability.enabled }}
{{- $node := .Values.parseable.nodes.ingestor }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "parseable.fullname" . }}-ingestor-service
namespace: {{ .Release.Namespace }}
labels:
labels:
{{- include "parseable.labelsSelector" . | nindent 4 }}
spec:
type: {{ $.Values.parseable.highAvailability.ingestor.service.type }}
type: {{ $node.service.type }}
ports:
- port: {{ $.Values.parseable.highAvailability.ingestor.service.port }}
targetPort: {{ .Values.parseable.highAvailability.ingestor.port }}
- port: {{ $node.service.port }}
targetPort: {{ $node.port }}
protocol: TCP
selector:
{{- include "parseable.ingestorLabelsSelector" . | nindent 4 }}
Expand Down
Loading
Loading