quad-ops

module
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2025 License: MIT

README

Quad-Ops

Build Docs

Quad-Ops manages Quadlet container units by synchronizing them from Git repositories. It automatically generates systemd unit files from YAML manifests and handles unit reloading.

For full documentation, visit our GitHub Pages.

Configuration

Repository Settings
repositories:
  - name: quad-ops-manifests  # Repository name (required)
    url: "https://github.com/example/repo.git"  # Git repository URL (required)
    ref: "main"  # Git reference to checkout: branch, tag, or commit hash (optional)
    manifestDir: "manifests"  # Subdirectory where manifests are located (optional)
    cleanup: "delete"  # Cleanup policy: "delete" or "keep" (default: "keep")
Cleanup Policy
  • keep (default): Units from this repository remain deployed even when removed from manifests
  • delete: Units that no longer exist in the repository manifests will be stopped and removed

Development

Install from Source
# clone the repository
git clone https://github.com/trly/quad-ops.git

# build the binary
go build -o quad-ops main.go

# move to system directory
sudo mv quad-ops /usr/local/bin/

# copy the default config file
sudo cp config.yaml /etc/quad-ops/config.yaml

# install the systemd service file (optional)
sudo cp buildd/quad-ops.service /etc/systemd/system/quad-ops.service

# reload systemd daemon
sudo systemctl daemon-reload

# enable and start the service
sudo systemctl enable quad-ops

# start the service
sudo systemctl start quad-ops

Directories

Path Synopsis
cmd
quad-ops command
internal
db
internal/db/db.go
internal/db/db.go
git
validation
validation/validation.go
validation/validation.go

Jump to

Keyboard shortcuts

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