___ __ _ ____
/ | ____ ____ ____ / /_(______ / __ \___ _ ______ ____ _____
/ /| |/ __ `/ _ \/ __ \/ __/ / ___/ / / / / _ | | / / __ \/ __ \/ ___/
/ ___ / /_/ / __/ / / / /_/ / /__ / /_/ / __| |/ / /_/ / /_/ (__ )
/_/ |_\__, /\___/_/ /_/\__/_/\___/ /_____/\___/|___/\____/ .___/____/
/____/ /_/
Welcome to Wizard of DevOps! Let's get started with your DevOps tasks.
The Agentic DevOps tool is designed to streamline and automate various DevOps tasks and configurations. This versatile tool supports both a command-line interface (CLI) and a web-based user interface (WebUI), making it accessible for both terminal enthusiasts and those who prefer a graphical interface.
Agentic DevOps automates the creation of essential DevOps artifacts such as Dockerfiles, Bash scripts, Kubernetes configurations, CI/CD pipelines, and cloud configurations for major providers like Azure, AWS, GCP, Firebase, Supabase, and Cloudflare. It also supports different development architectures, including microservices, serverless, monolithic, event-driven, and API-first development.
By automating repetitive and complex tasks, Agentic DevOps helps reduce human error, speed up deployment processes, and ensure consistent configurations across different environments. It's particularly useful for teams practicing continuous integration and continuous deployment (CI/CD), enabling faster and more reliable software delivery.
- Multi-platform Support: Automates configurations for Azure, AWS, GCP, Firebase, Supabase, and Cloudflare.
- Versatile Development Approaches: Supports microservices, serverless, monolithic, event-driven, and API-first architectures.
- Comprehensive Artifact Generation: Creates Dockerfiles, Bash scripts, Kubernetes configurations, and CI/CD pipelines.
- User-friendly Interfaces: Accessible via both CLI and WebUI.
- Customizable: Easily extendable to include new modules and configurations.
- Environment Management: Helps manage environment variables and secrets.
Agentic Engineering is a modern approach to software development that integrates artificial intelligence and automation to streamline engineering processes. This methodology enhances efficiency by automating routine tasks, optimizing resource allocation, and providing intelligent insights to support decision-making. By leveraging AI, Agentic Engineering helps development teams achieve higher productivity, better code quality, and faster time-to-market, making it an invaluable tool in today's fast-paced technology landscape.
To install the Agentic DevOps tool, follow these steps:
-
Clone the repository:
git clone https://github.com/ruvnet/agentic-devops.git
-
Navigate to the project directory:
cd agentic-devops
-
Create and activate a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required dependencies:
pip install -e .
-
Set up the necessary environment variables (see the "Environment Secrets" section below).
The Agentic DevOps tool requires certain environment variables to be set for authentication and configuration purposes. Make sure to set the following environment variables:
AZURE_CLIENT_ID
: Your Azure client ID.AZURE_CLIENT_SECRET
: Your Azure client secret.AZURE_APP_CONFIG_CON_STR
: Your Azure App Configuration connection string.AWS_ACCESS_KEY_ID
: Your AWS access key ID.AWS_SECRET_ACCESS_KEY
: Your AWS secret access key.GCP_PROJECT_ID
: Your GCP project ID.GCP_SERVICE_ACCOUNT_KEY
: Your GCP service account key.FIREBASE_API_KEY
: Your Firebase API key.SUPABASE_URL
: Your Supabase project URL.SUPABASE_KEY
: Your Supabase project API key.CLOUDFLARE_API_KEY
: Your Cloudflare API key.
You can set these environment variables either in your system environment or by creating a .env
file in the project root directory. Here is an example of a .env
file:
AZURE_CLIENT_ID=your-azure-client-id
AZURE_CLIENT_SECRET=your-azure-client-secret
AZURE_APP_CONFIG_CON_STR=your-azure-app-config-connection-string
AWS_ACCESS_KEY_ID=your-aws-access-key-id
AWS_SECRET_ACCESS_KEY=your-aws-secret-access-key
GCP_PROJECT_ID=your-gcp-project-id
GCP_SERVICE_ACCOUNT_KEY=your-gcp-service-account-key
FIREBASE_API_KEY=your-firebase-api-key
SUPABASE_URL=your-supabase-url
SUPABASE_KEY=your-supabase-key
CLOUDFLARE_API_KEY=your-cloudflare-api-key
- Run the App:
agentic-devops
The Agentic DevOps tool provides an interactive menu-based interface for navigating and selecting different features. Here is an outline of the CLI menu options:
π Main Menu
1. π Agentic DevOps
2. π Agentic Deployment
3. β Help
4. π₯ Exit
Enter your choice:
π Agentic DevOps Menu
1. Start Agentic DevOps WebUI
2. Create Dockerfile
3. Create Bash Script
4. Create Kubernetes Configuration
5. Create CI/CD Pipeline
6. Azure Configuration
7. AWS Configuration
8. GCP Configuration
9. Firebase Configuration
10. Developer Configuration
11. Settings
12. Back to Main Menu
Enter your choice:
π Agentic Deployment
1. π List Deployments
2. π οΈ Setup Deployment
3. π Create Deployment
4. π Update Deployment
5. β Remove Deployment
6. π Return to Main Menu
Enter your choice:
To use the Agentic DevOps tool, follow these steps:
-
Run the Agentic DevOps tool:
agentic-devops
-
Navigate through the menu options to select the desired feature. For example, to create a Dockerfile, select "Create Dockerfile" from the menu.
-
Follow the prompts to provide necessary inputs and configurations. For instance, you might be asked to specify the base image and packages to install for the Dockerfile.
-
Generated files or configurations will be saved in the specified output directory. You can then use these files as needed in your projects.
-
Run the tool:
agentic-devops
-
Select "Create Dockerfile" from the menu.
-
Follow the prompts to specify the base image and any additional packages or configurations.
-
The generated Dockerfile will be saved in your project directory.
-
Run the tool:
agentic-devops
-
Select "Create CI/CD Pipeline" from the menu.
-
Choose your CI/CD provider (e.g., GitHub Actions, GitLab CI, etc.).
-
Define the stages for your pipeline (e.g., build, test, deploy).
-
The generated CI/CD pipeline configuration file will be saved in your project directory.
The Agentic DevOps tool also provides a web-based user interface (WebUI) for a more intuitive and visual experience. The WebUI uses the same menu structure as the CLI, making it easy to switch between the two interfaces.
To start the WebUI, select "Start Agentic DevOps WebUI" from the Agentic DevOps menu.
Open a web browser and navigate to http://localhost:8501
.
- Agentic Development: Choose from different development approaches like microservices, serverless, monolithic, event-driven, API-first, and more.
- Create Dockerfile: Input base image, packages to install, and generate a Dockerfile.
- Create Bash Script: Define the script purpose and include necessary commands.
- Create Kubernetes Configuration: Provide deployment name, container image, cluster name, and namespaces.
- Create CI/CD Pipeline: Select a CI/CD provider and define stages for the pipeline.
- Azure Configuration: Configure Azure services such as hosting, networking, IAM, database, storage, DevOps, AI & ML, monitoring, and security.
- AWS Configuration: Configure AWS services like hosting, networking, IAM, and database.
- GCP Configuration: Configure GCP services including hosting, networking, IAM, and database.
- Firebase Configuration: Enable Firebase features for your project.
- Supabase Configuration: Configure Supabase services such as hosting, authentication, storage, and database.
- Cloudflare Configuration: Set up Cloudflare services for DNS, security, and workers.
- Developer Configuration: Set up development environments for languages like Python, Node.js, Java, Rust, Go, C#, Ruby, PHP, and C++.
The Agentic DevOps tool also provides a web-based user interface (WebUI) for a more intuitive and visual experience. The WebUI uses the same menu structure as the CLI, making it easy to switch between the two interfaces.
To start the WebUI, select "Start Agentic DevOps WebUI" from the Agentic DevOps menu.
Open a web browser and navigate to http://localhost:8501
.
- Agentic Development: Choose from different development approaches like microservices, serverless, monolithic, event-driven, API-first, and more.
- Create Dockerfile: Input base image, packages to install, and generate a Dockerfile.
- Create Bash Script: Define the script purpose and include necessary commands.
- Create Kubernetes Configuration: Provide deployment name, container image, cluster name, and namespaces.
- Create CI/CD Pipeline: Select a CI/CD provider and define stages for the pipeline.
- Azure Configuration: Configure Azure services such as hosting, networking, IAM, database, storage, DevOps, AI & ML, monitoring, and security.
- AWS Configuration: Configure AWS services like hosting, networking, IAM, and database.
- GCP Configuration: Configure GCP services including hosting, networking, IAM, and database.
- Firebase Configuration: Enable Firebase features for your project.
- Supabase Configuration: Configure Supabase services such as hosting, authentication, storage, and database.
- Cloudflare Configuration: Set up Cloudflare services for DNS, security, and workers.
- Developer Configuration: Set up development environments for languages like Python, Node.js, Java, Rust, Go, C#, Ruby, PHP, and C++.
For advanced users, the Agentic DevOps tool offers additional features and customization options:
Add custom scripts and configurations in the ./modules
directory. Ensure they follow the same structure and import necessary modules.
Integrate the tool with external CI/CD pipelines by including it in your build scripts and using its CLI commands.
Extend the functionality by adding new modules and commands in coder.py
and updating main.py
to include these new commands.
Contributions to the Agentic DevOps tool are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request on the GitHub repository.
The Agentic DevOps tool is open-source software licensed under the MIT License.