Licenscope
Licenscope
Licenscope is a Python-based monitoring tool designed to track license, entitlement, and TLS certificate expiration dates across different systems.
It helps prevent outages and operational surprises by proactively detecting upcoming expirations and sending alerts to your notification channels.
Purpose
Many services and platforms rely on time-bound licenses, subscriptions, or certificates. When these expire unexpectedly, they can cause downtime, blocked deployments, or degraded functionality.
Licenscope aims to solve this by providing a single, configurable tool to:
- Fetch expiration-related data from multiple sources
- Extract expiration timestamps using flexible parsers
- Generate normalized expiration results
- Notify teams when thresholds are reached
How it works
Licenscope follows a simple pipeline:
Collect → Parse → Normalize → Notify
1) Collect (Sources)
Licenscope can pull data from different kinds of sources:
- File sources (local license dumps, exported text, etc.)
- URL sources (HTTP/HTTPS endpoints such as vendor APIs or dashboards)
- Certificate sources (reads remote TLS certificates and checks expiration)
2) Parse (Parsers)
It supports multiple parsing strategies depending on how your data is formatted:
- Regex parser
Extracts expiration values using named regex groups (e.g.,expires_at) - JSON parser
Reads expiration fields via dotted-path lookups (structured JSON sources) - Jinja2 parser (optional dependency)
Uses templates to transform source content into normalized JSON output
3) Notify
Once expirations are detected (or thresholds are crossed), Licenscope can send alerts to supported integrations such as:
- Slack
- Opsgenie
- PagerDuty
- (and a local stdout option for debugging / validation)
Configuration
Licenscope is configured using a TOML file (typically licenscope.toml) where you define:
- Default timezone
- Sources (where to fetch the data)
- Parsers (how to interpret it)
- Notification channels
Templates for popular systems are available under templates/ (examples include GitLab, SonarQube, Nexus, and TLS certificate checks).
Example use cases
- Alert on GitLab license expiry before it interrupts CI/CD pipelines
- Track SonarQube / Nexus / other vendor licenses across environments
- Monitor TLS certificates for expiration and send Slack alerts
- Consolidate expiration monitoring into one tool instead of custom scripts per vendor
← Back to projects