Skip to content

fix(chart): Added more values - #1636

Merged
randoneering merged 7 commits into
usekaneo:mainfrom
TymekV:fix/additional-chart-values
Aug 29, 2026
Merged

randoneering merged 7 commits into
usekaneo:mainfrom
TymekV:fix/additional-chart-values

Conversation

@TymekV

@TymekV TymekV commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Description

While deploying Kaneo on my Kubernetes cluster I found myself unable to set some of the fields, which I wanted to set.

This PR adds:

  • imagePullSecrets - needed for private registries
  • envFrom
  • topologySpreadConstraints
  • enableServiceLinks - with this one I had an issue that Kaneo would start extremely slowly (over 90 seconds), beacuse the init script is looping through all of the available environment variables. I've fixed it by setting enableServiceLinks to false. This prevents Kubernetes from injecting a lot of additional environment variables to the container.

Breaking changes

Now by default enableServiceLinks is set to false, as I belibe that it's a sensible default (Kaneo makes no use of the additional environemnt variables and I hope that by setting it to false it'll prevent more people from having to troubleshoot this exact issue)

Related Issue(s)

none

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement
  • Test addition or update
  • Other (please describe):

How Has This Been Tested?

  • Unit tests
  • Integration tests
  • Manual testing - I tested these changes on my own Kubernetes cluster
  • Other (please describe):

Screenshots (if applicable)

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I understand and take responsibility for every change, and I wrote this pull request description in my own words
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published

Additional Notes

@coderabbitai

