Commit Graph

14 Commits (d54716338af0b7a1c874c1898fa3e4c29160cabb)

Author SHA1 Message Date
Jordan Liggitt ef4983fb52 Update generated files 2019-01-15 13:33:06 -05:00
Jordan Liggitt fd9e9b01b1 Remove uses of extensions/v1beta1 clients 2018-12-19 11:18:53 -05:00
Davanum Srinivas 43f523d405
Switch to sigs.k8s.io/yaml from ghodss/yaml
Change-Id: Ic72b5131bf441d159012d67a6a3d87088d0e6d31
2018-11-07 13:17:32 -05:00
Jeff Grafton 23ceebac22 Run hack/update-bazel.sh 2018-06-22 16:22:57 -07:00
Jeff Grafton a725660640 Update to gazelle 0.12.0 and run hack/update-bazel.sh 2018-06-22 16:22:18 -07:00
fanzhangio 0299a2403f Add conflict detection feature to apply strategy
- Add DetectConflictor interface on Element level. Implemented it for particular elements.
- If Options.FailOnConflict is enabled, Merge will detect conflict by invoking doConflictDecect for particular element,
  returning ConflictError with details.
- Add tests, including use case examples and illustration. For example: list, map, and complicated combination.
2018-03-23 01:56:20 -07:00
Jeff Grafton ef56a8d6bb Autogenerated: hack/update-bazel.sh 2018-02-16 13:43:01 -08:00
Phillip Wittrock 51d1da1e94 Support retainkeys strategy in new apply merge code 2017-11-02 10:00:56 -07:00
Phillip Wittrock 1fef312102 Small refactorings for kubectl/apply merge packages
- move strings into constants
- remove unnecessary interface
- fix documentation
- improve error messaging
2017-11-01 13:10:13 -07:00
Antoine Pelisse ed38f43495 apply/strategy: Improve test performance
Test running time goes from 150 seconds to 7 seconds with that one
simple trick. Do not re-parse openapi schema for every test, but keep
one version for the whole test (specifically since it's read-only anyway).
2017-10-23 20:29:39 -07:00
Antoine Pelisse 5fa8702af4 Fix govet in pkg/kubectl/apply 2017-10-23 14:07:01 -07:00
Jeff Grafton aee5f457db update BUILD files 2017-10-15 18:18:13 -07:00
Phillip Wittrock 32e16d09b3 Address PR comments 2017-10-02 14:39:07 -07:00
Phillip Wittrock df5fc7a2df Beginning of rewrite apply merge-logic using visitor pattern.
Major changes:
- Don't generate a patch, instead generate the merged object so it can be used with PUT
- Separate tree parsing logic to collate items in a list from the delete / merge / replace / add logic when merging
- Use openapi for merge strategy metadata so it works with extensions and version skew
- Support multi-field mergekeys when merging lists
- Support replace strategy for maps
- Reduce complexity of generating order when merging lists - keep the locally defined order and append remote only-items

Continue to support:
- Explicitly setting fields to null
- Merging lists of primitives
- Don't randomize ordering when merging lists

TODO:
- Retain keys
- Conflict detection
2017-10-02 14:37:32 -07:00