Autobeam
Autobeam is a CLI tool that automates the release process for applications using GitOps practices. It handles version management, Docker image building/pushing, and GitOps repository updates in a single command.
Features
- Automatic semantic versioning (major, minor, patch)
- Docker image building with multi-platform support
- GitOps repository synchronization
- Automated pull request creation
- Git tag management
Installation
go install github.com/yourusername/autobeam@latest
Configuration
Create a .autobeam/config.yaml
file in your repository:
name: "your-app-name"
docker_image: "your-registry/image-name"
platforms:
- "linux/amd64"
- "linux/arm64"
branch: "main"
gitops_repo:
repo_url: "github.com/org/gitops-repo"
branch: "main"
pr_comment: "Additional information to include in PR description"
Usage
# Create a patch release (default)
autobeam
# Specify release type
autobeam --release-type major
autobeam --release-type minor
autobeam --release-type patch
How It Works
- Validates the repository is clean and on the correct branch
- Retrieves the latest version from Git tags
- Increments the version based on the specified release type
- Builds and pushes a new Docker image with the version tag
- Clones the GitOps repository
- Updates manifests with the new image version
- Creates a new branch and commits changes
- Opens a pull request in the GitOps repository