{"id":25408936,"url":"https://github.com/rickcau/gen-ai-itops","last_synced_at":"2025-06-21T13:34:52.881Z","repository":{"id":277015564,"uuid":"906462502","full_name":"Rickcau/gen-ai-itops","owner":"Rickcau","description":"GenAI IT Ops Chat Solution","archived":false,"fork":false,"pushed_at":"2025-03-24T15:23:47.000Z","size":21302,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-13T19:50:23.517Z","etag":null,"topics":["backend-api","csharp-code","dotnet","genai-chatbot","github-actions","it-operations","multi-agent","nextjs","runbooks","semantic-kernel"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rickcau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.commercial.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-21T01:14:25.000Z","updated_at":"2025-04-12T15:02:02.000Z","dependencies_parsed_at":"2025-03-24T16:36:35.757Z","dependency_job_id":null,"html_url":"https://github.com/Rickcau/gen-ai-itops","commit_stats":null,"previous_names":["rickcau/gen-ai-itops"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Rickcau/gen-ai-itops","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rickcau%2Fgen-ai-itops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rickcau%2Fgen-ai-itops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rickcau%2Fgen-ai-itops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rickcau%2Fgen-ai-itops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rickcau","download_url":"https://codeload.github.com/Rickcau/gen-ai-itops/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rickcau%2Fgen-ai-itops/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261129636,"owners_count":23113868,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend-api","csharp-code","dotnet","genai-chatbot","github-actions","it-operations","multi-agent","nextjs","runbooks","semantic-kernel"],"created_at":"2025-02-16T08:18:08.194Z","updated_at":"2025-06-21T13:34:47.868Z","avatar_url":"https://github.com/Rickcau.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gen-AI-ITOps: Generative AI-Powered IT Operations Accelerator\n[![Dotnet CI](https://github.com/Rickcau/gen-ai-itops/actions/workflows/dotnet-ci.yml/badge.svg)](https://github.com/Rickcau/gen-ai-itops/actions/workflows/dotnet-ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Next.js CI](https://github.com/Rickcau/gen-ai-itops/actions/workflows/nextjs-ci.yml/badge.svg)](https://github.com/Rickcau/gen-ai-itops/actions/workflows/nextjs-ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n***Click on the image below to watch a demostration of this soltion in real-time.***\n[\u003cimg src=\"./images/demo.jpg\" alt=\"Video Title\" width=\"850\"/\u003e](https://www.youtube.com/watch?v=huwIEobrw7w)\n\n\n\n## Licensing \nThis project uses a dual license model:\n\n- **Commercial License**: Required for Azure-hosted production deployments\n- **MIT License**: Applies to open source use cases\n\nSee [LICENSE.md](LICENSE.md) for details.\n\n## Risk Assessment\nPlease review the risk assessment in-which I compare the capabilitiy based approach I leverage in this repository against screen/browswer controlled appraoches (like OpenAI's Operator, Anthropic's Computer Use, and Google's Project Mariner).\n\n[Risk Assessment](./notes/risk-assessment.md)\n\n## Overview\nThis repository contains a comprehensive solution for automating IT operations using Generative AI, Azure Automation, GitHub Workflows, and modern web technologies. The platform enables users to interact with IT infrastructure through a natural language interface while maintaining proper security controls and role-based access.\n\n## Key Components\n\n### 1. IT Operations ChatBot\n- Located in `/it-ops-chatbot/`\n- Next.js-based web application\n- Provides natural language interface for IT operations\n- Implements secure authentication and authorization\n\n### 2. Azure Automation Integration\n- PowerShell-based runbooks for infrastructure operations\n- Custom RBAC roles for access control\n- Automated task scheduling and execution\n- Job status monitoring and reporting\n\n### 3. Console Applications\n- `/ConsoleApp-Chat-Bot/`: CLI interface which demostrate ChatBot capabilities that are used in the API Layer\n- `/ConsoleApp-Build-Ai-Index/`: Tools for building AI search indexes\n- `/ConsoleApp-Az-Automation/`: Azure Automation management utilities / demostrates RBAC with Azure Automation\n- `/ConsoleApp-Az-Check-Permissions/`: Permission verification tools / denostrates how custom RBAC roles can be used with the solution.\n\n### 4. API Layer\n- `/api-gen-ai-itops/`: Backend API services\n- Handles authentication and authorization\n- Integrates with Azure services\n- Manages communication between frontend and automation components\n\n## Security Features\n- Azure Entra ID integration\n- Custom RBAC roles (VMAdmin, VMViewer, etc.)\n- Secure token-based authentication\n- Role-based access control for operations\n\n## Architecture\n- Detailed architecture documentation in `/architecture/`\n- Implements separation of concerns\n- Scalable and maintainable design\n- Integration with Azure services\n\n## Development Setup\n1. Configure App.config with environment variables\n2. Set up Azure Automation account\n3. Configure App Registrations in Azure Entra ID\n4. Assign appropriate roles to users\n\n## CI/CD\n- GitHub Actions workflows for automated testing and deployment\n- Continuous integration checks for .NET components\n- Automated build and deployment processes\n\n## Documentation\n- Implementation details in [`/notes/`](./notes)\n- Please read [`Azure Automation VS GitHub`](./notes/AzureAuto-vs-GitHub.md) to help determine which to use\n- Important Notes in [`/ImportantNotes.md/`](./notes/ImportantNotes.md)\n- Just a few ideas / thoughts in [`/Thoughts.md/`](./notes/Thoughts.md)\n- Setup Details in [`/Setup.md/`](./notes/Setup.md)\n- Runbook documentation in [`RunBooks.md`](RunBooks.md)\n- Architecture specifications in [`/architecture/`](./architecture)\n- [`API documentation`](./api-gen-ai-itops) available in respective service directories\n\n## Additional Work that is needed\n- Add additional logic to the Console-Build-AI-Index which enumerates the GitHub Workflows that the users have access to\n- More work is needed for the GitHub integration as the platform does not provide the robust capabilities that Azure Automation has\n- Determining how to lock down access to varioaus GitHub actions would be needed.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickcau%2Fgen-ai-itops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frickcau%2Fgen-ai-itops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frickcau%2Fgen-ai-itops/lists"}