Quad-Ops Configuration

Quad-Ops Configuration #

Quad-Ops uses a YAML configuration file to define global settings and repository management options.

Configuration File Location #

By default, Quad-Ops looks for configuration files in the following locations:

  • /etc/quad-ops/config.yaml (system-wide)
  • ~/.config/quad-ops/config.yaml (user mode)
  • ./config.yaml (current directory)

You can specify a custom configuration file using the --config flag:

quad-ops --config /path/to/config.yaml sync

Global Settings #

Core Options #

OptionTypeDefaultDescription
repositoryDirstring/var/lib/quad-opsDirectory where Git repositories are cloned
syncIntervalduration5mInterval between automatic repository synchronization
quadletDirstring/etc/containers/systemdDirectory for Podman Quadlet unit files
userModebooleanfalseEnable user-mode (rootless) operation
verbosebooleanfalseEnable verbose logging output

User Mode Configuration #

For rootless operation, user mode changes several default paths:

SettingSystem ModeUser Mode
repositoryDir/var/lib/quad-ops~/.local/share/quad-ops
quadletDir/etc/containers/systemd~/.config/containers/systemd

Example Configuration #

Minimal Configuration #

repositories:
  - name: myapp
    url: https://github.com/user/myapp.git

Complete Configuration #

# Global settings
repositoryDir: /var/lib/quad-ops
syncInterval: 10m
quadletDir: /etc/containers/systemd
userMode: false
verbose: true

# Repository definitions
repositories:
  - name: webapp
    url: https://github.com/company/webapp.git
    ref: main
    composeDir: deploy

  - name: microservices
    url: https://github.com/company/microservices.git
    ref: production
    composeDir: compose

Environment-Specific Configuration #

# Development environment
syncInterval: 1m
verbose: true

repositories:
  - name: dev-app
    url: https://github.com/company/app.git
    ref: develop
# Production environment
syncInterval: 30m
verbose: false

repositories:
  - name: prod-app
    url: https://github.com/company/app.git
    ref: v2.1.0  # Pin to specific version

Configuration Validation #

Quad-Ops validates the configuration file on startup and will report errors for:

  • Invalid YAML syntax
  • Missing required fields
  • Invalid duration formats
  • Duplicate repository names

Next Steps #