letsencrypt: Revoke certificate only if it exists

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
Sunil Mohan Adapa 2019-08-01 20:57:01 -07:00 committed by James Valleroy
parent ba4afd2a09
commit 8ece36893c
No known key found for this signature in database
GPG Key ID: 77C0C75E7B650808

View File

@ -227,20 +227,21 @@ def subcommand_revoke(arguments):
"""Disable a domain and revoke the certificate."""
domain = arguments.domain
command = [
'certbot', 'revoke', '--non-interactive', '--domain', domain,
'--cert-path',
os.path.join(le.LIVE_DIRECTORY, domain, 'cert.pem')
]
if TEST_MODE:
command.append('--staging')
cert_path = pathlib.Path(le.LIVE_DIRECTORY) / domain / 'cert.pem'
if cert_path.exists():
command = [
'certbot', 'revoke', '--non-interactive', '--domain', domain,
'--cert-path', cert_path
]
if TEST_MODE:
command.append('--staging')
process = subprocess.Popen(command, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
_, stderr = process.communicate()
if process.returncode:
print(stderr.decode(), file=sys.stderr)
sys.exit(1)
process = subprocess.Popen(command, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
_, stderr = process.communicate()
if process.returncode:
print(stderr.decode(), file=sys.stderr)
sys.exit(1)
action_utils.webserver_disable(domain, kind='site')