Skip to content

Commit 5c79282

Browse files
committed
doc: initial attempt to document setup of pgp support for email.
Used an AI assistant to help write this. Basic gpg commands seem to work, but I have not tested this totally. Docs basically follow the setup used for pgp testing in the test suite. It looks like roundup accepts signed emails as well as encrypted and signed emails. But it does not generate signed emails. Also it looks like there is no PGP support for alternate email addresses. Only primary addresses can do PGP emails.
1 parent 7ef5b13 commit 5c79282

File tree

2 files changed

+83
-0
lines changed

2 files changed

+83
-0
lines changed

doc/admin_guide.txt

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1870,6 +1870,87 @@ Because environment variables can be inadvertently exposed in
18701870
logs or process listings, Roundup does not currently support
18711871
loading secrets from environment variables.
18721872

1873+
.. _pgpconfig:
1874+
1875+
Configuring PGP Email Support
1876+
=============================
1877+
1878+
.. note::
1879+
This section was written with the help of the Devin/DeepWiki AI.
1880+
1881+
You have to install the gpg module using pip. See :ref:`directions for
1882+
installing gpg <gpginstall>`
1883+
in the upgrading document for more information.
1884+
1885+
In your tracker's config.ini configure the following settings in the
1886+
``[pgp]`` section::
1887+
1888+
enable = yes
1889+
homedir = /path/to/pgp/configdir
1890+
roles = admin
1891+
1892+
This will allow any user with the admin role to send signed pgp
1893+
email. If ``roles`` is not set, all users will need to use signed
1894+
emails. If it is not signed it will be rejected. Note that ``homedir``
1895+
must be an absolute path. Unlike other path settings, a relative path
1896+
is not interpreted relative to the tracker home. See the documentation
1897+
in config.ini for more information and other settings (e.g. to send
1898+
encrypted emails from the tracker).
1899+
1900+
When PGP is enabled and a message is signed with a valid signature,
1901+
the database transaction source (db.tx_Source) is set to
1902+
``email-sig-openpgp`` instead of ``email``. This allows you to
1903+
restrict certain operations (e.g. changing a private flag) to
1904+
authenticated/signed emails.
1905+
1906+
Creating GPG Keys for the Tracker
1907+
---------------------------------
1908+
1909+
To generate a keypair use::
1910+
1911+
gpg --homedir /path/to/pgp/configdir --gen-key
1912+
1913+
where the homedir directory matches the one you set in
1914+
config.ini. Note the gpg homedir must be created before you run the
1915+
command. You will be prompted for the full name of your tracker and
1916+
the email address for your tracker. You also need to do with as the
1917+
user who runs roundup (aka the roundup user) and the roundup email
1918+
gateway. Do not encrypt the key.
1919+
1920+
Roundup has no mechanism for reading the private key if it is
1921+
encrypted. So make sure the permissions on the homedir only allow the
1922+
roundup user to read the files.
1923+
1924+
You can export the public key for use by clients using::
1925+
1926+
gpg --homedir /path/to/pgp/configdir --export -a [email protected] > tracker-public.key
1927+
1928+
with homedir and email matching the values used to generate the
1929+
key. This will allow users to import the public key and encrypt emails
1930+
to the tracker.
1931+
1932+
The public gpg key for each user's email address must be imported. To
1933+
do this, obtain the user's public key for their primary email address
1934+
and import it using::
1935+
1936+
gpg --homedir /path/to/tracker/gpg --import user-public-key.asc
1937+
1938+
While Roundup supports multiple addresses for each user, only the
1939+
primary address supports PGP signed or encrypted messages.
1940+
1941+
.. comment:
1942+
Questions:
1943+
1944+
Can roundup send signed emails? (looks like no, why??)
1945+
1946+
Why are alternate addresses not supported for receiving PGP emails?
1947+
1948+
Does Roundup ever send an email to an alternate email address?
1949+
1950+
Should there be some way for a user to upload their own public key?
1951+
If so what ui (paste armored asci cert in textbox, upload ascii
1952+
file from user page and process)?
1953+
18731954
Tasks
18741955
=====
18751956

doc/upgrading.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -785,6 +785,8 @@ request (tu.client.request), the translator for the current language
785785

786786
You can find an example in :ref:`dynamic_csp`.
787787

788+
.. _gpginstall:
789+
788790
Directions for installing gpg (optional)
789791
----------------------------------------
790792

0 commit comments

Comments
 (0)