Skip to content

v0.8.0 — Workflow Automation & External Sources

Choose a tag to compare

@github-actions github-actions released this 22 Mar 17:53
· 194 commits to dev since this release
93bee25

What's New

Auto-Archive Policy (#50)

  • New Archived status for certificates
  • CertificateAutoArchive NetBox Script with configurable threshold (default 90 days)
  • Archive pin to prevent auto-archival of specific certificates
  • Dry-run mode and tenant filtering

Bulk Operations Extension (#48)

  • POST /bulk-status-update — update status for multiple certificates at once
  • POST /bulk-assign — assign multiple certificates to a device/service in one call
  • Content type allowlist, duplicate detection, batch size limits

Certificate Lifecycle Tracking (#49)

  • CertificateLifecycleEvent model with 9 event types
  • Automatic event creation on status transitions and assignment changes
  • Timeline view tab on certificate detail page
  • GET /certificates/{id}/lifecycle API endpoint

Renewal Reminders & Runbooks (#47)

  • Per-CA renewal_instructions field (Markdown)
  • Per-certificate renewal_note override
  • Renewal instructions included in expiry event payloads
  • Renewal Guide card on certificate detail page

External Source Framework (#62)

  • Sync certificates from external systems (Lemur, generic REST APIs)
  • LemurAdapter — Netflix Lemur integration (read-only, Bearer auth, pagination)
  • GenericRESTAdapter — configurable field mapping for any REST API
  • 4-phase sync engine: FETCH → DIFF → APPLY → LOG
  • Janus renewal detection during sync
  • ExternalSource model with CRUD views, API, and GraphQL
  • ExternalSourceSync NetBox Script (scheduled or manual)
  • Credential resolver (env:VAR_NAME — never plaintext in DB)
  • Dry-run mode, sync logging, source_removed tracking

Security

  • 34 security/code review findings addressed
  • SSRF prevention, private key guard, atomic transactions, error sanitization

Migrations

Run python manage.py migrate netbox_ssl after upgrading.

# Name Feature
0010 certificate_archive_fields Auto-archive
0011 certificatelifecycleevent Lifecycle tracking
0012 renewal_instructions Renewal reminders
0013 external_source_framework External sources
0014 merge_v080 Merge migration

New Plugin Settings

PLUGINS_CONFIG = {
    "netbox_ssl": {
        "auto_archive_enabled": False,
        "auto_archive_after_days": 90,
        "bulk_status_update_max_batch_size": 100,
        "bulk_assign_max_batch_size": 100,
        "external_source_sync_enabled": True,
        "external_source_default_interval": 1440,
        "external_source_never_fetch_keys": True,
    }
}

Compatibility

NetBox Plugin Python
4.5.x v0.8.0 3.10–3.12
4.4.x v0.8.0 3.10–3.12

Testing

199 new unit tests | CI verified on NetBox v4.4 + v4.5 | Playwright E2E passing

Full Changelog: v0.7.5...v0.8.0