lunar-deploy-agent

module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2026 License: MIT

README

Lunar Deploy Agent

A lightweight deployment orchestration agent written in Go.

Lunar Deploy Agent can execute deployment pipelines, expose deployment APIs, stream deployment events in real-time, manage deployment queues, monitor node health, and integrate with process managers such as PM2.


Features

Deployment Engine
  • Config-driven deployments
  • Step-based execution pipeline
  • Retry support
  • Deployment history tracking
  • Deployment result reporting
Deployment Steps
  • Git Pull
  • Shell Commands
  • NPM Install
  • NPM Build
  • PM2 Restart
  • PM2 Start or Restart
  • PM2 Save
  • PM2 Status
  • HTTP Health Checks
HTTP API
  • Deployment execution
  • Deployment history
  • Job management
  • Queue visibility
  • Node metadata
  • Health reporting
Real-Time Events
  • WebSocket event streaming
  • Deployment lifecycle events
  • Job lifecycle events
  • Step lifecycle events
Health Monitoring
  • Queue health
  • Git health
  • PM2 health
  • Configuration validation
  • Disk space monitoring
  • Memory monitoring
  • Capability validation
  • Uptime reporting
Documentation
  • OpenAPI Specification
  • Swagger UI

Architecture

See:

docs/architecture.md

Installation

Requirements
  • Go 1.20+
  • Git
  • Node.js (optional)
  • PM2 (optional)
Clone
git clone https://github.com/ogilcher/lunar-deploy-agent.git

cd lunar-deploy-agent
Build
go build ./cmd/lunar-agent
Run
./lunar-agent serve

Example Configurations

Examples are available in:

examples/

Available examples:

config.basic.yaml
config.node-pm2.yaml
config.manual-pipeline.yaml

API Documentation

Start the server:

go run ./cmd/lunar-agent serve

Swagger UI:

http://localhost:8080/swagger/index.html

OpenAPI Spec:

http://localhost:8080/openapi.yaml

Authentication

Protected endpoints require:

Authorization: Bearer <token>

Configured through:

api_token: "your-token"

Versioning

This project follows Semantic Versioning.

Examples:

v0.3.0
v1.0.0
v1.1.0

Roadmap

v1.x
  • Process cancellation
  • Rollback support
  • Persistent queue
v2.x
  • Multi-node orchestration
  • Distributed deployments
  • Control plane integration

License

MIT License

Jump to

Keyboard shortcuts

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