pipeops-cli

command module
v0.2.13 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2025 License: MIT Imports: 1 Imported by: 0

README ΒΆ

PipeOps CLI

Release CodeQL Analysis Go Version GitHub Release Docker Pulls

PipeOps CLI is a fast, cross-platform command-line tool for managing cloud-native projects with PipeOps. Authenticate via OAuth (PKCE), provision and manage servers, deploy pipelines, interact with agents, and monitor statusβ€”all from your terminal.


Table of Contents

  • πŸš€ Quick Install
  • ✨ Features
  • πŸƒ Quick Start
  • πŸ“– Commands Overview
  • πŸ”§ Configuration
  • πŸ› οΈ Development
  • 🐳 Docker Usage
  • 🌐 Platforms
  • 🀝 Contributing
  • πŸ“š Documentation
  • πŸ†˜ Support & Community
  • πŸ”„ Release Process
  • πŸ“„ License
  • πŸ™ Acknowledgments

πŸš€ 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

πŸ“‹ For more options and troubleshooting, see the Complete Installation Guide: INSTALL.md


✨ Features

  • πŸ” OAuth with PKCE for secure, device-friendly login
  • πŸ“¦ Project lifecycle management: create, list, configure, deploy
  • πŸš€ Server provisioning and environment management
  • πŸ”§ CI/CD pipeline management and deployment
  • πŸ€– Agent installation and management across platforms
  • 🌐 Cross-platform support: Linux, macOS, Windows, FreeBSD
  • πŸ“Š Real-time status, rich output, and JSON mode
  • 🎨 Pleasant terminal UX with progress and color

πŸƒ Quick Start

  1. Log in

    pipeops auth login

  2. Check authentication status

    pipeops auth status

  3. List projects

    pipeops project list

  4. Get help

    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 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 Install and manage PipeOps agents pipeops agent install, pipeops agent status
Global flags
  • --help, -h: Show help
  • --version, -v: Show version
  • --json: Output JSON
  • --quiet, -q: Reduce non-essential output

πŸ”§ Configuration

By default, configuration is stored at ~/.pipeops.json, including:

  • Authentication tokens
  • User preferences
  • Default settings
Environment variables
  • PIPEOPS_CONFIG_PATH: Custom config file location
  • PIPEOPS_API_URL: Override API endpoint
  • PIPEOPS_LOG_LEVEL: debug, info, warn, error

πŸ› οΈ Development

Prerequisites
  • Go 1.23+
  • Git
Setup
# Clone
git clone https://github.com/PipeOpsHQ/pipeops-cli.git
cd pipeops-cli

# Dependencies
go mod download

# Build
make build

# Test
make test

# Lint
make lint
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"]

🌐 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!

  1. Fork the repository and create a feature branch
  2. Follow coding standards and add tests
  3. Validate with make test and make lint
  4. Open a PR with a clear description

Guidelines:

  • Follow Go best practices
  • Write clear, documented code
  • Include tests for new functionality
  • Update docs as needed
  • Be respectful and collaborative

See CONTRIBUTING.md for details.


πŸ“š Documentation


πŸ†˜ Support & Community


πŸ”„ Release Process

Releases are automated via GitHub Actions on tag push:

  1. Create a tag: git tag -a v1.0.0 -m "Release v1.0.0"
  2. Push the tag: git push origin v1.0.0
  3. CI will:
    • Build binaries for all platforms
    • Create a GitHub release with artifacts
    • Push Docker images
    • Update package managers (e.g., Homebrew)

πŸ“„ License

Licensed under the MIT License. See LICENSE.


πŸ™ Acknowledgments

  • All PipeOps CLI contributors and users
  • The Go community for outstanding tooling
  • GitHub for CI/CD infrastructure
  • The broader open-source community for inspiration

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