Skip to content
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: install template-from-qubesdb in base template and sd-whonix #1040

Closed
wants to merge 4 commits into from

Conversation

cfm
Copy link
Member

@cfm cfm commented May 23, 2024

Status

Ready for review

Description of Changes

Follow-up work

Testing

  1. Delete all your sd-* VMs so that sd-{large,small}-bookworm-templates can be recreated

  2. make clone && make dev

  3. In sd-whonix, create and test a template, e.g.:

    [gateway user ~] % cat > template <<EOF
    > {"hidserv_hostname": "$SD_HIDSERV_HOSTNAME"}
    > EOF
    [gateway user ~] % template-from-qubesdb template newfile
  4. newfile contains the value of qubesdb-read /vm-config/SD_HIDSERV_HOSTNAME.

Checklist

If you have made changes to the provisioning logic

  • All tests (make test) pass in dom0

No tests are required here, but they will be for the "Follow-Up Tasks" listed above.

If you have added or removed files

  • I have updated MANIFEST.in and rpm-build/SPECS/securedrop-workstation-dom0-config.spec

@cfm cfm force-pushed the 1039-template-from-qubesdb branch from ebc49d5 to 2223ff8 Compare May 23, 2024 01:32
@cfm cfm force-pushed the 1039-template-from-qubesdb branch from 2223ff8 to b046ec4 Compare May 23, 2024 01:42
@legoktm
Copy link
Member

legoktm commented May 23, 2024

which is installed directly into the base template and sd-whonix so that it's available without requiring the installation of a separate package. (This approach is up for debate!)

Since it's going in a template/VM, I think it should be in a package. Also we'll presumably want a oneshot systemd command to generate the file on VM startup, so that'll also benefit from being packaged?

I think creating a new securedrop-qubesdb package would be pretty lightweight (or securedrop-whonix-config or ...) if it's just installing one Python file, the config template and a systemd service.

@legoktm
Copy link
Member

legoktm commented May 23, 2024

The downside is that we'll need to install the securedrop-keyring package in the whonix template :/

@cfm
Copy link
Member Author

cfm commented May 23, 2024

Yes, exactly. I've been thinking about this mechanism as a concession to the reality that we will want to configure third-party things = things not from our packages = things not necessarily on top of our base template. So consider this a straw man for the purpose of testing that hypothesis—let's discuss further.

@cfm
Copy link
Member Author

cfm commented May 23, 2024

@legoktm and I have discussed the tradeoff between (a) directly injecting this script (as proposed here) versus (b) packaging it. The new plan of action is to:

  1. move this script back to securedrop-client;
  2. package it as securedrop-qubesdb; and
  3. create a package that depends on securedrop-qubesdb for each VM or feature that needs QubesDB configuration (e.g., Set logvm via vm-config #1029) to set up a one-shot systemd timer to configure itself using this script.

@cfm cfm closed this May 23, 2024
@cfm cfm mentioned this pull request May 29, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
2 participants