• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

karellen / kubernator
82%

Build:
DEFAULT BRANCH: master
Repo Added 15 Sep 2021 10:31AM UTC
Files 41
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: master
CHANGE BRANCH
x
Reset
  • master
  • add-release-app-token
  • add_assert_plugin
  • add_gke_version_filter
  • add_import_cluster_crds
  • develop
  • eliminate_ref_resolver
  • enable_macos
  • files_and_parsing
  • fix-deprecation-warnings
  • fix-test-only-patch-noop
  • fix_help_empty_repo_update
  • fix_pod_update_conflict
  • helm_version_check
  • issue_68
  • issue_72
  • job_conflict_replacement
  • k8s-1.36-istio-1.30
  • k8s_1.32
  • k8s_1_33_istio_1_26
  • k8s_1_34_istio_1_27
  • k8s_apply_refactor
  • kubeone
  • minikube_storage_addons
  • openapi-v3-migration
  • prune_docker_in_ci
  • python_313
  • schema_format_validation_not_none
  • templates_everywhere
  • update-k8s-istio-versions
  • upgrade_dependencies
  • worktree-drop-python-3.9
  • worktree-k3d-plugin
  • worktree-kind_plugin
  • worktree-project-plugin-v1

08 Jun 2026 07:53PM UTC coverage: 82.105% (+0.06%) from 82.044%
27163073273

push

github

web-flow
Fix test-only JSON patches treated as non-empty mutations (#108)

## Summary

- **Bug:** `_filter_resource_patch` always preserves `test` ops
(uid/resourceVersion guards), so when all mutation ops are filtered out
or absent, the patch list is still truthy. This causes spurious
"Patching resource" log entries in dump mode and unnecessary no-op PATCH
API calls in apply mode.
- **Fix:** Track whether any mutation (non-`test`) ops survive
filtering. Return an empty list when only `test` ops remain, since
test-only JSON Patches are no-ops.
- **Tests:** Added `k8s_filter_patch_tests.py` covering: test-only patch
returns empty, mutations preserved with tests, all mutations excluded
returns empty, partial exclude preserves remaining, empty input returns
empty.

## Test plan

- [x] All existing unit tests pass (`pyb -vX run_unit_tests`)
- [x] New `k8s_filter_patch_tests.py` covers the fix

1081 of 1496 branches covered (72.26%)

Branch coverage included in aggregate %.

4 of 4 new or added lines in 1 file covered. (100.0%)

4443 of 5232 relevant lines covered (84.92%)

4.23 hits per line

Relevant lines Covered
Build:
Build:
5232 RELEVANT LINES 4443 COVERED LINES
4.23 HITS PER LINE
Source Files on master
  • Tree
  • List 40
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
27163073273 master Fix test-only JSON patches treated as non-empty mutations (#108) ## Summary - **Bug:** `_filter_resource_patch` always preserves `test` ops (uid/resourceVersion guards), so when all mutation ops are filtered out or absent, the patch list is stil... push 08 Jun 2026 09:17PM UTC web-flow github
82.1
27083097760 master Add K8s 1.36 support; drop 1.29; bump Istio to 1.30 (#106) ## Summary - Bump `kubernetes` Python client dependency to `~=36.0` (K8s 1.36) - Drop K8s 1.29 support: update Docker pre-cache range to 30–36, kindest-node floor minor to 30 - Update al... push 07 Jun 2026 06:13AM UTC web-flow github
82.04
24678569864 master Fix CPython deprecation warnings; bump json-log-formatter and jsonpath-ng (#105) ## Summary - Bump `json-log-formatter` from `~=0.3` to `~=1.0` — the old version used `datetime.utcnow()`, deprecated since Python 3.12 - Bump `jsonpath-ng` from `~... push 20 Apr 2026 05:59PM UTC web-flow github
82.04
24637370495 master Add project plugin v1: scope, ownership, cleanup (#103) ## Summary Introduces a **project plugin** that adds hierarchical scope, ownership tracking, and cleanup to Kubernator. Kubernator today is stateless — every run reconciles everything it di... push 19 Apr 2026 08:54PM UTC web-flow github
82.04
24621395421 master Add OpenAPI v3 validation with CEL rules; extract validator into k8s_schema (#104) ## Summary Extracts all OpenAPI validation out of `k8s.py` / `k8s_api.py` into a new `kubernator/plugins/k8s_schema/` package, and adds an OpenAPI v3 validator wi... push 19 Apr 2026 06:14AM UTC web-flow github
81.99
24580658204 master Refactor k8s apply: SSA test-ops, 409 retry, watch-based delete, imperative API (#102) ## Summary - Harden the K8s apply path with SSA-derived JSON-patch `test` ops for `/metadata/uid` and `/metadata/resourceVersion`, and wrap the SSA patch bran... push 17 Apr 2026 07:45PM UTC web-flow github
77.94
24375642090 master Add k3d plugin for local k3s-in-Docker clusters (#101) ## Summary - Adds a `k3d` plugin that mirrors the `kind` plugin at feature parity: same lifecycle verbs (`start_fresh`, `keep_running`), same context shape, same `_wait_for_apiserver` post-r... push 14 Apr 2026 02:24AM UTC web-flow github
76.95
24366161103 master Add kind plugin; migrate internal integration tests from minikube (#100) ## Summary Introduces a `kind` (Kubernetes IN Docker) plugin as a faster-inner-loop alternative to the existing `minikube` plugin, and migrates all 14 internal integration ... push 13 Apr 2026 09:54PM UTC web-flow github
76.88
24322768439 master Drop K8s < 1.29, bump kubernetes client to ~=35.0 (#98) ## Summary - Sets K8s floor at **1.29** and Istio floor at **1.23** (last operator release — preserves `issue_68` operator-migration tests) - Bumps `kubernetes` Python client pin `~=32.0` →... push 13 Apr 2026 03:32AM UTC web-flow github
76.53
24319828775 master Drop Python 3.9 from supported versions (#97) ## Summary - `build.py`: bump `requires_python` from `>=3.9` to `>=3.10` and remove the `Programming Language :: Python :: 3.9` classifier. - `.github/workflows/kubernator.yml`: drop `'3.9'` from the... push 13 Apr 2026 01:28AM UTC web-flow github
76.89
See All Builds (207)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc