Radek Vykydal 147131
# This file is a well-documented, and commented out (mostly) file, which
Radek Vykydal 147131
# covers the configuration options available in LinchPin
Radek Vykydal 147131
#
Radek Vykydal 147131
# Used to override default configuration settings for LinchPin
Radek Vykydal 147131
# Defaults exist in linchpin/linchpin.constants file
Radek Vykydal 147131
#
Radek Vykydal 147131
# Uncommented options enable features found in v1.5.1 or newer and
Radek Vykydal 147131
# can be turned off by commenting them out.
Radek Vykydal 147131
#
Radek Vykydal 147131
# structured in INI style
Radek Vykydal 147131
# use %% to allow code interpolation
Radek Vykydal 147131
# use % to use config interpolation
Radek Vykydal 147131
#
Radek Vykydal 147131
Radek Vykydal 147131
[DEFAULT]
Radek Vykydal 147131
# name of the python package (Redundant, but easier than programmatically
Radek Vykydal 147131
# obtaining the value. It's very unlikely to change.)
Radek Vykydal 147131
pkg = linchpin
Radek Vykydal 147131
Radek Vykydal 147131
# Useful for storing the RunDB or other components like global credentials
Radek Vykydal 147131
# travis-ci doesn't like ~/.config/linchpin, use /tmp
Radek Vykydal 147131
#default_config_path = ~/.config/linchpin
Radek Vykydal 147131
Radek Vykydal 147131
# When creating an provider not already included in LinchPin, this path
Radek Vykydal 147131
# extends where LinchPin will look to run the appropriate playbooks
Radek Vykydal 147131
#external_providers_path = %(default_config_path)s/linchpin-x
Radek Vykydal 147131
Radek Vykydal 147131
# When adding anything to the lp section, it should be general for
Radek Vykydal 147131
# the entire application.
Radek Vykydal 147131
[lp]
Radek Vykydal 147131
Radek Vykydal 147131
# load custom ansible modules from here
Radek Vykydal 147131
#module_folder = library
Radek Vykydal 147131
Radek Vykydal 147131
# rundb tracks provisioning transactions
Radek Vykydal 147131
# If you add a new one, rundb/drivers.py needs to be updated to match
Radek Vykydal 147131
# rundb_conn is the location of the run database.
Radek Vykydal 147131
# A common reason to move it is to use the rundb centrally across
Radek Vykydal 147131
# the entire system, or in a central db on a shared filesystem.
Radek Vykydal 147131
# System-wide RunDB: rundb_conn = ~/.config/linchpin/rundb-::mac::.json
Radek Vykydal 147131
#rundb_conn = {{ workspace }}/.rundb/rundb-::mac::.json
Radek Vykydal 147131
rundb_conn = ~/.config/linchpin/rundb-::mac::.json
Radek Vykydal 147131
Radek Vykydal 147131
# name the type of Run database. Currently only TinyRunDB exists
Radek Vykydal 147131
#rundb_type = TinyRunDB
Radek Vykydal 147131
Radek Vykydal 147131
# How to connect to the RunDB, if it's on a separate server,
Radek Vykydal 147131
# it may be tcp or ssh
Radek Vykydal 147131
#rundb_conn_type = file
Radek Vykydal 147131
Radek Vykydal 147131
# The schema is used because TinyDB is a NoSQL db. Another DB
Radek Vykydal 147131
# may use this as a way to manage fields in a specific table.
Radek Vykydal 147131
#rundb_schema = {"action": "",
Radek Vykydal 147131
#                "inputs": [],
Radek Vykydal 147131
#                "outputs": [],
Radek Vykydal 147131
#                "start": "",
Radek Vykydal 147131
#                "end": "",
Radek Vykydal 147131
#                "rc": 0,
Radek Vykydal 147131
#                "uhash": ""}
Radek Vykydal 147131
Radek Vykydal 147131
# each entry in the RunDB contains a unique-ish hash (uhash). This
Radek Vykydal 147131
# sets the hashing mechanism used to generate the uhash.
Radek Vykydal 147131
#rundb_hash = sha256
Radek Vykydal 147131
Radek Vykydal 147131
# The default dateformat used in LinchPin. Specifically used in the
Radek Vykydal 147131
# RunDB for recording start and end dates, but also used elsewhere.
Radek Vykydal 147131
#dateformat = %%m/%%d/%%Y %%I:%%M:%%S %%p
Radek Vykydal 147131
Radek Vykydal 147131
# The name of the pinfile. Someone could adjust this and use TopFile
Radek Vykydal 147131
# or somesuch. The ramifications of this would mean that the file in
Radek Vykydal 147131
# the workspace that linchpin reads would change to this value.
Radek Vykydal 147131
#default_pinfile = PinFile
Radek Vykydal 147131
Radek Vykydal 147131
# By default, whenever linchpin performs an action
Radek Vykydal 147131
# (linchpin up/linchpin destroy), the data is read from the PinFile.
Radek Vykydal 147131
# Enabling 'use_rundb_for_actions' will allow destroy and certain up
Radek Vykydal 147131
# actions (specifically when using --run-id or --tx-id) to pull data
Radek Vykydal 147131
# from the RunDB instead.
Radek Vykydal 147131
#use_rundb_for_actions = False
Radek Vykydal 147131
use_rundb_for_actions = True
Radek Vykydal 147131
Radek Vykydal 147131
# A user can request specific data distilled from the RunDB. This flag
Radek Vykydal 147131
# enables the Context Distiller.
Radek Vykydal 147131
# NOTE: This flag requires generate_resources = False.
Radek Vykydal 147131
#distill_data = False
Radek Vykydal 147131
distill_data = True
Radek Vykydal 147131
Radek Vykydal 147131
# If desired, enabling distill_on_error will distill any successfully (and
Radek Vykydal 147131
# possibly failed) provisioned resources. This is predicated on the data
Radek Vykydal 147131
# being written to the RunDB (usually means _async tasks may never record
Radek Vykydal 147131
# data upon failure).
Radek Vykydal 147131
distill_on_error = False
Radek Vykydal 147131
Radek Vykydal 147131
# User can make linchpin use the actual return codes for final return code
Radek Vykydal 147131
# if enabled True, even if one target provision is successfull linchpin 
Radek Vykydal 147131
# returns exit code zero else returns the sum of all the return codes
Radek Vykydal 147131
# use_actual_rcs = False
Radek Vykydal 147131
Radek Vykydal 147131
# LinchPin sets several extra_vars (evars) that are passed to the playbooks.
Radek Vykydal 147131
# This section controls those items.
Radek Vykydal 147131
[evars]
Radek Vykydal 147131
Radek Vykydal 147131
# enables the ansible --check option
Radek Vykydal 147131
# _check_mode = False
Radek Vykydal 147131
Radek Vykydal 147131
# enables the ansible async ability. For some providers, it allows multiple
Radek Vykydal 147131
# provisioning tasks to happen at once, then will collect the data afterward.
Radek Vykydal 147131
# The default is perform the provision actions in serial.
Radek Vykydal 147131
#_async = False
Radek Vykydal 147131
Radek Vykydal 147131
# How long to wait before failing (in seconds) for an async task.
Radek Vykydal 147131
#async_timeout = 1000
Radek Vykydal 147131
Radek Vykydal 147131
# the uhash value will still exist, but will not be added to
Radek Vykydal 147131
# instances or the inventory_path
Radek Vykydal 147131
#enable_uhash = False
Radek Vykydal 147131
enable_uhash = True
Radek Vykydal 147131
Radek Vykydal 147131
# in older versions of linchpin (
Radek Vykydal 147131
# dumped the data that is now stored in the RunDB. To disable the resources
Radek Vykydal 147131
# output, set the value to False.
Radek Vykydal 147131
#generate_resources = True
Radek Vykydal 147131
generate_resources = False
Radek Vykydal 147131
Radek Vykydal 147131
# default paths in playbooks
Radek Vykydal 147131
#
Radek Vykydal 147131
# lp_path = <src_dir>/linchpin
Radek Vykydal 147131
# determined in the load_config method of # linchpin.cli.LinchpinCliContext
Radek Vykydal 147131
Radek Vykydal 147131
# Each of the following items controls the path (usually along with the
Radek Vykydal 147131
# default values below) to the corresponding item.
Radek Vykydal 147131
Radek Vykydal 147131
# In the workspace (generally), this is the location of the layouts and
Radek Vykydal 147131
# topologies looked up by the PinFile. If either of these change, the
Radek Vykydal 147131
# value in linchpin/templates must also change.
Radek Vykydal 147131
#layouts_folder = layouts
Radek Vykydal 147131
#topologies_folder = topologies
Radek Vykydal 147131
Radek Vykydal 147131
# The relative location for hooks
Radek Vykydal 147131
#hooks_folder = hooks
Radek Vykydal 147131
Radek Vykydal 147131
# The relative location for provider roles
Radek Vykydal 147131
#roles_folder = roles
Radek Vykydal 147131
Radek Vykydal 147131
# The relative location for storing inventories
Radek Vykydal 147131
#inventories_folder = inventories
Radek Vykydal 147131
Radek Vykydal 147131
# The relative location for resources output (deprecated)
Radek Vykydal 147131
#resources_folder = resources
Radek Vykydal 147131
Radek Vykydal 147131
# The relative location to find schemas (deprecated)
Radek Vykydal 147131
#schemas_folder = schemas
Radek Vykydal 147131
Radek Vykydal 147131
# The relative location to find playbooks
Radek Vykydal 147131
#playbooks_folder = provision
Radek Vykydal 147131
Radek Vykydal 147131
# The default path to schemas for validation (deprecated)
Radek Vykydal 147131
#default_schemas_path = {{ lp_path }}/defaults/%(schemas_folder)s
Radek Vykydal 147131
Radek Vykydal 147131
# The default path to topologies if they aren't in the workspace
Radek Vykydal 147131
#default_topologies_path = {{ lp_path }}/defaults/%(topologies_folder)s
Radek Vykydal 147131
Radek Vykydal 147131
# The default path to inventory layouts if they aren't in the workspace
Radek Vykydal 147131
#default_layouts_path = {{ lp_path }}/defaults/%(layouts_folder)s
Radek Vykydal 147131
Radek Vykydal 147131
# The default path for outputting ansible static inventories
Radek Vykydal 147131
#default_inventories_path = {{ lp_path }}/defaults/%(inventories_folder)s
Radek Vykydal 147131
Radek Vykydal 147131
# The default path to the ansible roles which control the providers
Radek Vykydal 147131
#default_roles_path = {{ lp_path }}/%(playbooks_folder)s/%(roles_folder)s
Radek Vykydal 147131
Radek Vykydal 147131
# In older versions (<1.2.x), the schema was held here. These schemas are
Radek Vykydal 147131
# deprecated.
Radek Vykydal 147131
#schema_v3 = %(default_schemas_path)s/schema_v3.json
Radek Vykydal 147131
#schema_v4 = %(default_schemas_path)s/schema_v4.json
Radek Vykydal 147131
Radek Vykydal 147131
# The location where default credentials data would exist. This path doesn't
Radek Vykydal 147131
# automatically exist
Radek Vykydal 147131
#default_credentials_path = %(default_config_path)s
Radek Vykydal 147131
Radek Vykydal 147131
# If desired, one could overwrite the location of the generated inventory path
Radek Vykydal 147131
#inventory_path = {{ workspace }}/{{inventories_folder}}/happy.inventory
Radek Vykydal 147131
Radek Vykydal 147131
# Libvirt images can be stored almost anywhere (not /tmp).
Radek Vykydal 147131
# Unprivileged users need not setup sudo to manage a path to which they have rights.
Radek Vykydal 147131
# The following are specific settings to manage libvirt images and instances
Radek Vykydal 147131
Radek Vykydal 147131
# the location to store generated ssh keys and the like
Radek Vykydal 147131
#default_ssh_key_path = ~/.ssh
Radek Vykydal 147131
Radek Vykydal 147131
# Where to store the libvirt images for copying/booting instances
Radek Vykydal 147131
#libvirt_image_path = /var/lib/libvirt/images/
Radek Vykydal 147131
Radek Vykydal 147131
# What user to use to access libvirt.
Radek Vykydal 147131
# Using root means sudo without password must be setup
Radek Vykydal 147131
#libvirt_user = root
Radek Vykydal 147131
Radek Vykydal 147131
# When using root or any privileged user, this must be set to yes.
Radek Vykydal 147131
# sudo without password must also be setup
Radek Vykydal 147131
#libvirt_become = yes
Radek Vykydal 147131
Radek Vykydal 147131
# This section covers settings for the `linchpin init` command
Radek Vykydal 147131
#[init]
Radek Vykydal 147131
Radek Vykydal 147131
# source path of files generated by linchpin init
Radek Vykydal 147131
#source = templates/
Radek Vykydal 147131
Radek Vykydal 147131
# formal name of the generated PinFile. Can be changed as desired.
Radek Vykydal 147131
#pinfile = PinFile
Radek Vykydal 147131
Radek Vykydal 147131
# This section covers logging setup
Radek Vykydal 147131
[logger]
Radek Vykydal 147131
Radek Vykydal 147131
# Turns off and on the logger functionality
Radek Vykydal 147131
#enable = True
Radek Vykydal 147131
Radek Vykydal 147131
# Full path to the location of the linchpin log file
Radek Vykydal 147131
file = ~/.config/linchpin/linchpin.log
Radek Vykydal 147131
Radek Vykydal 147131
# Log format used. See https://docs.python.org/2/howto/logging-cookbook.html
Radek Vykydal 147131
#format = %%(levelname)s %%(asctime)s %%(message)s
Radek Vykydal 147131
Radek Vykydal 147131
# Date format used. See https://docs.python.org/2/howto/logging-cookbook.html
Radek Vykydal 147131
#dateformat = %%m/%%d/%%Y %%I:%%M:%%S %%p
Radek Vykydal 147131
Radek Vykydal 147131
# Level of logging provided
Radek Vykydal 147131
#level = logging.DEBUG
Radek Vykydal 147131
Radek Vykydal 147131
# Logging to the console via STDERR
Radek Vykydal 147131
#[console]
Radek Vykydal 147131
Radek Vykydal 147131
# logging to the console should also be possible
Radek Vykydal 147131
# NOTE: Placeholder only, cannot disable.
Radek Vykydal 147131
#enable = True
Radek Vykydal 147131
Radek Vykydal 147131
# Log format used. See https://docs.python.org/2/howto/logging-cookbook.html
Radek Vykydal 147131
#format = %%(message)s
Radek Vykydal 147131
Radek Vykydal 147131
# Level of logging provided
Radek Vykydal 147131
#level = logging.INFO
Radek Vykydal 147131
Radek Vykydal 147131
# LinchPin hooks have several states depending on the action. Currently, there
Radek Vykydal 147131
# are three hook states relating to tasks being completed.
Radek Vykydal 147131
# * up - when performing the up (provision) action
Radek Vykydal 147131
# * destroy - when performing the destroy (teardown) action
Radek Vykydal 147131
# * inv - when performing the internal inventory generation action
Radek Vykydal 147131
#   (currently unimplemented)
Radek Vykydal 147131
#[hookstates]
Radek Vykydal 147131
Radek Vykydal 147131
# when performing the up action, these hooks states are run
Radek Vykydal 147131
#up = pre,post,inv
Radek Vykydal 147131
Radek Vykydal 147131
# when performing the inv action, these hooks states are run
Radek Vykydal 147131
#inv = post
Radek Vykydal 147131
Radek Vykydal 147131
# when performing the destroy action, these hooks states are run
Radek Vykydal 147131
#destroy = pre,post
Radek Vykydal 147131
Radek Vykydal 147131
# This section covers file extensions for generating or looking
Radek Vykydal 147131
# up specific files
Radek Vykydal 147131
#[extensions]
Radek Vykydal 147131
Radek Vykydal 147131
# When looking for provider playbooks, use this extension
Radek Vykydal 147131
#playbooks = .yml
Radek Vykydal 147131
Radek Vykydal 147131
# When generating inventory files, use this extension
Radek Vykydal 147131
#inventory = .inventory
Radek Vykydal 147131
Radek Vykydal 147131
# This section controls the ansible settings for display or other settings
Radek Vykydal 147131
#[ansible]
Radek Vykydal 147131
Radek Vykydal 147131
# If set to true, this enables verbose output automatically to the screen.
Radek Vykydal 147131
# This is equivalent of passing `-v` to the linchpin command line shell.
Radek Vykydal 147131
#console = False
Radek Vykydal 147131
Radek Vykydal 147131
# When linchpin is run, certain states are called at certain points along the
Radek Vykydal 147131
# execution timeline. These STATES are defined below.
Radek Vykydal 147131
#[states]
Radek Vykydal 147131
# in future each state will have comma separated substates
Radek Vykydal 147131
Radek Vykydal 147131
# The name of the state which occurs before (pre) provisioning (up)
Radek Vykydal 147131
#preup = preup
Radek Vykydal 147131
Radek Vykydal 147131
# The name of the state which occurs before (pre) teardown (destroy)
Radek Vykydal 147131
#predestroy = predestroy
Radek Vykydal 147131
Radek Vykydal 147131
# The name of the state which occurs after (post) provisioning (up)
Radek Vykydal 147131
#postup = postup
Radek Vykydal 147131
Radek Vykydal 147131
# The name of the state which occurs after (pre) teardown (destroy)
Radek Vykydal 147131
#postdestroy = postdestroy
Radek Vykydal 147131
Radek Vykydal 147131
# The name of the state which occurs after (post) inventory is generated (inv)
Radek Vykydal 147131
#postinv = inventory
Radek Vykydal 147131