Kuberhealthy 2.2.0 Release:
Bug Fixes:
- Fixed race condition when checker pod has to verify its uuid with the kh server before being allowed to report its check status #407
- Small fix to KHState reflector that helped unblock creating new Kuberhealthy builds #418
- Removing harcoded runAsUser configuration for daemonset check #429
- When a checker pod gets deleted during pending phase, the main Kuberhealthy process get blocked. Adding a watch to a pod deleted event before we check its running #437
- Added necessary service accounts and roles / rolebindings to pod-status and pod-restarts khchecks #456
- Updating check registry links as they broke from a check name refactoring done some time back #463
- Replace null error messages when reporting to Kuberhealthy with list of empty string #468
Features:
- Publish Kuberhealthy as a Helm Repository :celebrate:
- Adding ownerReferences to all external checks #378
- Adding docs / README to deploy files #403
- Switching to docker-hub from quay #406
- Using go mod download for faster Dockerfile builds in CI/CD pipelines #409
- Add ability to modify security context to khchecks #423
- Adding more Helm variables for khchecks such as RunInterval, Timeout, etc. -- providing users with more granular control over khcheck installation via Helm #424, #425
- Using the k8sErrors package to better identify Not Found errors #433
- Added new variable that gets injected into khcheck pods:
KH_CHECK_RUN_DEADLINE
. Checks are given up to this deadline to complete their check runs #434, #452 - Gosec: implement a github workflow to run gosec on external checks for PRs against master and move gosec scanning in Dockerfile to a github action #455, #459
- Allow option for Kuberhealthy to be namespace aware with new
listenNamespace
flag #461 - Various improvements to Deployment Check:
-- Respect race conditions when checker pod starts up by utilizing KH_CHECK_RUN_DEADLINE #434
-- Report back to Kuberhealthy on the current state of the check when given the interrupt / kill signal #434
-- Adding custom resource requests and limits on the deployment pods that are brought up during the deployment check #434
-- Update deployment check time limit to ensure that the check report its last stage before timing out #462
-- Make the default namespace for the deployment check the same as the pod's (that get provisioned by the deployment check) namespace #469 - Adding information about errors in Prometheus metrics for helpful integration with alertmanager #471
- JS client available for Kuberhealthy using the kuberhealthy-client NPM package #476