Auto Deploy Assistant
AI-powered automated deployment tool for updating K8s YAMLs and creating GitLab Merge Requests.
Features
- AI-Powered Extraction: Automatically extracts deployment information (service names, image tags, Java options, resources, etc.) from release documents or chat messages.
- Intelligent YAML Updating: Surgical updates to Kubernetes YAML files preserving comments, formatting, and indentation.
- Smart Component Management: Toggle components like Skywalking, Filebeat, Prometheus, Nacos, MySQL, Redis, and more.
- Environment Variable Synchronization: Add, update, or remove environment variables in your deployment configurations.
- Git Flow Integration: Automatically prepares branches, commits changes, and creates GitLab Merge Requests with appropriate push options.
- Conflict Resolution: Integrated "Pull (Rebase) & Push" mechanism to handle non-fast-forward Git errors seamlessly.
Getting Started
Prerequisites
- A Git repository containing your environment configurations (e.g., in an
envs/ directory).
- Access to an AI Gateway (OpenAI-compatible API).
Configuration
Set up the following in your VS Code settings:
autoDeploy.aiGatewayUrl: Your AI API endpoint.
autoDeploy.aiAuthToken: Your authentication token.
autoDeploy.deploymentRepoPath: Absolute path to your deployment repository.
autoDeploy.workingBranch: The branch you want to commit changes to.
Usage
- Open the Auto Deploy Assistant in the Secondary Sidebar.
- Select the Target Environments (e.g.,
uat, prod).
- Paste your Release Document or deployment instructions into the text area.
- Click Analyze.
- Review the proposed changes in the preview.
- Click Apply Changes to update the local YAML files.
- Click Commit & MR to push changes and create a Merge Request.
License
MIT
| |