pipeops-cli

command module
v0.2.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 7, 2025 License: MIT Imports: 1 Imported by: 0

README ΒΆ

PipeOps CLI πŸš€

Release CodeQL Analysis Go Version GitHub Release Docker Pulls

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

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"]

🌐 Available Platforms

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:

  1. Fork the repository and create your feature branch
  2. Follow the coding standards and write tests for new features
  3. Test your changes with make test and make lint
  4. 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


πŸ†˜ Support & Community


πŸ”„ Release Process

Releases are automated via GitHub Actions when tags are pushed:

  1. Create a new tag: git tag -a v1.0.0 -m "Release v1.0.0"
  2. Push the tag: git push origin v1.0.0
  3. 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

Documentation ΒΆ

Overview ΒΆ

Copyright Β© 2024 9trocode

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Directories ΒΆ

Path Synopsis
cmd
k3s
cmd/kill.go
cmd/kill.go
internal
utils/utils.go
utils/utils.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL