Active

AI Generated

Risk-Based Routing

Risk-tier renewal decisions


Description

This demo extends Intelligent Cert Lifecycle with AI-assessed risk scoring per certificate. A switch routes low, medium, and high risk renewals to different approval and execution paths.

Why it matters

  • Risk scoring separates low-touch auto-renewals from high-risk changes that need human approval.
  • One switch step routes by AI-assessed tier instead of brittle per-host workflow forks.
  • Blast radius analysis gives approvers context before they sign off on production cert changes.

AO building blocks

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

Interactive Experience

Coming soon

Planned scope

  • Risk scoring per certificate (low/medium/high)
  • Switch-step routing to different approval flows per risk level
  • Blast radius analysis
  • Multiple hosts with different cert types

Workflow

flowchart LR
  A@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/manual-trigger.png", label: "Cert Expiry Event", pos: "b", h: 96, constraint: "on" } --> B@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/task-agent.png", label: "AI Risk Assessment", pos: "b", h: 96, constraint: "on" }
  B --> C@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/switch-node.png", label: "Risk Tier", pos: "b", h: 96, constraint: "on" }
  C -->|Low| D@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/launch-aap-job-template.png", label: "Auto-Renew", pos: "b", h: 96, constraint: "on" }
  C -->|Medium| E@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/launch-aap-job-template.png", label: "Notify + Renew", pos: "b", h: 96, constraint: "on" }
  C -->|High| F@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/approval-node.png", label: "Approval Required", pos: "b", h: 96, constraint: "on" }
  F --> F1@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/launch-aap-job-template.png", label: "Renew After Approval", pos: "b", h: 96, constraint: "on" }
  D --> G@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/launch-aap-job-template.png", label: "Validate TLS", pos: "b", h: 96, constraint: "on" }
  E --> G
  F1 --> G
  G --> H@{ img: "https://ansible-tmm.github.io/aap-orchestrator-demos/assets/icons/launch-aap-job-template.png", label: "Notify Chatroom", pos: "b", h: 96, constraint: "on" }
  classDef noBorder fill:transparent,stroke:transparent
  class A,B,C,D,E,F,F1,G,H noBorder

Switch routing

Risk tier Action
Low Auto-renew
Medium Notify + renew
High Approval required

Playbooks

Playbook What it does Runs on
assess_risk.yml Prepares AI agent risk assessment output into set_stats artifacts for the AO switch. RHEL node
auto_renew.yml Auto-renews a low-risk certificate with a self-signed cert for demo purposes. RHEL node
notify_renew.yml Notifies operators about medium-risk renewal, then proceeds with renewal. RHEL node
validate_tls.yml Validates TLS certificate file and expiry after renewal. RHEL node
notify_chatroom.yml Posts risk-based routing results to Mattermost. localhost (Mattermost API)

AI Generated

This demo's playbooks and workflow were generated by AI to illustrate the pattern. They have not been fully tested in a live environment. Review and adapt before using in production.