Skip to content

Helm Chart Updates and Ingress Support #3484

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

minebaev
Copy link

Description

This MR introduces several improvements to the Helm chart, including version bumps, structural changes, and the addition of Ingress support

Version Updates

  • Chart version bumped from 0.2.0 to 0.3.0
  • App version updated from 1.37.9 to 1.58.0

Deployment Improvements

  • Removed hardcoded namespace references (now should be specified during installation)
  • Restructured labels configuration:
    • Moved deployment.labels to top-level labels
    • Added separate podLabels configuration
  • Added environment variables support via env values
  • Changed container port reference from deployment.containerPort to service.port
  • Simplified probe configuration using toYaml
  • Added resources configuration support

New Features

  • Added full Ingress support with:
    • Configurable annotations
    • TLS configuration
    • Multiple host/path routing
    • Ingress class specification
  • Default example configuration for pwpush.example.com

Configuration Changes

  • Moved all deployment-related values to top-level
  • Added example environment variables (with logins enabled by default)
  • Added commented examples for resource limits and file storage options

Related Issue

#1527

Type of Change

  • 📚 Examples / docs / tutorials / dependencies update
  • 🔧 Bug fix (non-breaking change which fixes an issue)
  • 🥂 Improvement (non-breaking change which improves an existing feature)
  • 🚀 New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to change)
  • 🔐 Security fix

Checklist

  • I've written tests (if applicable) for all new methods and classes that I created. (rake test)
  • I've added documentation as necessary so users can easily use and understand this feature/fix.

Roman Minebaev added 2 commits June 24, 2025 15:14
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Hello @minebaev, thank you for submitting a PR! We will respond as soon as possible.

@pglombardo
Copy link
Owner

Hi @minebaev - thanks for the great PR! I'll look to merge this within the next week.

Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR upgrades the Helm chart to v0.3.0, restructures value mappings, and adds full Ingress support.

  • Bump chart and app versions
  • Refactor values (image, labels, podLabels, env, resources) and update service/deployment templates
  • Introduce a new Ingress template with annotations, TLS, and host/path routing

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
containers/helm/values.yaml Moved deployment fields to top-level (image, labels, podLabels, env, resources) and added ingress config
containers/helm/templates/service.yaml Removed hardcoded namespace and switched to top-level .Values.labels
containers/helm/templates/ingress.yaml Added new Ingress manifest with annotations, className, TLS, and rules
containers/helm/templates/deployment.yaml Updated selector/label handling, added env, .Values.service.port, toYaml probes, and resources
containers/helm/Chart.yaml Bumped version to 0.3.0 and appVersion to "1.58.0"
Comments suppressed due to low confidence (5)

containers/helm/templates/ingress.yaml:29

  • The rules: block is rendered unconditionally. If .Values.ingress.hosts is empty, this produces an invalid Ingress YAML. Wrap the rules section in an if check or ensure a default host entry is provided.
  rules:

containers/helm/templates/ingress.yaml:12

  • [nitpick] Using with .Values.ingress.annotations always emits an annotations: block, even if the map is empty. Consider switching to if to only render the block when annotations are supplied.
  annotations:

containers/helm/values.yaml:16

  • [nitpick] The env map is introduced without examples. Add a comment or sample block showing how to define key/value pairs so users know how to supply environment variables.
env: {}

containers/helm/templates/service.yaml:7

  • [nitpick] The template now ranges over .Values.labels instead of .Values.deployment.labels without a fallback. Consider retaining a fallback or documenting this breaking change so existing users can migrate smoothly.
    {{- range $k, $v := .Values.labels }}

containers/helm/values.yaml:43

  • New Ingress functionality is added but lacks CI/test coverage. Consider adding Helm chart tests or CI validation (e.g., using helm unittest) to verify ingress configurations.
ingress:

@pglombardo
Copy link
Owner

@MindTooth If you have some time, could you help review or bless this PR?

Copy link
Contributor

@MindTooth MindTooth left a comment

Choose a reason for hiding this comment

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

@pglombardo should maybe also look at bumping the chart when new versions of pwpush are released? Not sure of the proper mapping of versions.


ingress:
enabled: false
className: "nginx"
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe not hardcode the ingressclass. Usually you have a default one set by ingressclass.kubernetes.io/is-default-class: true.

podLabels:
app: "pwpush"

env: {}
Copy link
Contributor

Choose a reason for hiding this comment

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

I like the approach from Mend Renovate CE that they put application login under its own section. These envs will explicitly be for pwpush?

https://github.com/mend/renovate-ce-ee/blob/5432fc8dbfb09390763fbade48afb198c060753c/helm-charts/mend-renovate-ce/values.yaml#L10

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

Successfully merging this pull request may close these issues.

3 participants