Avoid auto-vivification for runner token
This fixes an issue with the runner token not being populated
correctly if token
were omitted from a Chef role.
Previously if token
were not specified, the AttributesWriter
would
quietly assign the value to {}
because of Chef's auto-vivify
feature.
This means that for runner tokens secrets to work, a role must
specify a null
value of token
.
However, for Chef 16, the behavior of nil
values has changed:
https://docs.chef.io/release_notes_client/#15.0.293-node-attributes-deep-merge-nil-values.
This means that we need to omit token
from the role for the
attributes to be resolved correctly.
Edited by Stan Hu