Skip to content
View ranilf2005's full-sized avatar

Block or report ranilf2005

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ranilf2005/README.md

banner

typing

views followers repos focus


~$ whoami

name:        Ranil Fernando
role:        AI and Automation Leader
domain:      Cyber Security Β· NetDevOps Β· AI Agents Β· Telecom
location:    /dev/network
currently:
  - building:  MCP servers that let AI agents safely drive network + security infra
  - automating: FMC policy, object lifecycle & drift detection with Python + Ansible
  - breaking:   labs in Cisco Modeling Labs (CML) so production never breaks
philosophy:  "If you did it twice by hand, you already owed yourself a pipeline."
open_to:     collaboration on NetDevOps Β· Security Automation Β· Agentic Ops

What I actually do

  • Automate Cisco Secure Firewall β€” FMC-managed FTD policy, objects, NAT and access control via REST API, Ansible and Terraform.
  • Guardrailed AI Ops β€” MCP servers that expose read-first, approve-then-write tools so Copilot can trace object usage and propose changes without touching prod blindly.
  • Network validation at scale β€” pyATS / Genie parsers, learn-diff snapshots, and pre/post-change verification jobs.
  • CI/CD for network config β€” GitHub Actions & GitLab pipelines that lint, test in CML, then promote.

Currently exploring

  • Agentic workflows with Model Context Protocol (MCP)
  • Cisco Security Cloud Control (SCC) / cdFMC automation
  • Policy-as-code + drift detection for firewalls
  • Observability & inventory visibility for Firepower estates
  • Reproducible lab-as-code on dCloud and CML

~$ cat tech-stack.json

Languages & Scripting

Python PowerShell Bash YAML JSON HTML5

Network & Security

Cisco Secure Firewall cdFMC pyATS CML SecureX

Automation & IaC

Ansible Terraform Docker GitHub Actions GitLab CI Jinja

AI / Agentic Tooling

MCP GitHub Copilot OpenAI

Platform & Tooling

Linux Git VS Code Postman REST API


~$ tree automation-architecture/

How my projects fit together β€” from natural language, through guardrails, into the network.

flowchart LR
    subgraph HUMAN["πŸ‘€ Operator"]
        A["Natural language intent<br/><i>β€œblock this host on the edge FTD”</i>"]
    end

    subgraph AI["πŸ€– AI Layer"]
        B["GitHub Copilot / LLM Agent"]
        C["MCP Servers<br/><small>policy search Β· object trace Β· change proposal</small>"]
    end

    subgraph GUARD["πŸ›‘οΈ Guardrails"]
        D{"Read-only?"}
        E["Pre-approval gate<br/>+ diff preview"]
        F["Policy-as-Code lint<br/>+ CI validation"]
    end

    subgraph AUTO["βš™οΈ Automation Engines"]
        G["Python SDK / REST"]
        H["Ansible Playbooks"]
        I["Terraform Modules"]
        J["pyATS / Genie Jobs"]
    end

    subgraph NET["🌐 Infrastructure"]
        K["FMC / cdFMC"]
        L["FTD Firewalls"]
        M["Cisco CML Lab"]
        N["IOS-XE / NX-OS"]
    end

    A --> B --> C --> D
    D -- yes --> G
    D -- no --> E --> F
    F --> G & H & I
    G & H & I --> K --> L
    J --> M --> N
    J -. verify/learn-diff .-> F

    classDef human fill:#0B486B,stroke:#00BCEB,color:#fff
    classDef ai fill:#412991,stroke:#a78bfa,color:#fff
    classDef guard fill:#7f1d1d,stroke:#f87171,color:#fff
    classDef auto fill:#1F7A8C,stroke:#67e8f9,color:#fff
    classDef net fill:#14532d,stroke:#4ade80,color:#fff

    class A human
    class B,C ai
    class D,E,F guard
    class G,H,I,J auto
    class K,L,M,N net
Loading
πŸ” Change lifecycle β€” sequence view
sequenceDiagram
    autonumber
    participant Op as Operator
    participant Agent as Copilot Agent
    participant MCP as MCP Server
    participant CI as CI Pipeline
    participant CML as CML Lab
    participant FMC as FMC / FTD

    Op->>Agent: "Where is object WEB-DMZ used?"
    Agent->>MCP: tool: trace_object_usage(WEB-DMZ)
    MCP->>FMC: GET /api/fmc_config/... (read-only)
    FMC-->>MCP: policy + rule references
    MCP-->>Agent: structured usage map
    Agent-->>Op: impact report + proposed change

    Op->>Agent: approve
    Agent->>CI: open PR (policy-as-code)
    CI->>CI: lint Β· schema Β· unit tests
    CI->>CML: deploy to lab topology
    CML->>CI: pyATS verification results
    CI-->>Op: βœ… green β€” ready to promote
    Op->>FMC: merge β†’ Ansible/Terraform apply
    FMC-->>Op: deployment confirmed + audit trail
