feat: add certificate management module and schedule auto-renewal cron
This commit is contained in:
parent
42767fd8bc
commit
f793ddd02f
6 changed files with 214 additions and 198 deletions
|
|
@ -7,6 +7,7 @@ from .proxmox import ProxmoxManager
|
|||
from .samba import SambaManager
|
||||
from .cloudflare import CloudflareManager
|
||||
from .database import DatabaseManager
|
||||
from .cert import CertificateManager
|
||||
import sys
|
||||
|
||||
@click.group()
|
||||
|
|
@ -20,6 +21,31 @@ def cli(ctx, config):
|
|||
click.echo(f"Error: {e}", err=True)
|
||||
sys.exit(1)
|
||||
|
||||
@cli.group()
|
||||
def cert():
|
||||
"""Manage SSL/TLS Certificates"""
|
||||
pass
|
||||
|
||||
@cert.command(name='list')
|
||||
@click.pass_obj
|
||||
def cert_list(config):
|
||||
mgr = CertificateManager(config)
|
||||
click.echo(mgr.list_certs())
|
||||
|
||||
@cert.command(name='status')
|
||||
@click.pass_obj
|
||||
def cert_status(config):
|
||||
mgr = CertificateManager(config)
|
||||
click.echo(f"Main Certificate Expiry: {mgr.check_expiry()}")
|
||||
|
||||
@cert.command(name='renew')
|
||||
@click.option('--force', is_flag=True, help='Force full SAN discovery and renewal')
|
||||
@click.pass_obj
|
||||
def cert_renew(config, force):
|
||||
mgr = CertificateManager(config)
|
||||
click.echo("Running dynamic SAN manager...")
|
||||
click.echo(mgr.renew(force))
|
||||
|
||||
@cli.group()
|
||||
def db():
|
||||
"""Manage PostgreSQL Databases and Users"""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue