-
Notifications
You must be signed in to change notification settings - Fork 47
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: configure sd-whonix
by package
#1051
Conversation
1712f32
to
0e18ed1
Compare
0e18ed1
to
ecd6afb
Compare
The debs are now on apt-test so I've rebased to kick off CI. |
Do we need a cleanup stage to uninstall the packages? Admittedly I can't really see anything that was cleaning it up before... |
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.
Running make dev
doesn't invoke the newly added salt thing, I had to manually run sudo qubesctl --show-output --skip-dom0 --targets whonix-gateway-17 state.highstate
and then it all worked (and I could log in and auth_private was provisioned correctly).
I think this is because the template is not tagged as sd-workstation
so it needs an explicit salt run thing.
We also need a salt state to remove the packages (purge ideally) to restore it to original state on uninstall.
176bb82
to
96e6036
Compare
96e6036
to
3114359
Compare
Thanks, all. Let me tackle the rebase after #1048 and then I'll turn this back over to you, unless you'd rather I address #1051 (comment) at the same time. |
No, I double checked with Ro as well and we can defer it to after 4.2 (but before GA). |
9303b7a
to
c5c629e
Compare
Rebased from |
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.
LGTM, just waiting on a green check from SDW CI.
Despite what's documented[1], Tor seems happy to configure client authentication for an onion address ending in ".onion". That is, I'm able to break "app-journalist.auth_private" by mangling it in other ways, but it works both with and without ".onion". If need be, we can always change the semantics of the "/vm-config/SD_HIDSERV_HOSTNAME" QubesDB key to distinguish between versions with and without the ".onion" suffix; or remove it and let applications add it where they need it. [1]: https://gitlab.torproject.org/tpo/core/tor/-/blob/7a5d94bcf842299534b667433424ac7a1133d371/doc/man/tor.1.txt#L3659
And also clean up the stuff we install and provision.
c5c629e
to
5628be9
Compare
|
5628be9
to
de4ac9a
Compare
Hmm. @legoktm, in the latest CI failure you flagged:
I've tacked on 9835669 to test the "Qubes feature to QubesDB variable" path more rigorously. But I also see one of our rebases lost the |
9835669
to
981557c
Compare
freedomofpress/securedrop-client#2056 may help here; with it I'm not able to reproduce this failure locally. However, Workstation CI does not appear to be running on new commits here.... |
981557c
to
93d4a1a
Compare
…x-config" Qubes service is enabled
93d4a1a
to
b2c17c3
Compare
Since CI isn't cooperating I'm just going to verify it manually and then merge it. |
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.
Unfortunately, I found a race condition, the /var/lib/tor/authdir
directory is created by anon-gw-anonymizer-config.service
, so we need a Requires/After (don't remember of the top of my head which one). Otherwise it'll error that the directory doesn't exist.
see https://github.com/Whonix/anon-gw-anonymizer-config/blob/master/etc/torrc.d/65_gateway.conf#L32-L39 and https://github.com/Whonix/anon-gw-anonymizer-config/blob/master/usr/libexec/anon-gw-anonymizer-config/make-sure-torrc-exist#L72.
Once that lands this should be ready to go, 🤞🏾
Thanks! On it. |
Great catch: it looks like this was the cause of the original CI failure I wasn't able to reproduce locally. Fixed proposed and explained (with one |
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.
Status
Ready for review
Blocked on build: packagesecuredrop-qubesdb
andsecuredrop-whonix-config
securedrop-client#2032Description of Changes
Closes #1039 by configuring
sd-whonix
using freedomofpress/securedrop-client#2032'ssecuredrop-whonix-config
rather than Salt.Closes #936.
Testing
If testing after freedomofpress/securedrop-client#2032:
make clone && make dev
...and if testing in conjunction with freedomofpress/securedrop-client#2032:
sd-base-bookworm-template
: manually installsecuredrop-qubesdb
make dev
againwhonix-gateway-17
: manually installsecuredrop-qubesdb
andsecuredrop-whonix-config
make dev again
Either way, finally:
Checklist
If you have made changes to the provisioning logic
make test
) pass indom0
If you have added or removed files
MANIFEST.in
andrpm-build/SPECS/securedrop-workstation-dom0-config.spec