Skip to content

GitHub Action to monitor TLS certificates.

License

Notifications You must be signed in to change notification settings

zrosenbauer/tls-monitor

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation


Monitor your certificates!

Overview

CI CodeQL Formatted with Biome Linted with Biome

Monitor SSL/TLS certificates for your domains.

Usage

You can run against a single domain or use the matrix strategy to run against multiple domains.

Single Domain

name: SSL/TLS Monitor
on:
  schedule:
    - cron: '0 16 * * *'

jobs:
  monitor:
    name: SSL/TLS Monitor
    runs-on: ubuntu-latest
    steps:
      - name: Monitor
        uses: zrosenbauer/action-tls-monitor@main
        with:
          domain: joggr.io
          expiration_days: 30
          approved_protocols: TLSv1.2,TLSv1.3
          alert_method: slack
          alert_token: ${{ secrets.SLACK_WEBHOOK_URL }}

Multiple Domains

name: SSL/TLS Monitor
on:
  schedule:
    - cron: '0 16 * * *'

jobs:
  monitor:
    name: SSL/TLS Monitor
    runs-on: ubuntu-latest
    strategy:
      matrix:
        domain:
          - joggr.io
          - docs.joggr.io
    steps:
      - name: Monitor - ${{ matrix.domain }}
        uses: zrosenbauer/action-tls-monitor@main
        with:
          domain: ${{ matrix.domain }}
          expiration_days: 30
          approved_protocols: TLSv1.2,TLSv1.3
          alert_method: slack
          alert_token: ${{ secrets.SLACK_WEBHOOK_URL }}

Alerting

Alerting is built in to this action. It is also possible to ignore the alerts and use the outputs to send your own alerts or do another action (i.e. trigger a certificate update/renewal).

Slack Alerts

Slack is supported out of the box. The alerts are formatted and have a default emoji and name. You should start to see alerts similar to the below image if an issue is found.

Slack Alert Example

Slack Alert




Sponsorship

Special thanks to: