mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-05-06 03:27:53 -05:00
Vikunja does not run on kubernetes anymore #498
Closed
opened 2025-11-01 20:57:13 -05:00 by GiteaMirror
·
12 comments
No Branch/Tag Specified
main
renovate/dev-dependencies
feat-v2-foundation
dependabot/npm_and_yarn/frontend/axios-1.15.2
spike-huma-openapi3
claude/investigate-swagger3-support-nyyUa
feat-list-view-buckets
ci-mysql-8-test
codex/analyze-codebase-for-email-task-feature
feat-project-templates
csv-import-feature
claude/email-reply-comments-wpdcQ
fix-oidc-pkce-support
fix/overview-subtasks-expand
feat/bucket-select-task-detail
feat-soft-delete-projects
claude/review-bot-design-plan-cf5C3
claude/project-scoped-api-tokens-KTqR3
claude/explore-openclaw-integration-KQEzg
claude/project-scoped-api-tokens-yv5KS
fix-duplicate-close-button
feat-list-view-sorting
feat/official-vite-sentry-plugin
feat/highlight-overdue-tasks
feat/add-enter-key-form-submission-handling
feat/TipTap-nits
feat/update-caldavtimetotimestamp-parsing
feat-phosphor-icons
wip-plans
claude/investigate-issue-2173-llKme
fix-description-text-drag
feat-custom-keyboard-shortcuts
pr-1845-ci
codex/fix-drag-and-drop-behavior-inconsistency
copilot/add-clickable-labels-for-filtering
copilot/fix-issue-1786
playwright-migration
fix-kanban-repeating-wip
copilot/fix-1498
feature/replace-axios
codex/upgrade-to-tailwind-4.1.8-using-pnpm
codex/add-cypress-test-for-avatar-types
feature/biome
feature/oxc
codex/update-flexsearch-to-0.8.205
4r6ni9-codex/fix-deprecated-sass-@import-usage
codex/fix-deprecated-sass-@import-usage
codex/add-cypress-test-for-task-list-refresh-fix
codex/fix-quick-add-magic-not-adding-tasks
codex/fix-all-type-errors
codex/fix-mimetype-for-docs.json
feature/caldav-from-scratch
feature/gh-actions-hetzner
fix-ci
feat/new-logger
jyte-better-dev-config
feat/add-team-member-with-enter
fix/button-and-icon-types
fix/notifications-component-name-collision
feature/null-time
renovate/tailwindcss-4.x
feature/unplugin-vue-router
fix/deprecated-import
feature/zod-schema
renovate/golangci-golangci-lint-1.x
fix/tiptap-editor-reactive-destructuring
release/0.24
feat/improve-add-task
fix/saved-filter-search
feat/webp-and-avif-attachment-previews
feature/migrate-back-to-bulma
fix/sass-add-missing-list-import
feature/sticky-demo-bar
fix/gantt-view-switch
feature/typesense-position-join
feature/focus-visible
dependencies/golangci-lint
feature/better-filter-syntax
fix/tiptap-task-list
renovate/github.com-golang-jwt-jwt-v4-5.x
feature/hide-forbidden-related-tasks
renovate/golang-1.x
release/0.20
release/0.17
release/0.16
release/0.15
release/0.14
v2.3.0
v2.2.2
v2.2.1
v2.2.0
v2.1.0
v2.0.0
v1.1.0
v1.0.0
v1.0.0-rc4
v1.0.0-rc3
v1.0.0-rc2
v1.0.0-rc1
v1.0.0-rc0
v0.24.6
v0.24.5
v0.24.4
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.0
v0.22.1
v0.22.0
0.21.0
v0.21.0
v0.20.4
v0.20.5
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.2
v0.19.1
v0.19.0
vue3
v0.18.1
v0.18.0
v0.17.1
v0.17.0
v0.16.1
v0.16.0
v0.15.1
v0.15.0
v0.14.1
v0.14.0
v0.13.1
v0.13
v0.12
v0.11
v0.10
v0.9
v0.8
v0.7
v0.6
v0.5
v0.4
v0.3
v0.2
v0.1
Labels
Clear labels
area/api
area/attachments
area/auth
area/avatars
area/backup-restore
area/caldav
area/calendar-view
area/comments
area/config
area/database
area/desktop
area/docker
area/email
area/favorites
area/filters
area/frontend
area/gantt
area/i18n
area/import-export
area/internal-code
area/kanban
area/labels
area/list-view
area/mobile
area/notifications
area/permissions
area/projects
area/pwa
area/recurring-tasks
area/reminders
area/search
area/shortcuts
area/subtasks
area/sync
area/table-view
area/task-editor
area/task-metadata
area/task-relations
area/teams
area/theming
area/time-tracking
area/typesense
area/views
area/webhooks
bug
changes requested
concern/accessibility
concern/performance
concern/regression
concern/ux
confirmed
db/mysql
dependencies
enhancement
good first issue
help wanted
integration/inbound
integration/outbound
kind/bug
kind/feature
needs reproduction
pull-request
question
security
support
upstream issue
waiting for reply
wontfix
Mirrored from GitHub Pull Request
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/vikunja#498
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @morrolinux on GitHub (Apr 30, 2025).
Description
Hi,
After the commit
26bb7b9fa94c9ed2bfd570417a0af1e2ce09796c.vikunja on doesn't start anymore on my kubernetes cluster.Instead, I get:
I'm not sure why it still runs fine on Docker but not in kubernetes, but investigating the issue I found out that in kubernetes we have many (automatically generated) extra
envvars starting withVIKUNJA_that probably trip the new env parsing system introduced in the aforementioned commit.For now I managed to start vikunja again in kubernetes by reverting
26bb7b9fabut I guess it's not really a solution going forward.Vikunja Version
8424f1dBrowser and version
No response
Can you reproduce the bug on the Vikunja demo site?
No
Screenshots
No response
@kolaente commented on GitHub (Apr 30, 2025):
Can you share the config you're using to host Vikunja in k8s?
@morrolinux commented on GitHub (May 1, 2025):
Sure:
vikunja.yaml.txt
I tried to keep it minimal, but k8s seems to automatically generate extra env vars starting with
VIKUNJA_that probably confuse the interpreter, you can spin this up and you'll see.Best,
Moreno
@MaximUltimatum commented on GitHub (May 8, 2025):
@morrolinux Vikunja does run on k8s. It's definitely your cluster that's the issue :).
Here is an example of a working config from the Vikunja helm chart (which is well maintained!)
It looks like you've chosen to apply some manually created kubernetes objects that have been copied from somewhere. Looking over them, it appears to be an LLM.
Please spend some time learning Kubernetes instead of just vibe-coding a K8s deployment and then attempting to fork the work of triaging your poor setup onto the maintainers of an open source project.
Kubernetes users have a bad reputation among open source projects as is (see example). Please don't exacerbate this problem.
I would recommend you either do your own triage work to figure out why your own LLM-copied setup isn't working, or use the officially supported Vikunja K8s chart.
@MaximUltimatum commented on GitHub (May 8, 2025):
I did some additional triage on your specific configuration. I can reproduce a similar configmap issue if I revert my configuration back to the version of Vikunja before the microservices are merged, and then just throw the new Vikunja tag into the configuration without properly adjusting the helm chart.
I believe you need to look into making sure your configmap is named api-config, matching the official helm chart here.
That said, this is firmly a configuration issue on your end, on a platform that is only feasible to run on if you are a business or someone who chooses extra complexity for the challenge or to learn. I don't think it's fair (or kind) to fork this work off onto an open source developer who is working for free, and I would encourage you to either use an officially supported route (that the maintainer has been kind enough to make), or resolve an issue with your configuration yourself (since it has nothing to do with the project and everything to do with an extra layer of complexity you chose to adopt).
@morrolinux commented on GitHub (May 8, 2025):
@MaximUltimatum First off, thanks for taking the time into investingating this, I'll look into the configmap naming as you suggested.
Now, a little clarification: I'm just a tech guy who loves a challenge and decided to install k8s on-prem and deploy as many services as possible to learn. The helm chart was not working for me and I prefer static yamls, so I made my own and ran fine until I noticed the breakage in later versions. So I isolated the problem and opened this issue acting in good faith, thinking it was a regression.
So understand this: I did not ask YOU to solve MY problem, but rather pointed out what (to me) seemed to be a regression.
At this point, a simple "it's a configuration problem on your side, the helm works fine" or something like that would have sufficed.
Instead, I got:
Learning kubernetes? That's exactly what I'm doing.
Your assuming tone is just rude.
Again, as I explained before: it did not look at all like a config problem on my side, given that it stopped working after a specific commit. To be assuming I'm too lazy to fix my own problems is wrong (I isolated it to the specific commit) and again, very rude.
Are you really talking to me, or to "kubernetes users"?
and then we get a beautiful finish:
Ehm... someone is having a bad day?
@SIMULATAN commented on GitHub (May 21, 2025):
Well, thanks for sharing a "working config", but doing so and blaming OP is pretty useless when the issue was clearly reported to be a regression in a more recent version than the one you're running..
I also encountered this issue and debugged further. Turns out, as suspected by @morrolinux, this bug was triggered by the vaguely documented service links functionality in k8s.
(source)
This resulted in, among others, the
VIKUNJA_PORTandVIKUNJA_PORT_3456_TCP_PROTO=tcpenvironment variables, therefore triggering this very issue.Users may fix this problem by setting
vikunja.enableServiceLinks=falsein their Helm values.@kolaente I'd love to contribute this fix + a necessary
bjw-scommon charts migration due to them moving to this org. I've created a Gitea account namedSIMULATAN, but, as of right now, I cannot use it as it needs to be activated first.In case you want to fast-track this one yourself, here's the patch: https://gist.github.com/SIMULATAN/5ad1646b7647ab00ebec31787bab0b43
@MaximUltimatum commented on GitHub (May 21, 2025):
I am running the latest version of Vikunja, as can be seen in my values file here :).
For clarity, I would like to emphasize the set of actions from morrowlinux I criticized (while providing them a path to a solution) was the following:
Ask an LLM/vibe code a set of manual Kubernetes files instead of using the officially supported helm chart --> ask for an open source maintainer to troubleshoot their issue. This is akin to taking a project that builds with Gradle, attempting to build with Maven, and then submitting a bug to upstream when it doesn't work.
That said, it sounds like you (@SIMULATAN) are using the helm chart, so I'm happy to attempt to provide assistance. It may make sense to open a different issue on Gitea as I believe these are different problems (and Gitea is where the helm chart is hosted).
This perplexes me, and while I'm happy to be wrong, I'm struggling to believe turning off service linking env variables for pods would stop this issue, as I believe you said you are experiencing:
Config maps are mounted to a pod itself and so would not access a config map through an environment variable.
In addition, to the best of my knowledge service linking should only inject variables that allow pods to find a service which shouldn't in any way interfere with its ability to find its configmap.
I attempted to look at your configuration to see if I could be more help, but I don't see a Vikunja instance running in your repo. Feel free to share your configuration if you'd like more help (although like I mentioned earlier perhaps the Vikunja helm repo on Gitea is a better place for this discussion) :).
All that said, would you be willing to share two configs both with and without service linking enabled, and share some console output showing that one allows Vikunja to launch and one does not? My existing configuration off of the official helm chart is working, on the most recent version of vikunja.
Failing that, I believe there may be something else happening with your config, distinct from service linking :).
@kolaente commented on GitHub (May 21, 2025):
@SIMULATAN I've just migrated the chart repo to GitHub as well: https://github.com/go-vikunja/helm-chart
Please open a PR over there.
@morrolinux commented on GitHub (May 22, 2025):
@SIMULATAN I can confirm
VIKUNJA_PORTandVIKUNJA_PORT_3456_TCP_PROTO=tcpwere responsible for triggering this issue. I did not know about the service links functionality in k8s, and couldn't explain why those extra env existed, thanks for the hint!@MaximUltimatum it does not surprise me that your config works. You're using the latest tagged version (v0.24.6, commit
c934124from Dec 22, 2024), which is before the regression I reported was introduced, in a commit called:on Jan 24, 2025.
The commit ID is
5c02527d2d7300f5508f8267ed9faf1989979535, I must have mixed up something when opening the issue, as I reported a wrong (non-existing) commit number, and for that I'm sorry....but at the same time, I now realize you didn't even bother checking the original commit hash I reported, or you'd have noticed it was wrong. So I did all the detective work of finding the regression for you, and you discarded all that part, basically calling me a lazy lamer who don't know what he's doing, just because I didn't type the boilerplate deployment by hand.
That's prejudice right there.
If I can give you a piece of advice, next time try to focus on the actual issue, instead of judging the person who reports it.
@kolaente commented on GitHub (May 22, 2025):
@morrolinux Thanks for providing the commit id. I've looked into it and identified a potential fix, but I was not able to reproduce this by explicitly setting the env variables you've said caused the issue. I've pushed a fix in
d7d277f9b6and would love for someone to check it out and report if there are any errors logged with that applied.Originally, I disregarded the issue as it seemed to be a problem with k8s only, of which I don't really know anything about, hence I couldn't say anything about that. I should have looked more into it in the first place, but the arguments presented by the others seemed to make sense at first. I'm really sorry about that.
@SIMULATAN commented on GitHub (May 23, 2025):
I apologize for my unresponsiveness, I unfortunately got ill.
Me neither, I only noticed them being present while debugging the environment of a secondary pod I created to quickly add logging and recompile the binary, to be ran in the helm-created vikunja pod. What led me to this decision and to be sure that the problem didn't stem from a misconfiguration on my part is the fact that even stripping the Deployment down to its bare minimum (no config map, zero environment variables) still led to the error. I first assumed it to be a faulty environment variable set in the Dockerfile, but that idea led nowhere.
Using the commit
ec324f8c5a, this command line:VIKUNJA_PORT=something VIKUNJA_PORT_3456_TCP_ADDR=alsosomething go run .did trigger the issue on my system.Thanks for the swift fix! I can confirm that vikunja now starts correctly with the current latest unstable image and
enableServiceLinks=true. FYI to the k8s selfhosters: you may have to set theimagePullPolicytoAlwaysto force k8s to pull the newest image version. Otherwise, you may be running an outdated image. The joys of floating tags...Anyway, to address the dozens of errors logs printed on startup, I created https://github.com/go-vikunja/helm-chart/pull/1.
EDIT: I've now published my configuration:
31b346c2aa/vikunja@kolaente commented on GitHub (May 23, 2025):
Thanks for the PR!
Pushed another fix in
5c17d5b90cto make the mapping logic work better. With that and https://github.com/go-vikunja/helm-chart/pull/1, I'd consider this issue done.