You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/util/syspolicy/setting
Nick Khyl 4df02bbb48 util/syspolicy/setting: use a custom marshaler for time.Duration
jsonv2 now returns an error when you marshal or unmarshal a time.Duration
without an explicit format flag. This is an intentional, temporary choice until
the default [time.Duration] representation is decided (see golang/go#71631).

setting.Snapshot can hold time.Duration values inside a map[string]any,
so the jsonv2 update breaks marshaling. In this PR, we start using
a custom marshaler until that decision is made or golang/go#71664
lets us specify the format explicitly.

This fixes `tailscale syspolicy list` failing when KeyExpirationNotice
or any other time.Duration policy setting is configured.

Fixes #16683

Signed-off-by: Nick Khyl <nickk@tailscale.com>
4 months ago
..
errors.go util/syspolicy/source: add package for reading policy settings from external stores 1 year ago
key.go util/syspolicy: implement a syspolicy store that reads settings from environment variables 1 year ago
origin.go all: statically enforce json/v2 interface satisfaction (#15154) 9 months ago
policy_scope.go util/syspolicy: add rsop package that provides access to the resultant policy 1 year ago
policy_scope_test.go util/syspolicy/setting: add package that contains types for the next syspolicy PRs 1 year ago
raw_item.go all: statically enforce json/v2 interface satisfaction (#15154) 9 months ago
raw_item_test.go util/syspolicy/setting: make setting.RawItem JSON-marshallable 1 year ago
setting.go all: unify some redundant testing.TB interface copies 8 months ago
setting_test.go util/syspolicy/setting: add package that contains types for the next syspolicy PRs 1 year ago
snapshot.go util/syspolicy/setting: use a custom marshaler for time.Duration 4 months ago
snapshot_test.go util/syspolicy/setting: use a custom marshaler for time.Duration 4 months ago
summary.go all: statically enforce json/v2 interface satisfaction (#15154) 9 months ago
types.go util/syspolicy/setting: add package that contains types for the next syspolicy PRs 1 year ago