Source: golang-k8s-sigs-structured-merge-diff-v6 Section: golang Maintainer: Debian Go Packaging Team Uploaders: Arthur Diniz , Build-Depends: debhelper-compat (= 14), dh-sequence-golang, dpkg-build-api (= 1), golang-any, golang-github-google-go-cmp-dev, golang-github-json-iterator-go-dev, golang-gopkg-yaml.v2-dev, golang-k8s-sigs-randfill-dev, Testsuite: autopkgtest-pkg-go Standards-Version: 4.7.4 Vcs-Browser: https://salsa.debian.org/go-team/packages/golang-k8s-sigs-structured-merge-diff-v6 Vcs-Git: https://salsa.debian.org/go-team/packages/golang-k8s-sigs-structured-merge-diff-v6.git Homepage: https://github.com/kubernetes-sigs/structured-merge-diff XS-Go-Import-Path: sigs.k8s.io/structured-merge-diff/v6 Package: golang-k8s-sigs-structured-merge-diff-v6-dev Architecture: all Multi-Arch: foreign Depends: golang-github-google-go-cmp-dev, golang-github-json-iterator-go-dev, golang-gopkg-yaml.v2-dev, golang-k8s-sigs-randfill-dev, Description: Kubernetes server-side apply operation (library) This library implements the Kubernetes "apply" operation, the mechanism behind server-side apply. It models resources in a control plane as having multiple "managers", where each manager typically owns only one aspect of a resource. This lets both humans and machines (controllers) make the changes they need without clobbering fields owned by other managers. The set of fields each manager currently owns is tracked explicitly using a fieldset data structure. . Objects can be modified through two mechanisms. A PUT or PATCH request makes the object look exactly like the supplied version, and the managed fields are deduced from what changes. An APPLY request instead declares the fields a manager wants to own, requesting deletion of any fields it previously managed but no longer mentions. When one manager starts managing a field owned by another, an APPLY reports a conflict and stops unless the "force" option is given, preventing accidental takeover of fields owned by other entities. PUT and PATCH always force and are used mostly by automated systems. . The package is organised into several building blocks: a targeted schema type (simpler than OpenAPI), a fieldpath package providing an efficient Trie-based field-set structure, a value type storing arbitrary objects, a typed package that combines values and schemas to validate and compare objects, and a merge package that ties everything together to implement the apply operation. . This is version 6 of the module sigs.k8s.io/structured-merge-diff.