Skip to content

[planr-tools] UNSOI-3673: Add helm charts for Plan.R tools#267

Open
paulwellnerbou wants to merge 20 commits intosubshell:mainfrom
paulwellnerbou:UNSOI-3673-planr-tools-in-unified-installieren
Open

[planr-tools] UNSOI-3673: Add helm charts for Plan.R tools#267
paulwellnerbou wants to merge 20 commits intosubshell:mainfrom
paulwellnerbou:UNSOI-3673-planr-tools-in-unified-installieren

Conversation

@paulwellnerbou
Copy link
Copy Markdown

The helm charts for Plan.R tools will deploy all three pods behind one ingress:

  • newsroom-document-creator (reachable under <ingress>/document-creator)
  • newsroom-feed (reachable under <ingress>/feed)
  • newsroom-widget (reachable under <ingress>/)

Copy link
Copy Markdown
Member

@DanielRaapDev DanielRaapDev left a comment

Choose a reason for hiding this comment

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

Looks pretty good. See the comments for some fine-tuning.

@DanielRaapDev DanielRaapDev requested a review from Copilot March 30, 2026 12:19
@DanielRaapDev DanielRaapDev changed the title UNSOI-3673: Add helm charts for Plan.R tools [planr-tools] UNSOI-3673: Add helm charts for Plan.R tools Mar 30, 2026
Copy link
Copy Markdown
Contributor

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

Adds a new planr-tools Helm chart to deploy the three Plan.R “newsroom” applications (document creator, feed, widget) together with shared path-based external routing via either Kubernetes Ingress (nginx) or Gateway API HTTPRoute.

Changes:

  • Introduces a complete Helm chart (Chart.yaml, values.yaml, templates) rendering 3 Deployments/Services/ConfigMaps plus optional Ingress/HTTPRoute.
  • Adds helm-unittest suites for Deployment and HTTPRoute rendering, plus example/test values files.
  • Documents chart usage (README.md) and includes an internal review checklist (REVIEW.md).

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
charts/planr-tools/Chart.yaml New chart metadata for planr-tools.
charts/planr-tools/values.yaml Default values for 3 apps, shared probes/env, ingress/httproute toggles, and per-app config.
charts/planr-tools/templates/_helpers.tpl Naming/label helpers plus config rendering + checksum helper.
charts/planr-tools/templates/deployment.yaml Renders one Deployment per enabled app with probes, config mount, checksum annotation.
charts/planr-tools/templates/service.yaml Renders one Service per enabled app.
charts/planr-tools/templates/configmap.yaml Renders one ConfigMap per enabled app with templated application.yml.
charts/planr-tools/templates/ingress.yaml Optional nginx Ingress with regex + rewrite for path-based routing across apps.
charts/planr-tools/templates/httproute.yaml Optional Gateway API HTTPRoute for path-based routing across apps.
charts/planr-tools/templates/serviceaccount.yaml Optional ServiceAccount resource.
charts/planr-tools/tests/deployment_test.yaml Unit tests for Deployment count, naming, ports, probes, config mount, checksum presence.
charts/planr-tools/tests/httproute_test.yaml Unit tests for HTTPRoute existence + backendRefs.
charts/planr-tools/tests/values/httproute.yaml Values fixture for HTTPRoute test.
charts/planr-tools/test-values-ingress.yaml Example values for deploying with Ingress.
charts/planr-tools/test-values-httproute.yaml Example values for deploying with HTTPRoute.
charts/planr-tools/README.md Basic chart description + example values.
charts/planr-tools/REVIEW.md Internal review notes/checklist for the initial chart.
charts/planr-tools/.helmignore Standard helm ignore patterns.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

paulwellnerbou and others added 16 commits March 30, 2026 14:37
…ite filter

Add a URLRewrite/ReplacePrefixMatch filter per rule so that apps receive
requests at their own root path, consistent with the nginx ingress rewrite.
The filter is omitted for widget's catch-all path /.
Co-authored-by: Daniel Raap <raap@subshell.com>
Declare the ordered application key list once via planr-tools.appKeys helper
and use it in all five templates via fromYaml, removing the duplication.
….yaml

pathType is hardcoded to ImplementationSpecific in the template since the
nginx regex rewrite requires it and it cannot be made configurable.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…of null

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…ication.yml

Use planr-tools.render instead of toYaml so the checksum reflects the fully
templated config, ensuring pod restarts when referenced Helm values change.
Copy link
Copy Markdown
Member

@DanielRaapDev DanielRaapDev left a comment

Choose a reason for hiding this comment

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

thanks, looks good :+1

- deployment.yaml
chart:
version: 0.1.0
appVersion: 6.0.0-SNAPSHOT
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.

In other charts we don't use SNAPSHOT versions. I suggest to set the latest release version

description: A Helm chart for deploying the planr-tools applications
type: application
version: 0.1.0
appVersion: "6.0.0-SNAPSHOT"
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.

In other charts we don't use SNAPSHOT versions. I suggest to set the latest release version

- ingress.yaml
chart:
version: 0.1.0
appVersion: 6.0.0-SNAPSHOT
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.

In other charts we don't use SNAPSHOT versions. I suggest to set the latest release version

- httproute.yaml
chart:
version: 0.1.0
appVersion: 6.0.0-SNAPSHOT
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.

In other charts we don't use SNAPSHOT versions. I suggest to set the latest release version

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants