freeipa/ipaserver
Rob Crittenden 78298fd4e1 ipa-acme-manage: add certificate/request pruning management
Configures PKI to remove expired certificates and non-resolved
requests on a schedule.

This is geared towards ACME which can generate a lot of certificates
over a short period of time but is general purpose. It lives in
ipa-acme-manage because that is the primary reason for including it.

Random Serial Numbers v3 must be enabled for this to work.

Enabling pruning enables the job scheduler within CS and sets the
job user as the IPA RA user which has full rights to certificates
and requests.

Disabling pruning does not disable the job scheduler because the
tool is stateless. Having the scheduler enabled should not be a
problem.

A restart of PKI is required to apply any changes. This tool forks
out to pki-server which does direct writes to CS.cfg. It might
be easier to use our own tooling for this but this makes the
integration tighter so we pick up any improvements in PKI.

The "cron" setting is quite limited, taking only integer values
and *. It does not accept ranges, either - or /.

No error checking is done in PKI when setting a value, only when
attempting to use it, so some rudimentary validation is done.

Fixes: https://pagure.io/freeipa/issue/9294

Signed-off-by: Rob Crittenden rcritten@redhat.com
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
2023-02-02 07:36:16 +01:00
..
advise pylint: Skip raising-bad-type 2022-03-11 13:37:08 -05:00
custodia pylint: fix consider-iterating-dictionary 2023-01-10 08:30:58 +01:00
dnssec pylint: Fix useless-suppression 2022-03-11 13:37:08 -05:00
install ipa-acme-manage: add certificate/request pruning management 2023-02-02 07:36:16 +01:00
plugins automember-rebuild: add a notice about high CPU usage 2023-02-02 07:33:36 +01:00
secrets pylint: disable missing-timeout message 2023-01-10 08:30:58 +01:00
__init__.py Change FreeIPA license to GPLv3+ 2010-12-20 17:19:53 -05:00
dcerpc_common.py Py3: Replace six.text_type with str 2018-09-27 16:11:18 +02:00
dcerpc.py pylint: Fix unused-variable 2022-03-11 13:37:08 -05:00
dns_data_management.py Generate CNAMEs for TXT+URI location krb records 2022-11-23 20:00:17 +01:00
Makefile.am Build: Makefiles for Python packages 2016-11-09 13:08:32 +01:00
masters.py Add hidden replica feature 2019-03-28 17:57:58 +01:00
p11helper.py Grammar: whitespace is a word 2020-06-23 10:16:29 +02:00
rpcserver.py pylint: disable missing-timeout message 2023-01-10 08:30:58 +01:00
servroles.py Use api.env.container_sysaccounts 2020-04-28 11:28:29 +02:00
setup.cfg Port all setup.py to setuptools 2016-10-20 18:43:37 +02:00
setup.py Also drop Custodia client and forwarder 2021-06-16 10:28:17 -04:00
topology.py pylint: Fix consider-using-dict-items 2022-03-11 13:37:08 -05:00
wsgi.py Improve wsgi app loading 2021-04-07 11:43:23 +03:00