feat: add cloudflare module for dynamic dns updates
This commit is contained in:
parent
ce67360c3c
commit
837bafba09
3 changed files with 95 additions and 0 deletions
|
|
@ -5,6 +5,7 @@ from .ingress import IngressManager
|
|||
from .router import RouterManager
|
||||
from .proxmox import ProxmoxManager
|
||||
from .samba import SambaManager
|
||||
from .cloudflare import CloudflareManager
|
||||
import sys
|
||||
|
||||
@click.group()
|
||||
|
|
@ -18,6 +19,26 @@ def cli(ctx, config):
|
|||
click.echo(f"Error: {e}", err=True)
|
||||
sys.exit(1)
|
||||
|
||||
@cli.group()
|
||||
def cloudflare():
|
||||
"""Manage Cloudflare DNS and DDNS"""
|
||||
pass
|
||||
|
||||
@cloudflare.command(name='list-ddns')
|
||||
@click.pass_obj
|
||||
def cf_list_ddns(config):
|
||||
mgr = CloudflareManager(config)
|
||||
for domain in mgr.list_domains():
|
||||
click.echo(domain)
|
||||
|
||||
@cloudflare.command(name='update-ddns')
|
||||
@click.option('--force', is_flag=True, help='Force update even if IP matches')
|
||||
@click.pass_obj
|
||||
def cf_update_ddns(config, force):
|
||||
mgr = CloudflareManager(config)
|
||||
click.echo("Updating Cloudflare DDNS records...")
|
||||
click.echo(mgr.update_ddns(force))
|
||||
|
||||
@cli.group()
|
||||
def proxmox():
|
||||
"""Manage Proxmox VMs and Containers"""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue