Active

TMM Created

Intelligent Cert Lifecycle

AI-driven certificate renewal routing


Description

Two certificates expire on production services at the same time. Splunk fires alerts to automation orchestrator. An AI agent analyzes each certificate, discovers available AAP job templates, and selects the correct renewal strategy (PEM for nginx, Java keystore for the API server) without hardcoded routing. An operator reviews the agent's analysis and confidence score, approves, and AAP renews and validates TLS automatically.

Why it matters

  • One workflow intelligently handles multiple certificate types instead of maintaining separate automation for each.
  • AI provides deployment recommendations and confidence before changes are made, reducing operational risk.
  • Validation and notification are built into the process, giving operators confidence that renewal actually succeeded.

AO building blocks

Automation orchestrator step types this workflow uses on the canvas. See all building blocks

Interactive Experience

Workflow

flowchart LR
  A@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/manual-trigger.png", label: "Splunk Cert Alert", pos: "b", h: 96, constraint: "on" } --> B@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/task-agent.png", label: "Plan Renewal", pos: "b", h: 96, constraint: "on" }
  B --> C@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/approval-node.png", label: "Approve Renewal", pos: "b", h: 96, constraint: "on" }
  C -->|approved| D@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/launch-aap-job-template.png", label: "Run Renewal Job", pos: "b", h: 96, constraint: "on" }
  C -->|rejected| E@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/script-node.png", label: "Renewal Rejected", pos: "b", h: 96, constraint: "on" }
  D --> F@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/launch-aap-job-template.png", label: "Validate Renewal", pos: "b", h: 96, constraint: "on" }
  classDef noBorder fill:transparent,stroke:transparent
  class A,B,C,D,E,F noBorder

Playbooks

Playbook What it does Runs on
renew_certificate.yml Pulls a new PEM certificate from Vault CA, installs it for nginx, and reloads the service. RHEL node (nginx / PEM)
renew_keystore_certificate.yml Renews a Java keystore certificate for the API server, updating the keystore and restarting the application. RHEL node (Java keystore)
validate_certificate.yml Runs an OpenSSL TLS handshake check and reports certificate subject, issuer, and expiry after renewal. RHEL node
notify_mattermost.yml Posts renewal status, agent confidence, and analysis summary to Mattermost after the workflow completes. localhost (Mattermost API)