2a7c1cc1d6
Taking the same approach as was taken in containerd The new library has a slightly different output; - keys at the same level are sorted alphabetically - empty sections not omitted (`proxy_plugins`, `stream_processors`, `timeouts`), which could possibly be be addressed with an "omitempty" in containerd's struct. - empty slices are not omitted (`imports`, `required_plugins`) After sorting the "before" configuration the diff looks like this: ```patch diff --git a/config-before-sorted.toml b/config-after.toml index cc771ce7ab..43a727f589 100644 --- a/config-before-sorted.toml +++ b/config-after.toml @@ -1,6 +1,8 @@ disabled_plugins = ["cri"] +imports = [] oom_score = 0 plugin_dir = "" +required_plugins = [] root = "/var/lib/docker/containerd/daemon" state = "/var/run/docker/containerd/daemon" version = 0 @@ -37,6 +39,12 @@ version = 0 shim = "containerd-shim" shim_debug = true +[proxy_plugins] + +[stream_processors] + +[timeouts] + [ttrpc] address = "" gid = 0 ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
29 lines
744 B
Go
29 lines
744 B
Go
// Position support for go-toml
|
|
|
|
package toml
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
// Position of a document element within a TOML document.
|
|
//
|
|
// Line and Col are both 1-indexed positions for the element's line number and
|
|
// column number, respectively. Values of zero or less will cause Invalid(),
|
|
// to return true.
|
|
type Position struct {
|
|
Line int // line within the document
|
|
Col int // column within the line
|
|
}
|
|
|
|
// String representation of the position.
|
|
// Displays 1-indexed line and column numbers.
|
|
func (p Position) String() string {
|
|
return fmt.Sprintf("(%d, %d)", p.Line, p.Col)
|
|
}
|
|
|
|
// Invalid returns whether or not the position is valid (i.e. with negative or
|
|
// null values)
|
|
func (p Position) Invalid() bool {
|
|
return p.Line <= 0 || p.Col <= 0
|
|
}
|