Version 0.4.8 Released
This version mostly includes bug fixes.
Task failure/success output fix
Thanks to @vmalloc for contributing this fix
When running tasks, a failure prefix was added when tasks succeeded and not when they failed.
Avoid refreshing credentials of disabled deployments
Disabled credentials are uninstalled from their clusters, so trying to refresh their credentials caused unnecessary errors as their namespaces didn't exist.
k8s-agent will not exit on task failure anymore
k8s-agent exited with an error when a task failed. This happened because errors were propagated from the task runner loop instead of stopping after storing the error in the database.
Release builds now have debug info and show full backtraces
Thanks to @vmalloc for contributing this fix
Backtraces in release mode ommitted many important function calls. Release builds now include full debug information.
Fixed some charts missing when using ?in_use=true in API
Thanks to @vmalloc for contributing this fix
Helm charts returned by calling /api/v2/helm-charts?in_use=true didn't include charts with a parsed_branch value of null.
This might have happened when parsing a Helm chart version failed, in which case the branch is stored as null. The branch will now be stored as an empty string since this is equivalent to the null case (a Git branch name can't be empty), fixing the result of in use Helm charts.
Added context to errors around Helm chart pulling
In some task failure cases it was hard to understand the cause of the failure. To help with that, a context was added to anyhow failures to show which stage failed while running Helm (creating pod, waiting for pod output, etc.)
Handle disconnections from control plane when running task pods
Thanks to @vmalloc for contributing this fix
Some tasks failed running because of disconnections from the control plane while waiting for Helm pods to complete running.
In some cases a task completed successfully but was marked as failed because Platz couldn't get the pod status correctly.
This was fixed by using the kube crate watcher instead of polling the pod status directly.
Fixed chart-discovery OOMKilled
When chart-discovery starts it scrubs all existing Helm charts to verify their parsed tag is in sync with the current settings.
In large deployments this caused an OOMKilled event right when chart-discovery starts up since it loaded all Helm charts to memory.
This was fixed by scrubbing Helm charts in smaller chunks.
Fixed frontend crash when a chart had no features
Charts with no features caused a crash, this was fixed.
Fixed to show registry icons when no icon is defined in chart features
When adding chart icons as a chart-ext feature, the previous behavior of showing the icon by the registry setting was accidentally removed.
This is now fixed to prefer the icon defined in chart-ext, then fall back to the registry setting.
Fix undefined error in findCollectionDependencies
Thanks to @vmalloc for contributing this fix
Charts with no values_ui chart-ext caused the frontend to crash in findCollectionDependencies.
This was fixed, along with adding logs to catch similar errors in the future.