coderabbitai Bot commented Aug 21, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (3)
  • charts/kaneo/README.md is excluded by !charts/**, !**/*.md
  • charts/kaneo/templates/deployment.yaml is excluded by !charts/**
  • charts/kaneo/values.yaml is excluded by !charts/**

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 8c2cd96c-e081-490e-b315-2bb689992e8a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Helm chart: expose Pod spec fields (envFrom, imagePullSecrets, topologySpreadConstraints)

🐞 Bug fix ✨ Enhancement 📝 Documentation ⚙️ Configuration changes 🕐 20-40 Minutes

Grey Divider

AI Description

• Expose additional Kubernetes PodSpec fields via Helm values for more flexible deployments.
• Default enableServiceLinks to false to avoid slow startups from excessive injected env vars.
• Document new chart values for operators configuring Kaneo on Kubernetes.
Diagram

graph TD
R["charts/kaneo/README.md"] --> V["charts/kaneo/values.yaml"] --> T["charts/kaneo/templates/deployment.yaml"] --> D("Kubernetes Deployment") --> P("Kaneo Pod")
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Expose a generic `podSpecOverride` / `extraPodSpec` map
  • ➕ Max flexibility (future PodSpec fields require no chart changes)
  • ➕ Power users can express any Kubernetes-native feature
  • ➖ Harder to validate; easier to create invalid manifests
  • ➖ Less discoverable than explicit, documented values
  • ➖ Potentially complicates support/debugging
2. Scope pod-level fields under a dedicated `pod:` values block
  • ➕ Clear separation between pod-level and app/container-level settings
  • ➕ Easier to expand without cluttering the top-level values
  • ➖ Breaking values structure change (migration cost)
  • ➖ Not necessary for a small set of fields

Recommendation: The explicit-values approach in this PR is a good tradeoff for safety and discoverability. Consider a small follow-up to (1) document imagePullSecrets in the chart README (currently missing), (2) fix the README typo for topologySpreadConstraints, and (3) optionally simplify the template to enableServiceLinks: {{ .Values.enableServiceLinks }} (since the value is always defined in values.yaml).

Files changed (3) +23 / -0

Enhancement (1) +13 / -0
deployment.yamlWire new values into the Deployment PodSpec and env sources +13/-0

Wire new values into the Deployment PodSpec and env sources

• Adds optional 'imagePullSecrets', 'enableServiceLinks', and 'topologySpreadConstraints' to the pod spec. Introduces 'kaneo.extraEnvFrom' to render 'envFrom' entries for the Kaneo container.

charts/kaneo/templates/deployment.yaml

Documentation (1) +3 / -0
README.mdDocument new Helm values for PodSpec controls +3/-0

Document new Helm values for PodSpec controls

• Adds README parameter rows for 'enableServiceLinks', 'topologySpreadConstraints', and 'kaneo.extraEnvFrom'. Note: 'imagePullSecrets' is implemented in the chart but is not documented here, and the 'topologySpreadConstraints' description contains a spelling error.

charts/kaneo/README.md

Other (1) +7 / -0
values.yamlAdd defaults for imagePullSecrets, envFrom, topology spread, and service links +7/-0

Add defaults for imagePullSecrets, envFrom, topology spread, and service links

• Introduces new chart values: 'imagePullSecrets', 'topologySpreadConstraints', and 'enableServiceLinks' (defaulting to false), plus 'kaneo.extraEnvFrom' with an example. These defaults enable configuring private registries, bulk env injection, and pod scheduling constraints via Helm.

charts/kaneo/values.yaml

@TymekV TymekV changed the title fix: Added more chart values fix(chart): Added more values Aug 21, 2026
@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Aug 21, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Action required

1. Broken default for boolean ✓ Resolved 🐞 Bug ≡ Correctness
Description
enableServiceLinks uses default with arguments reversed, so when .Values.enableServiceLinks is
missing it renders as ` instead of defaulting to false`, producing invalid Kubernetes YAML. This
can break upgrades where existing user values files don’t contain the new key.
Code

charts/kaneo/templates/deployment.yaml[40]

+      enableServiceLinks: {{ default .Values.enableServiceLinks false }}
Evidence
The Deployment template uses default in a way that won’t fallback to false when the new value
key is absent; other templates in this chart show the correct | default usage pattern.

charts/kaneo/templates/deployment.yaml[32-41]
charts/kaneo/templates/pvc.yaml[9-22]
charts/kaneo/values.yaml[18-21]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`enableServiceLinks` is templated as `{{ default .Values.enableServiceLinks false }}`, which does not provide a fallback when the value is unset and can render `<no value>`.
## Issue Context
The chart already uses the correct `| default "..."` pattern elsewhere, so the intent is to default to `false` when the value is not set.
## Fix Focus Areas
- charts/kaneo/templates/deployment.yaml[32-42]
- charts/kaneo/templates/pvc.yaml[9-22]
## Suggested change
Render it as one of:
- `enableServiceLinks: {{ .Values.enableServiceLinks | default false }}`
- `enableServiceLinks: {{ default false .Values.enableServiceLinks }}`

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. imagePullSecrets undocumented 🐞 Bug ⚙ Maintainability
Description
The chart adds a new imagePullSecrets value and wires it into the Deployment, but the README
parameters table doesn’t mention it. This makes the feature effectively hidden and increases
misconfiguration risk.
Code

charts/kaneo/values.yaml[19]

+imagePullSecrets: []
Evidence
imagePullSecrets is present in values.yaml and referenced in the Deployment template, but the
README global parameters section lists only enableServiceLinks and topologySpreadConstraints as
the new pod-level options and omits imagePullSecrets.

charts/kaneo/values.yaml[15-21]
charts/kaneo/templates/deployment.yaml[32-37]
charts/kaneo/README.md[58-66]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`imagePullSecrets` is added to `values.yaml` and used in the Deployment, but it’s missing from `charts/kaneo/README.md` Parameters.
## Issue Context
Users commonly rely on the README table to discover configurable values.
## Fix Focus Areas
- charts/kaneo/values.yaml[15-21]
- charts/kaneo/templates/deployment.yaml[32-37]
- charts/kaneo/README.md[58-66]
## Suggested change
Add a row under Global parameters documenting `imagePullSecrets` (expected type: list of `{name: ...}` objects) and default `[]`.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Informational

3. README typo in constraints ✓ Resolved 🐞 Bug ⚙ Maintainability
Description
The README entry for topologySpreadConstraints misspells the field name in its description
(topologySpreadCoonstriants), which can confuse users searching for the Kubernetes term.
Code

charts/kaneo/README.md[65]

+| `topologySpreadConstraints` | Controls Pod's topologySpreadCoonstriants field                                                                         | `[]`   |
Evidence
The README line added for topologySpreadConstraints contains the misspelling in the description
text.

charts/kaneo/README.md[63-66]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
README description contains a typo: `topologySpreadCoonstriants`.
## Issue Context
Users often copy/paste/search based on these terms; spelling errors reduce discoverability.
## Fix Focus Areas
- charts/kaneo/README.md[63-66]
## Suggested change
Change `topologySpreadCoonstriants` to `topologySpreadConstraints`.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Tip of the day
💡 Did you know, you can group findings by type and pick your Finding display, from Minimal to Full

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread charts/kaneo/templates/deployment.yaml Outdated
Comment thread charts/kaneo/values.yaml
Comment thread charts/kaneo/README.md Outdated

@randoneering randoneering left a comment

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.

Thanks for contributing to the chart!

@randoneering
randoneering merged commit 4c3c485 into usekaneo:main Aug 29, 2026
18 checks passed
github-actions Bot added a commit to capital-shield/kaneo that referenced this pull request Sep 3, 2026
### Features

- **tasks:** auto-archive completed tasks after a configurable delay: [aa46c64](aa46c64)
- **i18n:** add Japanese (ja-JP) translation: usekaneo#1662
- **kanban:** color assignee avatar ring per user: [6e60440](6e60440)
- **mcp:** add KANEO_MCP_API_KEY env var for headless auth: [822aa71](822aa71)
- **search:** support task ID search (e.g. CSX-18): [de1f26a](de1f26a)
- add icons to navigation items in main and projects sidebar: [83de6c9](83de6c9)
- fix misplaced use of `sidebar` styles across navigation and settings UI: [06afd67](06afd67)
- **table:** add new table-based task management view in backlog and board components: [0620149](0620149)
- add label management functionality to  task card context menu: [e38a9c4](e38a9c4)
- **kanban:** add border to task label styling: [5690288](5690288)
- **mcp:** add mcp server: [ce85801](ce85801)

### Bug Fixes

- **ci:** fall back to GITHUB_TOKEN for the container registry: [9d22ee7](9d22ee7)
- **ci:** promote only the image this fork publishes: [8186f39](8186f39)
- **api:** drop the fork's API key rate limit default override: [d0654a2](d0654a2)
- **auth:** prevent 401 retry storm for pending invitations: usekaneo#1677
- **auth:** prevent 401 retry storm and redirect to sign-in: usekaneo#1676
- **api:** close the remaining gaps in the auth schema emitter: usekaneo#1655
- **web:** resolve the root error boundary's translation keys: usekaneo#1648
- **api:** replace the seat-reconciliation advisory lock with a job lease: [cf701d0](cf701d0)
- **api:** close five workspace-scoping gaps: usekaneo#1646
- **api:** correct five defects that fail silently: usekaneo#1647
- **api:** make notifications and seat reconciliation survive replicas: usekaneo#1649
- **chart:** Added more values: usekaneo#1636
- remove bg-sidebar from cards and show project icons in sidebar: [822ad1a](822ad1a)
- raise default API key rate limit from 10 to 10000 req/day: [065e4ae](065e4ae)
- fix account settings sidebar and notification card styling: [ef72248](ef72248)
- restore settings sidebar and workspace switcher styling: [0e15bf7](0e15bf7)
- cache MCP token validation and raise auth rate limits: [1c9ccba](1c9ccba)
- restore table view in board and backlog after upstream merge: [b8347bb](b8347bb)
- **mcp-server:** prevent tasks with invalid status from disappearing in board/backlog: [bcffb71](bcffb71)
- **mcp-server:** improve list_tasks tool discoverability: [a6ee62c](a6ee62c)
- **mcp-server:** align search type enum with API's plural values: [afa55d6](afa55d6)
- **workflows:** update Docker workflow to use GITHUB_TOKEN for authentication: [1e6862e](1e6862e)
- **mcp:** improve error handling in toResult function to support non-JSON responses: [c2bb917](c2bb917)

### Code Refactoring

- **api:** move fork-only schema changes to their own migration chain: [9e200b3](9e200b3)
- centralise labelColors definitions and update import across multiple components: [5c7fac8](5c7fac8)

### Documentation

- update contributors and sponsors: [4653916](4653916)
- update contributors and sponsors: [22e7da2](22e7da2)
- update contributors and sponsors: [48e87e4](48e87e4)
- update contributors and sponsors: [b760dce](b760dce)
- update contributors and sponsors: [8100f3b](8100f3b)
- update contributors and sponsors: [fabc255](fabc255)
- update contributors and sponsors: [a141262](a141262)
- update contributors and sponsors: [18404d0](18404d0)
- update contributors and sponsors: [71ee222](71ee222)
- update contributors and sponsors: [13f26b0](13f26b0)
- update contributors and sponsors: [287ffd2](287ffd2)
- update contributors and sponsors: [060ef2d](060ef2d)
- update contributors and sponsors: [ed4d368](ed4d368)
- update contributors and sponsors: [336a59a](336a59a)
- update contributors and sponsors: [f52a96c](f52a96c)
- update contributors and sponsors: [15480a5](15480a5)

### Credits

Huge thanks to @sinsky, @andrejsshell, and @TymekV for helping!
pull Bot pushed a commit to danielabelski/kaneo that referenced this pull request Sep 6, 2026
### Features

- **mattermost:** add native Mattermost integration: usekaneo#1325
- center Gantt view on today by default: usekaneo#1686
- task item counters: usekaneo#1638
- **i18n:** add polish locale: usekaneo#1639
- **i18n:** add Japanese (ja-JP) translation: usekaneo#1662

### Bug Fixes

- **ci:** preserve OpenAPI checker argument boundaries: usekaneo#1657
- **web:** preserve imported label colors: usekaneo#1695
- project nav width in different language: usekaneo#1641
- make task removal discoverable and calendar states distinct: usekaneo#1685
- **web:** protect unsaved task input: usekaneo#1694
- **auth:** prevent 401 retry storm for pending invitations: usekaneo#1677
- **auth:** prevent 401 retry storm and redirect to sign-in: usekaneo#1676
- hide "Mark as planned" for backlog tasks: usekaneo#1675
- **api:** close the remaining gaps in the auth schema emitter: usekaneo#1655
- **web:** resolve the root error boundary's translation keys: usekaneo#1648
- **api:** replace the seat-reconciliation advisory lock with a job lease: [cf701d0](usekaneo@cf701d0)
- **api:** close five workspace-scoping gaps: usekaneo#1646
- **api:** correct five defects that fail silently: usekaneo#1647
- **api:** make notifications and seat reconciliation survive replicas: usekaneo#1649
- **chart:** Added more values: usekaneo#1636
- **web:** let task labels use card width: usekaneo#1635

### Documentation

- update contributors and sponsors: [8083ab2](usekaneo@8083ab2)
- update contributors and sponsors: [2ad7533](usekaneo@2ad7533)
- update contributors and sponsors: [ee36e49](usekaneo@ee36e49)
- update contributors and sponsors: [4653916](usekaneo@4653916)
- update contributors and sponsors: [22e7da2](usekaneo@22e7da2)
- update contributors and sponsors: [48e87e4](usekaneo@48e87e4)
- update contributors and sponsors: [b760dce](usekaneo@b760dce)
- update contributors and sponsors: [8100f3b](usekaneo@8100f3b)

### Credits

Huge thanks to @shockalotti, @reachsanjivbhagat-gif, @andrejsshell, @tinsever, @TymekV, @MonsPropre, @krudo-taco, @mohiuddin000, @sinsky, and @hydraxman for helping!
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.

2 participants