arc
arc is a developer experience CLI tool written in Go for system maintenance and workflow automation related to the NBA project. It provides a unified interface for interacting with various services and simplifies common development tasks so users can focus on building features.
Note: This tool is under active development. Documentation may lag behind the latest features.
Why Go?
Section titled “Why Go?”Go was chosen for its performance, simplicity, and statically compiled nature. It builds into a single binary with no external dependencies, making distribution easy while being lightweight and fast.
arc [command] [flags]Installation
Section titled “Installation”See Here
Examples
Section titled “Examples”Rotate AWS Keys
Section titled “Rotate AWS Keys”arc aws rotate-keysThis command rotates your AWS IAM access keys by:
- Backing up your existing credentials file
- Creating a new access key pair in AWS
- Updating your local credentials with the new keys
- Deactivating and deleting the old access key
- Removing the backup file
If any step fails, the command restores your original credentials from the backup.
Restart Dashboard
Section titled “Restart Dashboard”arc gh restart-dashboardTriggers the GitHub Actions workflow to restart the dashboard service, typically used after backfills or manual data updates.
System Update
Section titled “System Update”arc updateUpdates system packages using pacman and yay, cleans the package cache, removes orphaned packages, and provides a summary of changes.
The CI pipeline runs on every push and pull request:
- Runs unit tests
- Builds the Go binary for Linux
The CD pipeline triggers on new tags and publishes releases to GitHub.
Creating a Release
Section titled “Creating a Release”make release version=v0.3.1This creates and pushes the tag, which triggers the CD pipeline to build and upload the binary to GitHub Releases.
Future Ideas
Section titled “Future Ideas”- Integrate with additional services
- Add more commands for common workflows