Make nodes lifetimes configurable like factset's are. When expiration is set to false, the node should not be expired, even if it otherwise would have been, i.e. even if all of its reports, catalog, factset, etc. are gone.
Add a node "timestamp" and boolean (perhaps in the certnames table) that will behave like the other lifetime-related timestamps, i.e. the factsets/reports timestamps, and adjust the configure expiration command to affect it the two values when the "expires" field includes "node"., i.e. {"certname": ... "expire": {"node": <boolean>} ...}. (Not sure yet whether configure expiration should initially allow more than one field in expires, i.e. "facts" and "node" -- not critical for now.). The configure expiration command should behave like it does for facts, maybe reactivating the node, etc.
(If the boolean ends up in the certnames table, not sure what to call it -- "expire" and "expire_updated" would more or less match facts, and be accurate, but might be confusing? Given the existing "expired" column.)
This ticket only needs to cover the schema/migration, command adjustment, and attendant docs (e.g. the configure expiration wire format, and possibly information about the new node timestamp). Related tickets will cover the remaining work. |
|
|