PipeOps CLI

PipeOps CLI is a powerful command-line interface designed to simplify managing cloud-native environments, deploying projects, and interacting with the PipeOps platform. With PipeOps CLI, you can provision servers, deploy applications, manage projects, and monitor your infrastructure seamlessly.
π Quick Install
macOS & Linux (Recommended)
curl -fsSL https://raw.githubusercontent.com/PipeOpsHQ/pipeops-cli/main/install.sh | sh
Windows (PowerShell)
irm https://raw.githubusercontent.com/PipeOpsHQ/pipeops-cli/main/install.ps1 | iex
Package Managers
Homebrew (macOS/Linux)
brew tap pipeops/pipeops
brew install pipeops
Docker
docker run --rm -it ghcr.io/pipeopshq/pipeops-cli:latest --help
Go Install
go install github.com/PipeOpsHQ/pipeops-cli@latest
π Complete Installation Guide - More installation methods and troubleshooting
β¨ Features
- π OAuth Authentication: Secure authentication with PKCE flow
- π¦ Project Management: Create, manage, and deploy projects
- π Server Management: Provision and configure servers across multiple environments
- π§ Pipeline Management: Create, manage, and deploy CI/CD pipelines
- π€ Agent Setup: Install and configure PipeOps agents for various platforms
- π Cross-Platform Support: Available for Linux, Windows, macOS, and FreeBSD
- π Status Monitoring: Real-time status updates and monitoring
- π¨ Beautiful UI: Rich terminal interface with colors and progress indicators
πββοΈ Quick Start
1. Authenticate with PipeOps
pipeops auth login
2. Check your authentication status
pipeops auth status
3. List your projects
pipeops project list
4. Get help for any command
pipeops --help
pipeops auth --help
pipeops project --help
π Commands Overview
| Command |
Description |
Examples |
pipeops auth |
Manage authentication and user details |
pipeops auth login, pipeops auth status |
pipeops project |
Manage, list, and deploy PipeOps projects |
pipeops project list, pipeops project create |
pipeops deploy |
Manage and deploy CI/CD pipelines |
pipeops deploy pipeline, pipeops deploy status |
pipeops server |
Manage server-related operations |
pipeops server deploy, pipeops server status |
pipeops k3s |
Manage K3s clusters |
pipeops k3s install, pipeops k3s join |
pipeops agent |
Manage PipeOps agents |
pipeops agent install, pipeops agent status |
Global Flags
--help, -h: Show help for any command
--version, -v: Show version information
--json: Output results in JSON format
--quiet, -q: Suppress non-essential output
π§ Configuration
PipeOps CLI stores configuration in ~/.pipeops.json. This includes:
- Authentication tokens
- User preferences
- Default settings
Environment Variables
PIPEOPS_CONFIG_PATH: Custom config file location
PIPEOPS_API_URL: Custom API endpoint
PIPEOPS_LOG_LEVEL: Log level (debug, info, warn, error)
π οΈ Development
Prerequisites
Setup
# Clone the repository
git clone https://github.com/PipeOpsHQ/pipeops-cli.git
cd pipeops-cli
# Install dependencies
go mod download
# Build the CLI
make build
# Run tests
make test
# Run linter
make lint
Available Make Targets
make build # Build the binary
make test # Run tests
make lint # Run linter
make clean # Clean build artifacts
make install # Install locally
make release # Create release build
make docker-build # Build Docker image
make docker-run # Run in Docker
Project Structure
pipeops-cli/
βββ cmd/ # CLI commands
β βββ auth/ # Authentication commands
β βββ project/ # Project management commands
β βββ deploy/ # Deployment commands
β βββ ...
βββ internal/ # Internal packages
β βββ auth/ # Authentication logic
β βββ client/ # HTTP client
β βββ config/ # Configuration management
β βββ ...
βββ models/ # Data models
βββ utils/ # Utility functions
βββ .goreleaser.yml # Release configuration
βββ Dockerfile # Docker image
βββ install.sh # Installation script
π³ Docker Usage
Run CLI in Docker
# Basic usage
docker run --rm -it ghcr.io/pipeopshq/pipeops-cli:latest --help
# With authentication (mount config)
docker run --rm -it \
-v ~/.pipeops.json:/root/.pipeops.json \
ghcr.io/pipeopshq/pipeops-cli:latest auth status
# Interactive shell
docker run --rm -it \
-v ~/.pipeops.json:/root/.pipeops.json \
--entrypoint /bin/sh \
ghcr.io/pipeopshq/pipeops-cli:latest
Docker Compose
version: "3.8"
services:
pipeops-cli:
image: ghcr.io/pipeopshq/pipeops-cli:latest
volumes:
- ~/.pipeops.json:/root/.pipeops.json
command: ["project", "list"]
PipeOps CLI supports the following platforms:
| Platform |
Architecture |
Status |
| Linux |
x86_64 |
β
|
| Linux |
ARM64 |
β
|
| Linux |
ARM |
β
|
| macOS |
x86_64 (Intel) |
β
|
| macOS |
ARM64 (M1/M2) |
β
|
| Windows |
x86_64 |
β
|
| FreeBSD |
x86_64 |
β
|
π€ Contributing
We welcome contributions! Here's how to get started:
- Fork the repository and create your feature branch
- Follow the coding standards and write tests for new features
- Test your changes with
make test and make lint
- Submit a pull request with a clear description
Contribution Guidelines
- Follow Go best practices and conventions
- Write clear, commented code
- Include tests for new functionality
- Update documentation as needed
- Be respectful and collaborative
π Detailed Contributing Guide
π Documentation
π Release Process
Releases are automated via GitHub Actions when tags are pushed:
- Create a new tag:
git tag -a v1.0.0 -m "Release v1.0.0"
- Push the tag:
git push origin v1.0.0
- GitHub Actions will automatically:
- Build binaries for all platforms
- Create GitHub release with binaries
- Push Docker images to registry
- Update package managers (Homebrew, AUR, etc.)
π License
This project is licensed under the MIT License.
π Acknowledgments
Special thanks to:
- All contributors and users of PipeOps CLI
- The Go community for excellent tools and libraries
- GitHub for providing CI/CD infrastructure
- The open-source community for inspiration and support
Made with β€οΈ by the PipeOps team