{% extends 'layout.twig' %} {% block title %}Settings — IRDB{% endblock %} {% block content %}

Settings

Admin only · read-only · masked secrets
{% if error %}
{{ error }}
{% endif %} {# ------------------------- Configuration ------------------------- #} {% if config and config.sections %}

Configuration

Effective values from the api's environment. Secrets are masked (***) or previewed (first 8 chars + …).

{% for section_name, items in config.sections %}
{{ section_name }}
{% for key, value in items %}
{{ key }}
{%- if value is null -%} {%- elseif value is same as(true) -%}true {%- elseif value is same as(false) -%}false {%- else -%}{{ value }}{%- endif -%}
{% endfor %}
{% endfor %}
{% endif %} {# ------------------------------ Jobs ----------------------------- #} {% if jobs and jobs.jobs %}

Jobs

Latest run, lock state, and manual-trigger buttons. Manual triggers run synchronously — wait for the response.

{% for name, info in jobs.jobs %} {% endfor %}
Name Last status Last finished Items Trigger
{{ name }} {% if info.overdue %} overdue {% endif %} {% if info.last_run %} {% set s = info.last_run.status %} {% set classes = { 'success': 'bg-emerald-100 text-emerald-900 dark:bg-emerald-900 dark:text-emerald-100', 'failure': 'bg-red-100 text-red-900 dark:bg-red-900 dark:text-red-100', 'skipped_locked': 'bg-amber-100 text-amber-900 dark:bg-amber-900 dark:text-amber-100', 'running': 'bg-blue-100 text-blue-900 dark:bg-blue-900 dark:text-blue-100', } %} {{ s }} {% else %} never run {% endif %} {{ info.last_run.finished_at|default('—') }} {{ info.last_run.items_processed|default('—') }} {% if name != 'tick' %}
{% else %} scheduled {% endif %}
{% endif %} {# ------------------------------ GeoIP ----------------------------- #} {% if config and config.sections.geoip %}

GeoIP

Provider, on-disk paths, and credential state. DB freshness comes from healthz; the trigger button on refresh-geoip is in the Jobs section above.

Provider
{{ config.sections.geoip.GEOIP_PROVIDER|default('—') }}
Country DB
{{ config.sections.geoip.GEOIP_COUNTRY_DB|default('—') }}
ASN DB
{{ config.sections.geoip.GEOIP_ASN_DB|default('—') }}
MaxMind key
{{ config.sections.geoip.MAXMIND_LICENSE_KEY ? config.sections.geoip.MAXMIND_LICENSE_KEY : '(unset)' }}
IPinfo token
{{ config.sections.geoip.IPINFO_TOKEN ? config.sections.geoip.IPINFO_TOKEN : '(unset)' }}
{% endif %}
{% endblock %}