Loading
πŸ—ΊοΈ Automation maturity roadmap
gantt
    title NetDevOps Maturity Journey
    dateFormat  YYYY-MM
    axisFormat  %Y

    section Foundation
    CLI + scripting                :done, f1, 2020-01, 2021-06
    SecureX orchestration          :done, f2, 2021-01, 2021-12

    section Infrastructure as Code
    Ansible playbooks (FMC/FTD)    :done, i1, 2022-01, 2024-06
    Terraform modules              :done, i2, 2023-06, 2025-06
    CML lab-as-code                :done, i3, 2024-01, 2025-12

    section Validation
    pyATS / Genie test suites      :active, v1, 2025-01, 2026-12
    CI/CD gates + drift detection  :active, v2, 2025-06, 2026-12

    section Agentic Ops
    MCP servers for NetOps         :active, a1, 2025-09, 2026-12
    Guardrailed autonomous change  :        a2, 2026-06, 2027-12
Loading

~$ ls -la featured-projects/

Project What it does Stack
πŸ”₯ fw-automation Automate Cisco Secure Firewall (FMC-managed FTD) with Python, Ansible & Terraform β€” plus 3 MCP servers so an AI agent can search policy, trace object usage and propose changes behind a pre-approval gate. Python Ansible Terraform MCP
πŸ€– cisco-pyats-mcp-network-automation MCP server that lets GitHub Copilot run guarded pyATS operations against CML devices straight from natural language. Python pyATS CML
πŸ›‘οΈ csap Cisco Security Automation Platform β€” a unified platform for orchestrating security automation workflows. Python Apache
πŸ§ͺ dcloud_secure_firewall_lab Repeatable dCloud Secure Firewall lab build (FMC 7.7.0 / 10.0) β€” spin the whole environment up as code. PowerShell
πŸ—οΈ dcloud_automation End-to-end lab pipeline: CML β†’ FTD β†’ FMC β†’ GitLab CI/CD β†’ Ansible β†’ Terraform codebase server build. GitLab Ansible
⚑ -secureX-ext-port-scan-blocklist-wf SecureX orchestration workflow chaining Stealthwatch Cloud, Umbrella, CTR, ThreatGRID & Webex for automated port-scan blocklisting. SecureX
πŸ“Š firepower-automation-inventory-visibility Inventory & visibility automation for Cisco Secure Firewall estates. Cisco
πŸŽ“ clmel / clmel26 / pyatscml Cisco Live Melbourne hands-on content β€” pyATS, Ansible, CML, Docker, Python, Ubuntu and GitLab CI/CD end-to-end. Python Docker

~$ git log --stat

stats top langs streak activity graph

πŸ† Trophy Cabinet

trophies

🐍 Contribution Snake

contribution snake

~$ cat skills-matrix.md

Capability Level Evidence
Cisco Secure Firewall (FTD/FMC) automation β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘ 95% fw-automation, firepower-automation-inventory-visibility
Python for NetDevOps β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘ 90% csap, ftd-packet-tracer, CiscopyATS
pyATS / Genie test automation β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘ 88% cisco-pyats-mcp-network-automation, pyatscml
Ansible / Infrastructure as Code β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘ 85% simple_cdfmc_ansible, cisco-scc-cdfmc-ansible
CI/CD (GitHub Actions Β· GitLab) β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘ 80% dcloud_automation, clmel26_automation
Terraform β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘ 75% fw-automation
MCP / Agentic tooling β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘ 85% 3Γ— MCP servers shipped

~$ curl -s /connect

github portfolio cisco community


"Automate the boring. Guardrail the risky. Verify everything."

footer

Popular repositories Loading

  1. cisco-pyats-mcp-network-automation cisco-pyats-mcp-network-automation Public

    MCP server that lets GitHub Copilot run guarded Cisco pyATS operations against CML devices from natural language.

    Python 2 1

  2. -secureX-ext-port-scan-blocklist-wf -secureX-ext-port-scan-blocklist-wf Public

    Cisco SecureX Automation and Orchestration Workflowinteraged with Cisco Stealthwatch Cloud, Umbrella, Cisco Threat Response (CTR), ThreatGRID and Webex

    1

  3. workload workload Public

    Shell

  4. ftd-packet-tracer ftd-packet-tracer Public

    Python

  5. CiscopyATS CiscopyATS Public

    Python

  6. pyatscml pyatscml Public

    Get hands-on experience and discover the power of automation using pyATS, ansible-playbook, Cisco Modeling Labs (CML), docker, python, vscode, Ubuntu and GitLab CI/CD pipeline to build configuratio…

    Python