133 lines
4.3 KiB
Plaintext
133 lines
4.3 KiB
Plaintext
---
|
|
pvc:
|
|
# Enable debug mode
|
|
debug: true
|
|
|
|
# Deploy username
|
|
deploy_username: deploy
|
|
|
|
# Database (SQLite) configuration
|
|
database:
|
|
# Path to the database file
|
|
path: /srv/tftp/pvcbootstrapd.sql
|
|
|
|
# Flask API configuration
|
|
api:
|
|
# Listen address
|
|
address: 10.199.199.254
|
|
|
|
# Listen port
|
|
port: 9999
|
|
|
|
# Redis Celery queue configuration
|
|
queue:
|
|
# Connect address
|
|
address: 127.0.0.1
|
|
|
|
# Connect port
|
|
port: 6379
|
|
|
|
# Redis path (almost always 0)
|
|
path: "/0"
|
|
|
|
# DNSMasq DHCP configuration
|
|
dhcp:
|
|
# Listen address
|
|
address: 10.199.199.254
|
|
|
|
# Default gateway address
|
|
gateway: 10.199.199.1
|
|
|
|
# Local domain
|
|
domain: pvcbootstrap.local
|
|
|
|
# DHCP lease range start
|
|
lease_start: 10.199.199.10
|
|
|
|
# DHCP lease range end
|
|
lease_end: 10.199.199.99
|
|
|
|
# DHCP lease time
|
|
lease_time: 1h
|
|
|
|
# DNSMasq TFTP configuration
|
|
tftp:
|
|
# Root TFTP path (contents of the "buildpxe.sh" output directory; generally read-only)
|
|
root_path: "/srv/tftp/pvc-installer"
|
|
|
|
# Per-host TFTP path (almost always "/host" under "root_path"; must be writable)
|
|
host_path: "/srv/tftp/pvc-installer/host"
|
|
|
|
# Debian repository configuration
|
|
repo:
|
|
# Mirror path; defaults to using the apt-cacher-ng instance located on the current machine
|
|
# Replace "10.199.199.254" if you change "dhcp" -> "address" above
|
|
mirror: http://10.199.199.254:3142/ftp.debian.org/debian
|
|
|
|
# Default Debian release for new clusters. Must be supported by PVC ("buster", "bullseye", "bookworm").
|
|
release: bookworm
|
|
|
|
# PVC Ansible repository configuration
|
|
# Note: If "path" does not exist, "remote" will be cloned to it via Git using SSH private key "keyfile".
|
|
# Note: The VCS will be refreshed regularly via the API in response to webhooks.
|
|
ansible:
|
|
# Path to the VCS repository
|
|
path: "/var/home/joshua/pvc"
|
|
|
|
# Path to the deploy key (if applicable) used to clone and pull the repository
|
|
key_file: "/var/home/joshua/id_ed25519.joshua.key"
|
|
|
|
# Git remote URI for the repository
|
|
remote: "ssh://git@git.bonifacelabs.ca:2222/bonifacelabs/pvc.git"
|
|
|
|
# Git branch to use
|
|
branch: "master"
|
|
|
|
# Clusters configuration file
|
|
clusters_file: "clusters.yml"
|
|
|
|
# Lock file to use for Git interaction
|
|
lock_file: "/run/pvcbootstrapd.lock"
|
|
|
|
# Filenames of the various group_vars components of a cluster
|
|
# Generally with pvc-ansible this will contain 2 files: "base.yml", and "pvc.yml"; refer to the
|
|
# pvc-ansible documentation and examples for details on these files.
|
|
# The third file, "bootstrap.yml", is used by pvcbootstrapd to map BMC MAC addresses to hosts and
|
|
# to simplify hardware detection. It must be present or the cluster will not be bootstrapped.
|
|
# Adjust these entries to match the actual filenames of your clusters; the pvc-ansible defaults
|
|
# are provided here. All clusters using this pvcbootstrapd instance must share identical filenames
|
|
# here.
|
|
cspec_files:
|
|
base: "base.yml"
|
|
pvc: "pvc.yml"
|
|
bootstrap: "bootstrap.yml"
|
|
|
|
# Notification webhook configs
|
|
# These enable sending notifications from the bootstrap to a JSON webhook, e.g. a chat system
|
|
# This feature is optional; if this block is missing or `enabled: false`, nothing here will be used.
|
|
notifications:
|
|
enabled: true
|
|
# The URI endpoint for notifications
|
|
uri: https://mattermost.domain.tld/hooks/asecretstring
|
|
# The action to use (usually "post")
|
|
action: post
|
|
# Icons to use for various status types; embedded in the message with `{icon}`
|
|
icons:
|
|
info: "❕" # A note about an event
|
|
begin: "🤞" # A task is beginning
|
|
success: "✅" # A task succeeded
|
|
failure: "❌" # A task failed
|
|
completed: "👌" # A task is completed
|
|
# A trigger word (no whitespace) added to the end of the completed cluster message; this can be used
|
|
# for pings in various chat systems (e.g. Mattermost)
|
|
completed_triggerword: "#pvcbootstrapcompleted"
|
|
# The webhook body elements; this is specific to the webhook target, and is converted into raw
|
|
# JSON before sending.
|
|
# Two special variables are used: "{icon}" displays one of the above icons, and "{message}" displays
|
|
# the actual message coming from pvcbootstrapd.
|
|
body:
|
|
channel: "mychannel"
|
|
username: "pvcbootstrapd"
|
|
text: "@person {icon} {message}"
|
|
|