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)

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
quadletDirstring/etc/containers/systemdDirectory for Podman Quadlet unit files

Rootless (User Mode) Configuration #

For rootless operation as a non-root user, Quad-Ops automatically adjusts default paths based on the effective UID:

SettingSystem Mode (root)User Mode (non-root)
repositoryDir/var/lib/quad-ops~/.local/share/quad-ops
quadletDir/etc/containers/systemd~/.config/containers/systemd

To override these defaults, explicitly set the paths in your configuration file.

Example Configuration #

Minimal Configuration #

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

Complete Configuration #

# Global settings
repositoryDir: /var/lib/quad-ops
quadletDir: /etc/containers/systemd

# 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
repositories:
  - name: dev-app
    url: https://github.com/company/app.git
    ref: develop
# Production environment
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

Next Steps #