An AI automation platform that leverages multiple AI agent frameworks for Red Hat engineering workflows. This repository uses Goose AI, BeeAI, and ADK Workflows to provide automation for RHEL/CentOS package management, issue triage, and development workflows.
This platform consists of several integrated components:
- Goose AI - Driven by human language instructions that call out to tools backed by MCP servers and the shell
- BeeAI Framework - Driven by python scripts that call out to tools backed by MCP servers
- ADK Workflows - Also driven by python
- Atlassian MCP Server - Jira/Confluence integration for issue management
- Testing Farm MCP Server - Integration with Testing Farm for running packaging tests
- Package Dependency Analyzer - Script for finding reverse dependencies
- Goose Recipes - Predefined workflows for common tasks
- Issue Triage - Automated analysis and routing of RHEL issues
- Package Rebase - Automated package version updates
- Backport Management - Automated patch application workflows
- Reverse Dependency Testing - Automated testing of select reverse dependencies based on context
- Podman
- Make
- API tokens (see Configuration section)
-
Configure environment:
❯ make config
This copies template files to
.secrets/
for manual configuration. -
Set up API tokens:
GOOGLE_API_KEY
- From Google Cloud ConsoleJIRA_PERSONAL_TOKEN
- From Jira profile settingsGITLAB_TOKEN
- With appropriate read/write permissionsTESTING_FARM_API_TOKEN
- From https://testing-farm.io/tokens/
-
Build the platform:
❯ make build
❯ make run-goose
See beeai/README.md
See adk-workflows/README.md
# Run specific automation recipes
❯ make triage-issue
❯ make backport-fix
❯ make rebase-package
❯ make test-reverse-dependencies PACKAGE=systemd CHANGE='Fix bug in hostnamed that caused avahi to crash'
- Issue Triage - Automatically analyze JIRA issues and determine resolution path
- Package Rebase - Update packages to newer upstream versions
- Backport Fixes - Apply specific patches to packages
- Dependency Analysis - Package dependency mapping
- Repository Management - Automated Git operations and merge requests
- Testing Integration - Automated testing via Testing Farm
- Documentation Generation - Automated documentation updates
- Phoenix Web Interface - beeai agent tracing at http://localhost:6006/
- Redis Commander - beeai queue monitoring at http://localhost:8081/
Edit goose-container/goose-config.yaml
to configure:
GOOSE_PROVIDER
- Your preferred LLM providerGOOSE_MODEL
- Specific model to use
Enable safe testing without actual changes:
❯ export DRY_RUN=true
ai-workflows/
├── goose/ # Goose AI agent framework
├── beeai/ # BeeAI framework with specialized agents
├── adk-workflows/ # Google ADK automation workflows
├── goose-recipes/ # Predefined automation workflows
├── scripts/ # Utility scripts and tools
├── templates/ # Configuration templates
├── goose-container/ # Container configuration for Goose
└── compose.yaml # Docker Compose orchestration
- Triage Agent - Analyzes JIRA issues and routes to appropriate resolution
- Rebase Agent - Automatically updates packages to newer versions
- Backport Agent - Applies targeted fixes and patches
- Check JIRA tickets for rebase requests
- Get details of JIRA issues
- Analyze JIRA ticket to decide what automation (if any) is appropriate
- Backport fix from upstream
- Test package in testing farm
- Test reverse dependencies of package in testing farm
Available at jotnar organization on quay.io
- Namespace:
jotnar-prod
on Cyborg OpenShift cluster - Access: Members of
jotnar
LDAP group have admin access - Monitoring: Integrated observability and logging
See CONTRIBUTING.md for guidelines.
Merging Policy: Prefer rebase-merging over merge commits unless preserving branch history is necessary.