-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
deploy: set vm-config
features for sd-{app,proxy,whonix}
#1001
Conversation
…configuration keys This eliminates the need to treat $QUBES_GPG_DOMAIN as special: now only a VM that expects it lists it in its "expected_config_keys" set, and any other VM will fail SD_VM_Local_Test.test_vm_config_keys() if it's present.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome, this looks great. Test plan checked out (qubesdb-read works properly, setting another key causes tests to fail).
Explicitly noting that the PGP secret key is not included in this PR, per #936 (comment) and follow-up discussion.
One other thing I was curious about is whether we need to explicitly delete these or if they're removed as part of VM deletion. So I set an extra key (as part of the earlier testing), did a sdw-admin --uninstall && make dev
and that key is (correctly) missing.
Status
Ready for review
Description of Changes
Towards #936 (superseding #956 due to its
skip-ci/
prefix):config.json
to keys under thevm-config/
prefix in QubesDB (under thevm-config.
prefix in Salt); andQUBES_GPG_DOMAIN
;config.json
; andTODO
hints in state files that can be removed as each VM's applications are updated to read configuration from this store, as in feat(Config
): read from QubesDB if available; otherwise from environment variables securedrop-client#1883, and their Salt-managed configuration files can be removed.Testing
With this branch checked out in your
$SECUREDROP_DEV_VM
:Now you can poke around (e.g.):
That's it! Since nothing downstream consumes from this configuration store yet, it has no side effects.
Extra credit
Test the enforcement of expected configuration keys:
Deployment
As part of work towards #965, this assumes a fresh installation (except during testing) and so has no special considerations.
Checklist
If you have made changes to the provisioning logic
make test
) pass indom0