{% extends 'base/layout.html' %} {% load form_helpers %} {% load i18n %} {% load proxbox_tags %} {% block title %}{% trans "Proxbox Settings" %}{% endblock %} {% block content %}

{% trans "Plugin Settings" %}

{% csrf_token %} {# Sync Settings Card #}
{% trans "Sync Settings" %}

{% blocktrans trimmed %} Configure runtime behavior for Proxbox synchronization. {% endblocktrans %}

{% render_field form.use_guest_agent_interface_name %} {% render_field form.proxbox_fetch_max_concurrency %} {% render_field form.ignore_ipv6_link_local_addresses %} {% render_field form.primary_ip_preference %} {% render_field form.backend_log_file_path %}
{# NetBox Integration Card #}
{% trans "NetBox Integration" %}

{% blocktrans trimmed %} Configure NetBox API connection behavior, caching, and bulk operation parameters. {% endblocktrans %}

{% render_field form.netbox_max_concurrent %} {% render_field form.netbox_max_retries %} {% render_field form.netbox_retry_delay %} {% render_field form.netbox_get_cache_ttl %} {% render_field form.bulk_batch_size %} {% render_field form.bulk_batch_delay_ms %} {% render_field form.vm_sync_max_concurrency %} {% render_field form.custom_fields_request_delay %}
{# Sync Overwrite Behavior — one card per resource category #}
{% trans "Sync Overwrite Behavior" %}

{% blocktrans trimmed %} Control whether sync overwrites specific fields on existing NetBox objects. These are the global defaults; individual Proxmox endpoints can override each value from their Settings tab. {% endblocktrans %}

{% for group_label, group_fields in overwrite_field_groups %}
{{ group_label }}
{% for field_name in group_fields %} {% render_field form|form_field:field_name %} {% endfor %}
{% endfor %} {# Proxmox API Card #}
{% trans "Proxmox API" %}

{% blocktrans trimmed %} Configure default timeout and retry behavior for Proxmox API requests. Individual endpoints can override these values. {% endblocktrans %}

{% render_field form.proxmox_timeout %} {% render_field form.proxmox_max_retries %} {% render_field form.proxmox_retry_backoff %}
{# SSRF Protection Card #}
{% trans "SSRF Protection" %}

{% blocktrans trimmed %} Configure Server-Side Request Forgery (SSRF) protection for endpoint validation. Endpoints registered in the database are automatically allowed. {% endblocktrans %}

{% render_field form.ssrf_protection_enabled %} {% render_field form.allow_private_ips %} {% render_field form.additional_allowed_ip_ranges %} {% render_field form.explicitly_blocked_ip_ranges %}
{# Encryption Card #}
{% trans "Encryption" %}

{% blocktrans trimmed %} Configure credential encryption for proxbox-api. When enabled, sensitive credentials are encrypted at rest using the key below. The encryption key can also be set via the PROXBOX_ENCRYPTION_KEY environment variable on the proxbox-api host. {% endblocktrans %}

{% render_field form.encryption_enabled %} {% render_field form.encryption_key %}
{% endblock %}