Skip to content

Conversation

@Ashish-Kumar-Dash
Copy link

@Ashish-Kumar-Dash Ashish-Kumar-Dash commented Jul 31, 2025

Description

This pull request introduces a fully-featured, production-ready Helm chart for deploying the Eclipse Mosquitto MQTT broker.

Problem Addressed

The repository lacked a Helm chart for Mosquitto. This PR provides a modular, configurable, and Kubernetes-native way to deploy Mosquitto using Helm.

Features Added

  • Templated:
    • Deployment, Service, ConfigMap, Secret, PersistentVolumeClaim
  • Support for:
    • Basic authentication via Secrets
    • TLS via mounted certs
    • Persistent storage and configurable volume paths
    • Custom mosquitto.conf injection via ConfigMap
    • Helm best practices including NOTES.txt, metadata, labels, etc.
  • Functional options for:
    • Replicas, resource requests/limits, node selectors, etc.
    • Enabling/disabling TLS and persistence
  • Included test-values.yaml for dry-run verification
  • Added NOTES.txt for post-install user guidance

⚠️ Note: Helm or Kubernetes was not installed locally. Instead, validation was performed via:

  • helm lint
  • helm template with test-values.yaml
  • GitHub Actions CI workflow
    All testing was aligned with the repository’s CONTRIBUTING.md guidelines.

Type of Change

  • New feature
  • Documentation update
  • Chart configuration update

Checklist

  • I have performed a self-review of my code
  • I have added tests proving my fix/feature (test-values.yaml, GitHub CI)
  • My changes generate no new warnings
  • I have updated documentation accordingly (README.md, NOTES.txt)
  • Code and chart conform to Helm best practices
  • helm lint passes without errors

@arunesh-j Kindly review and let me know if any changes are needed, If validation via helm and Kubernetes is required kindly inform
Thank you

@@ -0,0 +1,10 @@
apiVersion: v1
Copy link
Collaborator

Choose a reason for hiding this comment

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

need to use apiVersion v2

size: 1Gi

# Authentication
auth:
Copy link
Collaborator

Choose a reason for hiding this comment

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

we should now take password as input it shoudl be generated as radmon string inside helm chart

@Ashish-Kumar-Dash
Copy link
Author

implemented the changes you advised @PiyushSingh-ZS , can you test and let me know if any changes are needed?
Thank you

@Ashish-Kumar-Dash
Copy link
Author

hey @PiyushSingh-ZS @arunesh-j can you kindly review this PR its been 2 weeks since last review ...

@PiyushSingh-ZS
Copy link
Collaborator

@Ashish-Kumar-Dash testing the helm chart, will update you with review and test results

@Ashish-Kumar-Dash
Copy link
Author

@PiyushSingh-ZS @arunesh-j Kindly review and let me know if any more changes are needed,
Thanks

@Ashish-Kumar-Dash
Copy link
Author

Ashish-Kumar-Dash commented Aug 24, 2025

@Ashish-Kumar-Dash testing the helm chart, will update you with review and test results

Hey can you kindly provide an update on this? What was the result? @PiyushSingh-ZS

@@ -0,0 +1,11 @@
diskSize : "10Gi"

Copy link
Contributor

Choose a reason for hiding this comment

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

can you add a field "version" so that we can use the same image with different tag

spec:
containers:
- name: mosquitto
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
Copy link
Contributor

Choose a reason for hiding this comment

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

These are not present in the values.yaml

only add version as dynamic and add the image statically

@Ashish-Kumar-Dash
Copy link
Author

can you kindly review again

@gizmo-rt
Copy link

@arunesh-j @PiyushSingh-ZS FYI ^

@arunesh-j
Copy link
Contributor

@Ashish-Kumar-Dash Thanks for your update, will test the chart and let you know for the changes ASAP.

Copy link
Contributor

@arunesh-j arunesh-j left a comment

Choose a reason for hiding this comment

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

Kindly check all the templates in the chart so that if any values that are referred, which is not present in the values.yaml can be updated with the default values.

Also add a configmap which should have all the connection details and if there is any password for connection that can be added in the secrets.

@@ -0,0 +1,18 @@
{{- if .Values.persistence.enabled }}
Copy link
Contributor

Choose a reason for hiding this comment

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

This is not present in values.yaml

we can remove this check and make it enabled in default

@@ -0,0 +1,15 @@
{{- if .Values.auth.enabled }}
Copy link
Contributor

Choose a reason for hiding this comment

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

This is not present in values.yaml

we can remove this check and make it enabled in default

@Ashish-Kumar-Dash
Copy link
Author

Ashish-Kumar-Dash commented Sep 1, 2025

hey @arunesh-j @gizmo-rt I have updated with default values & presets, kindly review again at your convenience & let me know if any changes are needed,
Thank you

@Ashish-Kumar-Dash
Copy link
Author

kidnly review pls @arunesh-j

@Ashish-Kumar-Dash
Copy link
Author

kindly review @arunesh-j

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants