# linchpin configuration file # structured in INI style # use %% to allow code interpolation # use % to use config interpolation [DEFAULT] # name of the python package (Redundant, but easier than programmatically # obtaining the value. It's very unlikely to change.) pkg = linchpin # travis-ci doesn't like ~/.config/linchpin default_config_path = ~/.config/linchpin external_providers_path = %(default_config_path)s/linchpin-x [lp] # load custom ansible modules from here module_folder = library # rundb tracks provisioning transactions # If you add a new one, rundb/drivers.py needs to be updated to match # rundb_conn is the location of the run database. # A common reason to move it is to use the rundb centrally across # the entire system, or in a central db on a shared filesystem. # Default: {{ workspace }}/.rundb/rundb.json #rundb_conn = %(default_config_path)s/rundb/rundb-::mac::.json # rundb_type = TinyRunDB rundb_conn_type = file rundb_schema = {"action": "", "inputs": [], "outputs": [], "start": "", "end": "", "rc": 0, "uhash": ""} rundb_hash = sha256 dateformat = %%m/%%d/%%Y %%I:%%M:%%S %%p default_pinfile = PinFile [evars] # extra vars to pass to the ansible playbook being executed _check_mode = False _async = False async_timeout = 1000 default_ssh_key_path = ~/.ssh # default paths in playbooks # # lp_path = /linchpin # determined in the load_config method of # linchpin.cli.LinchpinCliContext # # if either of these change, the value in linchpin/templates must also change layouts_folder = layouts topologies_folder = topologies hooks_folder = hooks roles_folder = roles inventories_folder = inventories resources_folder = resources schemas_folder = schemas playbooks_folder = provision # inputs default_schemas_path = {{ lp_path }}/defaults/%(schemas_folder)s default_topologies_path = {{ lp_path }}/defaults/%(topologies_folder)s default_layouts_path = {{ lp_path }}/defaults/%(layouts_folder)s default_inventories_path = {{ lp_path }}/defaults/%(inventories_folder)s default_roles_path = {{ lp_path }}/%(playbooks_folder)s/%(roles_folder)s # default_schema interpolates the default_schemas_path from above schema_v3 = %(default_schemas_path)s/schema_v3.json schema_v4 = %(default_schemas_path)s/schema_v4.json # default credentials data, this path doesn't automatically exist default_credentials_path = %(default_config_path)s #inventory_file = {{ workspace }}/{{inventories_folder}}/happy.inventory [init] # source path of files generated by linchpin init source = templates/ # formal name of the PinFile. Can be changed as desired. pinfile = PinFile #[playbooks] ## possible playbook actions and the corresponding action file #up = site.yml #destroy = site.yml #down = site.yml #schema_check = schemacheck.yml #inv_gen = invgen.yml #test = test.yml [logger] enable = True file = linchpin.log format = %%(levelname)s %%(asctime)s %%(message)s dateformat = %%m/%%d/%%Y %%I:%%M:%%S %%p level = logging.DEBUG [console] # logging to the console should also be possible enable = True # DO NOT REMOVE. Placeholder only, cannot disable. format = %%(message)s level = logging.INFO [hookstates] up = pre,post,inv inv = post destroy = pre,post [extensions] playbooks = .yml inventory = .inventory [ansible] console = False [states] # in future each state will have comma separated substates preup = preup predestroy = predestroy postup = postup postdestroy = postdestroy postinv = inventory