COBBLER.CONF(5)

πŸ“¦
version 3.3.7 Β· 4 versions
, in epel 9

πŸ’– NAME πŸ’–

okay bestie, welcome to COBBLER.CONF(5) β€” the Cobbler Configuration File Documentation. This is your map to the config files, and we're gonna keep it cute and factual. ✨

There are two main settings files, and by default they live in /etc/cobbler/:

  • The file settings.yaml follows the YAML specification.
  • The file modules.conf follows the INI specification.
NOTE: Since we are cleaning a lot of tech-debt this may change over time. We are trying to find the balance which format is the best for us to handle in the code and the best for admins to handle in the config files.
WARNING: If you are using allow_dynamic_settings or auto_migrate_settings, then the comments in the YAML file will vanish after the first change due to the fact that PyYAML doesn't support comments (Source).

There are additional configuration file locations which need to follow the YAML syntax. These are loaded from the include directory in the settings.yaml file. Any key specified in one of these files overwrites values from the main file.

WARNING: When using allow_dynamic_settings the values are only persisted in the file settings.yaml. This may lead to a non expected behaviour after cobblerd restarts. This is a known issue.

🌈 UPDATES TO THE YAML-SETTINGS-FILE 🌈

πŸŽ€ Starting with 3.3.7 πŸŽ€

No changes to the settings. πŸ’…

πŸŽ€ Starting with 3.3.6 πŸŽ€

No changes to the settings.

NOTE: We backported a PR that introduced a change that allows starting with the 3.2.1 schema the key extra_settings_list which allows to define additional keys that are ignored during schema validation.

πŸŽ€ Starting with 3.3.5 πŸŽ€

  • cache_enabled and lazy_start are new optional settings.

πŸŽ€ Starting with 3.3.4 πŸŽ€

No changes to the settings.

πŸŽ€ Starting with 3.3.3 πŸŽ€

  • default_virt_file_size is now a float as intended.
  • We added the proxies key for first-level Uyuni & SUSE Manager support. It is optional, so you can ignore it if you don't run one of the two solutions or a derivative of it.

πŸŽ€ Starting with 3.3.2 πŸŽ€

  • After community feedback we changed the default of the auto-migration to be disabled. It can be re-enabled via the already known methods cobbler-settings-Tool, the settings file key auto_migrate_settings and the Daemon flag. We have decided to not change the flag for existing installations.

πŸŽ€ Starting with 3.3.1 πŸŽ€

  • There is a new setting bootloaders_shim_location. For details please refer to the appropriate section below.

πŸŽ€ Starting with 3.3.0 πŸŽ€

  • The setting enable_gpxe was replaced with enable_ipxe.
  • The settings.d directory (/etc/cobbler/settings.d/) was deprecated and will be removed in the future.
  • There is a new CLI tool called cobbler-settings which can be used to validate and migrate settings files from differente versions and to modify keys in the current settings file. Have a look at the migration matrix in the next paragraph to see the supported migration paths. Furthermore the auto migration feature can be enabled or disabled.
  • A new settings auto migration feature was implemented which automatically updates the settings when installing a new version. A backup of the old settings file will be created in the same folder beforehand.

πŸŽ€ Starting with 3.2.1 πŸŽ€

  • We require the extension .yaml on our settings file to indicate the format of the file to editors and comply to standards of the YAML specification.
  • We require the usage of booleans in the format of True and False. If you have old integer style booleans with 1 and 0 this is fine but you may should convert them as soon as possible. We may decide in a future version to enforce our new way in a stricter manner. Automatic conversion is only done on a best-effort/available-resources basis.
  • We enforce the types of values to the keys. Additional unexpected keys will throw errors. If you have those used in Cobbler please report this in our issue tracker. We have decided to go this way to be able to rely on the existence of the values. This gives us the freedom to write fewer access checks to the settings without losing stability.

🌟 MIGRATION MATRIX 🌟

This grid is giving "choose your own adventure" but for settings migrations. Read the row/column vibe:

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  To/From   <2.8.5   2.8.5   3.0.0   3.0.1   3.1.0   3.1.1   3.1.2   3.2.0   3.2.1   3.3.0   3.3.1   3.3.2   3.3.3   3.3.4   3.3.5   3.3.6   3.3.7
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  2.8.5     x        o       --      --      --      --      --      --      --      --      --      --      --      --      --      --      --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.0.0     x        x       o       --      --      --      --      --      --      --      --      --      --      --      --      --      --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.0.1     x        x       x       o       --      --      --      --      --      --      --      --      --      --      --      --      --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.1.0     x        x       x       x       o       --      --      --      --      --      --      --      --      --      --      --      --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.1.1     x        x       x       x       x       o       --      --      --      --      --      --      --      --      --      --      --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.1.2     x        x       x       x       x       x       o       --      --      --      --      --      --      --      --      --      --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.2.0     x        x       x       x       x       x       x       o       --      --      --      --      --      --      --      --      --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.2.1     x        x       x       x       x       x       x       x       o       --      --      --      --      --      --      --      --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.3.0     x        x       x       x       x       x       x       x       x       o       --      --      --      --      --      --      --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.3.1     x        x       x       x       x       x       x       x       x       x       o       --      --      --      --      --      --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.3.2     x        x       x       x       x       x       x       x       x       x       x       o       --      --      --      --      --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.3.3     x        x       x       x       x       x       x       x       x       x       x       x       o       --      --      --      --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.3.4     x        x       x       x       x       x       x       x       x       x       x       x       x       o       --      --      --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.3.5     x        x       x       x       x       x       x       x       x       x       x       x       x       x       o       --      --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.3.6     x        x       x       x       x       x       x       x       x       x       x       x       x       x       x       o       --
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  3.3.7     x        x       x       x       x       x       x       x       x       x       x       x       x       x       x       x       x
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  main      --       --      --      --      --      --      --      --      --      --      --      --      --      --      --      --      --

okay so reading the chart, bestie: x means supported, o means same version, and - means not supported. That legend is literally your whole personality test for this table, iykyk.

NOTE: Downgrades are not supported! fr fr, you cannot go backwards. Not even a little. Not even if you ask nicely. 😭

πŸŽ€ SETTINGS.YAML πŸŽ€

Everything below lives in settings.yaml, and it's giving main character energy for your whole Cobbler setup. Let's go through it one by one, no skips, no cap. πŸ’–

  • auto_migrate_settings β€” If True, Cobbler will auto migrate the settings file after upgrading from older versions. The current settings are backed up in the same folder before the upgrade. πŸ¦‹ default: True
  • allow_duplicate_hostnames β€” If True, Cobbler will allow insertions of system records that duplicate the --dns-name information of other system records. In general, this is undesirable and should be left False. πŸ’… default: False
  • allow_duplicate_ips β€” If True, Cobbler will allow insertions of system records that duplicate the IP address information of other system records. In general, this is undesirable and should be left False. πŸŽ€ default: False
  • allow_duplicate_macs β€” If True, Cobbler will allow insertions of system records that duplicate the mac address information of other system records. In general, this is undesirable. πŸ™ˆ default: False
  • allow_dynamic_settings β€” If True, Cobbler will allow settings to be changed dynamically without a restart of the cobblerd daemon. You can only change this variable by manually editing the settings file, and you MUST restart cobblerd after changing it. πŸ”₯ default: False
  • always_write_dhcp_entries β€” Always write DHCP entries, regardless if netboot is enabled. ⭐ default: False
  • anamon_enabled β€” By default, installs are not set to send installation logs to the Cobbler server. With anamon_enabled, automatic installation templates may use the pre_anamon snippet to allow remote live monitoring of their installations from the Cobbler server. Installation logs will be stored under /var/log/cobbler/anamon/. πŸ‘‘ default: False
NOTE: This does allow an XML-RPC call to send logs to this directory, without authentication, so enable only if you are ok with this limitation. bestie pls read that twice. 🫢
  • auth_token_expiration β€” How long the authentication token is valid for, in seconds. ⏳ default: 3600
  • authn_pam_service β€” If using authn_pam in the modules.conf, this can be configured to change the PAM service authentication will be tested against. 🌸 default: "login"
  • autoinstall β€” If no autoinstall template is specified to profile add, use this template. ✨ default: default.ks
  • autoinstall_snippets_dir β€” This is a directory of files that Cobbler uses to make templating easier. See the Wiki for more information. Changing this directory should not be required. πŸ’œ default: /var/lib/cobbler/snippets
  • autoinstall_templates_dir β€” This is a directory of files that Cobbler uses to make templating easier. See the Wiki for more information. Changing this directory should not be required. 🧚 default: /var/lib/cobbler/templates

bind_chroot_path

Sets the path of the bind chroot so Cobbler can generate bind-chroot-compatible bind config files. πŸ—‚οΈ

default: ""

bind_master

Set this to the ip address of your master bind DNS server β€” that's what Cobbler uses to build secondary bind config files.

default: 127.0.0.1

bind_zonefile_path

The path where the zonefiles for your bind/named server live. πŸ“

default: "@@bind_zonefiles@@"

boot_loader_conf_template_dir

Where the templates for boot loader config generation are kept.

default: "/etc/cobbler/boot_loader_conf"

bootloaders_dir

A directory that cobbler mkloaders copies the built bootloaders into. cobbler sync goes looking for bootloaders in here. πŸ’…

default: /var/lib/cobbler/loaders

bootloaders_shim_folder

This Python Glob is the one responsible for finding the installed shim folder. No shim installed? Then this bootloader link just gets skipped, no drama. And if the Glob isn't precise enough, a message gets logged and the link also gets skipped.

default: depends on your distro, see the values below ⬇️

  • (open)SUSE: "/usr/share/efi/*/"
  • Debian/Ubuntu: "/usr/lib/shim/"
  • CentOS/Fedora: "/boot/efi/EFI/*/"

bootloaders_shim_file

This is a Python Regex β€” its whole job is to find exactly one match among all the files that the Python Glob in bootloaders_shim_folder found. If more or fewer files show up, a message gets logged. πŸ”

default: depends on your distro, see the values below

  • (open)SUSE: "shim\.efi"
  • Debian/Ubuntu: "shim*.efi.signed"
  • CentOS/Fedora: "shim*.efi"

grub2_mod_dir

The directory where Cobbler looks for the GRUB modules that cobbler mkloaders needs.

default: depends on your distribution, see below 🧚

  • (open)SUSE: "/usr/share/grub2"
  • Debian/Ubuntu: "/usr/lib/grub"
  • CentOS/Fedora: "/usr/lib/grub"

syslinux_dir

The directory where Cobbler looks for the syslinux modules that cobbler mkloaders needs.

default: depends on your distribution, see below

  • (open)SUSE: "/usr/share/syslinux"
  • Debian/Ubuntu: "/usr/lib/syslinux/modules/bios/"
  • CentOS/Fedora: "/usr/share/syslinux"

bootloaders_modules

A list of all the modules cobbler mkloaders includes when it builds grub loaders. Typically a grub loader uses these modules for PXE or HTTP Boot.

default: omitted for readability β€” go check the settings.yaml file in our GitHub repository, bestie 🫢

bootloaders_formats

This one's a mapping with the following structure:

<loader name>:
   binary_name: filename
   extra_modules:
     - extra-module
   mod_dir: <different folder name then loader name>
   use_secure_boot_grub: True

The keys extra_modules, mod_dir and use_secure_boot_grub are optional. Under normal circumstances you do not need to adjust this setting. Like, leave it alone, it's fine.

default: omitted for readability β€” please refer to the settings.yaml file in our GitHub repository.

grubconfig_dir

The location where Cobbler searches for GRUB configuration files.

default: /var/lib/cobbler/grub_config

build_reporting_*

Emails you a report when Cobbler finishes installing a system. πŸ“§

  • enabled: set to true to turn this feature on
  • email: which addresses to email
  • ignorelist: a list of prefixes that defines mail topics that should not be sent
  • sender: optional
  • smtp_server: used to specify another server for an MTA
  • subject: use the default subject unless overridden

defaults:

build_reporting_enabled: false
build_reporting_sender: ""
build_reporting_email: [ 'root@localhost' ]
build_reporting_smtp_server: "localhost"
build_reporting_subject: ""
build_reporting_ignorelist: [ "" ]

buildisodir

Used for caching the intermediate files while you build an ISO. You might wanna point this at an SSD, a tmpfs, or honestly anything that doesn't persist across reboots and can be casually thrown away β€” but it's also fast. πŸ”₯

default: /var/cache/cobbler/buildiso

cheetah_import_whitelist

Cheetah-language autoinstall templates can import Python modules. Cute feature, sure, but it is not safe to let them import literally anything they want. This whitelists which modules can be imported through Cheetah. You can expand it as needed, but you should never allow modules like subprocess or anything that gives access to the filesystem β€” because Cheetah templates are evaluated by cobblerd as code. ⚠️ Like, for real, be careful.

default:

  • random
  • re
  • time
  • netaddr

client_use_https

If set to True, all commands to the API (not directly to the XML-RPC server) go over HTTPS instead of plain text. Make sure you change the http_port setting to the correct value for the web server. πŸ”’

default: False

client_use_localhost

If set to True, all commands get forced to use the localhost address instead of using the value above β€” which, lowkey, can force commands like cobbler sync to open a connection to a remote address if one is in the configuration, and then it'd traceback. 😭

default: False

cobbler_master

Used for replicating the Cobbler instance.

default: ""

convert_server_to_ip

Convert hostnames to IP addresses (where possible) so that DNS isn't a requirement for various tasks to work correctly. ✨

default: False

createrepo_flags

The default createrepo_flags to use for new repositories.

default: "-c cache -s sha"

default_name_*

Configure all installed systems to use these name servers by default, unless a profile defines them differently. For DHCP configurations you probably do not want to supply this. πŸ™ˆ

defaults:

default_name_servers: []
default_name_servers_search: []

default_ownership

If you're using the authz_ownership module, objects created without specifying an owner get assigned to this owner and/or group.

default:

  • admin

default_password_crypted

Cobbler has various sample automatic installation templates stored in /var/lib/cobbler/templates/. This controls what install (root) password gets set up for those systems that reference this variable. The factory default is "cobbler" and cobbler check will warn you if it's not changed. The simplest way to change the password is to run openssl passwd -1 and put the output between the "". πŸ”‘

default: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."

default_template_type

The default template type to use when no other template is detected. If you don't specify the template with #template=<template_type> on the first line of your templates/snippets, Cobbler assumes it should try to use the following template engine to parse the templates.

NOTE: over time we'll try to deprecate and remove Cheetah3 as a template engine. It's hard to package and there are fewer guides than with Jinja2. Making the templating independent of the engine is a task that complicates the code. So please try to use Jinja2. We'll try to support a seamless transition on a best-effort basis. πŸ’€

Current valid values are: cheetah, jinja2

default: "cheetah"

default_virt_bridge

For libvirt-based installs in Koan, if no virt-bridge is specified, which bridge do we try? For EL 4/5 hosts this should be xenbr0; for all versions of Fedora, try virbr0. You can override this per-profile or at the Koan command line, but setting it here to your most common option saves typing. πŸŒ‰

default: xenbr0

default_virt_disk_driver

The on-disk format for the virtualization disk.

default: raw

default_virt_file_size

Use this as the default disk size for virt guests, in GB.

default: 5.0

default_virt_ram

Use this as the default memory size for virt guests, in MB.

default: 512

default_virt_type

If Koan is invoked without --virt-type and no virt-type is set on the profile/system, what virtualization type should be assumed? πŸ€”

Current valid values are:

  • xenpv
  • xenfv
  • qemu
  • vmware
NOTE: this does not change what virt_type is chosen by import.

default: xenpv

enable_ipxe

Enable iPXE booting? Enabling this option causes Cobbler to copy the undionly.kpxe file to the TFTP root directory, and if a profile/system is configured to boot via iPXE it will chain load off pxelinux.0. πŸ”₯

default: False

enable_menu

Controls whether Cobbler adds each new profile entry to the default PXE boot menu. This can be overridden on a per-profile basis when adding/editing profiles with --enable-menu=False/True. Users should ordinarily leave this setting enabled β€” unless they're worried about accidental reinstalls from users who select an entry at the PXE boot menu. Adding a password to the boot menu templates might also be a good solution to prevent unwanted reinstalls. πŸ’…

default: True

extra_settings_list

Lets you define additional keys that aren't contained in the schema validation. During validation these keys are ignored. Super useful if you're developing a plugin for Cobbler that adds extra settings. 🧚

default: []

http_port

Change this port if Apache isn't running plain text on port 80. Most people can leave this alone.

default: 80

include

Include other configuration snippets with this regular expression. This is a list of folders.

default: [ "/etc/cobbler/settings.d/*.settings" ]

NOTE: will be deprecated in future releases. 😭

iso_template_dir

Folder to search for the ISO templates. These build the boot-menu of the built ISO.

default: /etc/cobbler/iso

jinja2_includedir

This is a directory of files that Cobbler uses to include files into Jinja2 templates. Per default this setting is commented out.

default: /var/lib/cobbler/jinja2

kernel_options

Kernel options that should be present in every Cobbler installation. Kernel options can also be applied at the distro/profile/system level.

default: {}

ldap_*

Configuration options if you're using the authn_ldap module. See the Wiki for details. You can ignore all of this if you're not using LDAP for WebUI/XML-RPC authentication. 🫢

defaults:

ldap_server: "ldap.example.com"
ldap_base_dn: "DC=example,DC=com"
ldap_port: 389
ldap_tls: true
ldap_anonymous_bind: true
ldap_search_bind_dn: ''
ldap_search_passwd: ''
ldap_search_prefix: 'uid='
ldap_tls_cacertdir: ''
ldap_tls_cacertfile: ''
ldap_tls_certfile: ''
ldap_tls_keyfile: ''
ldap_tls_reqcert: 'hard'
ldap_tls_cipher_suite: ''

bind_manage_ipmi

When you're using the Bind9 DNS server, this lets you enable or disable whether the BMCs should receive their own DNS entries.

default: False

manage_dhcp

Set to True to enable Cobbler's DHCP management features. The choice of DHCP management engine lives in /etc/cobbler/modules.conf. πŸ‘‘

default: True

manage_dhcp_v4

Set to true to enable DHCP IPv6 address configuration generation, bestie. Fr fr that's what the manpage says β€” IPv6, on the v4 key, we don't make the rules πŸ’€. This currently only works with the manager.isc DHCP module (the isc dhcpd6 daemon). Peep /etc/cobbler/modules.conf to see whether this isc module is the one chosen for dhcp generation.

default: False


manage_dhcp_v6

Set to true to enable DHCP IPv6 address configuration generation ✨. Same deal as above: this currently only works with the manager.isc DHCP module (isc dhcpd6 daemon). Check /etc/cobbler/modules.conf to find out whether this isc module is chosen for dhcp generation.

default: False


manage_dns

Set to True to turn on Cobbler's DNS management features πŸ¦‹. The choice of DNS management engine lives in /etc/cobbler/modules.conf.

default: False


manage_*_zones

If you're using BIND (named) for DNS management in /etc/cobbler/modules.conf and manage_dns is enabled (see above, bestie πŸ‘†), this lists which zones get managed. See dns-management for more.

defaults:

  • manage_forward_zones: []
  • manage_reverse_zones: []

manage_genders

Whether or not to manage the genders file πŸ‘‘. Want more info on that? Go visit: github.com/chaos/genders

default: False


manage_rsync

Set to True to enable Cobbler's RSYNC management features πŸ’….

default: False


manage_tftpd

Set to True to enable Cobbler's TFTP management features ✨. The choice of TFTP management engine is in /etc/cobbler/modules.conf.

default: True


mgmt_*

Cobbler has this feature that lets it vibe with config management systems like Puppet πŸŽ€. The following parameters work in conjunction with --mgmt-classes and are described in further detail at configuration-management.

mgmt_classes: []
mgmt_parameters:
    from_cobbler: true

next_server_v4

If you're running Cobbler with manage_dhcp_v4, drop the IP address of the Cobbler server here so PXE booting guests can actually find it πŸ”₯. Don't set this correctly and it will manifest in TFTP open timeouts. Not a vibe.

default: 127.0.0.1


next_server_v6

If you're running Cobbler with manage_dhcp_v6, put the IP address of the Cobbler server here so PXE booting guests can find it 🌈. Get this wrong and, again, TFTP open timeouts. We warned you.

default: ::1


nsupdate_enabled

This enables or disables the replacement (or removal) of records in the DNS zone for systems created (or removed) by Cobbler.

NOTE: There are additional settings needed when enabling this. Due to the limited number of resources, this won't be done until 3.3.0. Thus please expect to run into troubles when enabling this setting.

default: False


nsupdate_log

The logfile that documents what records get added or removed in the DNS zone for systems.

NOTE: The functionality this settings is related to is currently not tested due to tech-debt. Please use it with caution. This note will be removed once we were able to look deeper into this functionality of Cobbler.
  • Required: No
  • Default: /var/log/cobbler/nsupdate.log

nsupdate_tsig_algorithm

NOTE: The functionality this settings is related to is currently not tested due to tech-debt. Please use it with caution. This note will be removed once we were able to look deeper into this functionality of Cobbler.
  • Required: No
  • Default: hmac-sha512

nsupdate_tsig_key

NOTE: The functionality this settings is related to is currently not tested due to tech-debt. Please use it with caution. This note will be removed once we were able to look deeper into this functionality of Cobbler.
  • Required: No
  • Default: []

power_management_default_type

Settings for power management features ⚑. These settings are optional. See power-management to learn more.

Choices (refer to the fence-agents project for a complete list, bestie):

  • apc_snmp
  • bladecenter
  • bullpap
  • drac
  • ether_wake
  • ilo
  • integrity
  • ipmilan
  • ipmilanplus
  • lpar
  • rsa
  • virsh
  • wti

default: ipmilanplus


proxies

This key is used by Uyuni (or one of its derivatives) for the Proxy scenario 🫢. More information can be found here.

Cobbler only evaluates this if the key has a list of strings as value. An empty list means you don't have any proxies configured in your Uyuni setup.

default: []


proxy_url_ext

External proxy used by the following commands: reposync, signature update.

defaults:


proxy_url_int

Internal proxy, used by systems to reach Cobbler for kickstarts.

e.g.: proxy_url_int: http://10.0.0.1:8080

default: ""


puppet_auto_setup

If enabled, this setting ensures that puppet is installed during machine provision, a client certificate is generated, and a certificate signing request is made with the puppet master server πŸŽ€.

default: False


puppet_parameterized_classes

Choose whether to enable puppet parameterized classes or not. Puppet versions prior to 2.6.5 do not support parameters.

default: True


puppet_server

Choose a --server argument when running puppetd/puppet agent during autoinstall.

default: 'puppet'


puppet_version

Let Cobbler know you're on a newer version of puppet. Choose version 3 to use: 'puppet agent'; version 2 uses the status quo: 'puppetd'.

default: 2


puppetca_path

Location of the puppet executable, used for revoking certificates.

default: "/usr/bin/puppet"


pxe_just_once

If this setting is set to True, Cobbler systems that pxe boot will request at the end of their installation to toggle the --netboot-enabled record in the Cobbler system record πŸ”. This eliminates the potential for a PXE boot loop if the system is set to PXE first in it's BIOS order. Enable this if PXE is first in your BIOS boot order, otherwise leave this disabled. See the manpage for --netboot-enabled.

default: True


nopxe_with_triggers

If this setting is set to True, triggers will be executed when systems request to toggle the --netboot-enabled record at the end of their installation ✨.

default: True


redhat_management_permissive

If you're using authn_spacewalk in modules.conf to let Cobbler authenticate against Satellite/Spacewalk's auth system, by default it will not allow per user access into Cobbler Web and Cobbler XML-RPC. In order to permit this, the following setting must be enabled β€” HOWEVER, doing so will permit all Spacewalk/Satellite users of certain types to edit all of Cobbler's configuration 😭. These roles are: config_admin and org_admin. Users should turn this on only if they want this behavior and do not have a cross-multi-org separation concern. If you have a single org in your satellite, it's probably safe to turn this on and then you can use CobblerWeb alongside a Satellite install.

default: False


redhat_management_server

This setting is only used by the code that supports using Uyuni/SUSE Manager/Spacewalk/Satellite authentication within Cobbler Web and Cobbler XML-RPC πŸ‘‘

default: "xmlrpc.rhn.redhat.com"


redhat_management_key

Specify the default Red Hat authorization key to use to register a system. If left blank, no registration will be attempted πŸ™ˆ. Similarly you can set the --redhat-management-key to blank on any system to keep it from trying to register.

default: ""


register_new_installs

If set to True, allows /usr/bin/cobbler-register (part of the Koan package) to be used to remotely add new Cobbler system records to Cobbler πŸ’–. This effectively allows for registration of new hardware from system records.

default: False


remove_old_puppet_certs_automatically

When a puppet managed machine gets reinstalled it's necessary to remove the puppet certificate from the puppet master server before a new certificate is signed (see above πŸ‘†). Enabling the following feature will ensure that the certificate for the machine to be installed is removed from the puppet master server if the puppet master server is running on the same machine as Cobbler. This requires puppet_auto_setup above to be enabled.

default: False


replicate_repo_rsync_options

Replication rsync options for repos, set to override the default value of -avzH.

default: "-avzH"


replicate_rsync_options

Replication rsync options for distros, autoinstalls, snippets, set to override the default value of -avzH.

default: "-avzH"


reposync_flags

Flags to use for yum's reposync 🌸. If your version of yum reposync does not support -l, you may need to remove that option.

default: "-l -n -d"


reposync_rsync_flags

Flags to use for rysync's reposync. If archive mode (-a,--archive) is used then createrepo is not ran after the rsync as it pulls down the repodata as well πŸ¦‹. This allows older OS's to mirror modular repos using rsync.

default: "-rltDv --copy-unsafe-links"


restart_*

When DHCP and DNS management are enabled, cobbler sync can automatically restart those services to apply changes πŸ”₯. The exception for this is if you're using ISC for DHCP, then OMAPI eliminates the need for a restart β€” omapi, however, is experimental and not recommended for most configurations. If DHCP and DNS are going to be managed but hosted on a box that is not on this server, disable restarts here and write some other script to ensure the config files get copied/rsynced to the destination box. This can be done by modifying the restart services trigger. Note that if manage_dhcp and manage_dns are disabled, the respective parameter will have no effect. Most users should not need to change this.

defaults:

  • restart_dns: true
  • restart_dhcp: true

run_install_triggers

Install triggers are scripts in /var/lib/cobbler/triggers/install that get triggered in autoinstall pre and post sections ✨. Any executable script in those directories is run. They can be used to send email or perform other actions. They are currently run as root, so if you don't need this functionality you can disable it β€” though this will also disable cobbler status, which uses a logging trigger to audit install progress.

default: true


scm_track_*

Enables a trigger which version controls all changes to /var/lib/cobbler when add, edit, or sync events are performed πŸŽ€. This can be used to revert to previous database versions, generate RSS feeds, or for other auditing or backup purposes. Git and Mercurial are currently supported, but Git is the recommend SCM for use with this feature.

default:

scm_track_enabled: false
scm_track_mode: "git"
scm_track_author: "cobbler <cobbler@localhost>"
scm_push_script: "/bin/true"

serializer_pretty_json

Sort and indent JSON output to make it more human-readable πŸ’….

default: False

server

okay so this one is literally the address of the Cobbler server β€” and bestie, listen, this is the one your systems actually see during the install process, so it must be the address or hostname of the system as those systems can see the server. like, their POV, not yours. if you've got a server that looks different from different subnets (dual homed, etc.), you need to go read the --server-override section of the manpage for how that whole situation works. iykyk. πŸ’…

default: 127.0.0.1

sign_puppet_certs_automatically

so when puppet starts on a system after installation, it needs its certificate signed by the puppet master server. turning this feature on means the puppet server signs that cert after installation β€” but only if the puppet master server is running on the same machine as Cobbler. and heads up: this requires puppet_auto_setup above to be enabled. ✨

default: false

signature_path

the cobbler import workflow is powered by this file, fr fr. its location can be set with this config option. πŸŽ€

default: /var/lib/cobbler/distro_signatures.json

signature_url

updates to the signatures may happen more often than we have releases, so to let you import new versions we provide the most up to date signatures we offer on this link. you may host this file for yourself and adjust it for your needs. πŸ¦‹

default: https://cobbler.github.io/signatures/3.0.x/latest.json

tftpboot_location

this variable contains the location of the tftpboot directory. and lowkey threatening: if this directory is not present, Cobbler does not start. 😭

Default: /srv/tftpboot

virt_auto_boot

should new profiles for virtual machines default to auto booting with the physical host when the physical host reboots? this can be overridden on each profile or system object, so you're not locked in. πŸ‘‘

default: true

webdir

Cobbler's web directory. do not change this setting β€” go see the Wiki on "relocating your Cobbler install" if your /var partition is not large enough. it's giving "don't touch, i'm serious". πŸ’€

default: @@webroot@@/cobbler

webdir_whitelist

directories that will not get wiped and recreated on a cobbler sync. iconic survivors, honestly. 🌸

default:

webdir_whitelist:
  - misc
  - web
  - webui
  - localmirror
  - repo_mirror
  - distro_mirror
  - images
  - links
  - pub
  - repo_profile
  - repo_system
  - svc
  - rendered
  - .link_cache

windows_enabled

set to true to enable the generation of Windows boot files in Cobbler. πŸͺŸ

default: False

for more information see wingen.

windows_template_dir

location of templates used for Windows.

default: /etc/cobbler/windows

for more information see wingen.

samba_distro_share

samba share name for distros πŸ“

default: DISTRO

for more information see wingen.

xmlrpc_port

Cobbler's public XML-RPC listens on this port. change this only if absolutely needed, because you'll have to start supplying a new port option to Koan if it is not the default. like, it's a whole ripple effect, ngl. 🌈

default: 25151

yum_distro_priority

the default yum priority for all the distros. this is only used if the yum-priorities plugin is used. 1 is the maximum value. tweak with caution, bestie β€” caution. πŸ™ˆ

default: true

yum_post_install_mirror

cobbler repo add commands set Cobbler up with repository information that can be used during autoinstall, and it's automatically set up in the Cobbler autoinstall templates. by default, these are only available at install time. to make these repositories usable on installed systems (since Cobbler makes a very convenient mirror), set this to True. most users can safely set this to True. users who have a dual homed Cobbler server, or are installing laptops that will not always have access to the Cobbler server, may wish to leave this as False. in that case, the Cobbler mirrored yum repos are still accessible at http://cobbler.example.org/cblr/repo_mirror and YUM configuration can still be done manually. this is just a shortcut. πŸ’–

default: True

yumdownloader_flags

flags to use for yumdownloader. not all versions may support --resolve. πŸŽ€

default: "--resolve"


🌟 LAZY_START 🌟

set to True to speed up the start of Cobbler. when storing collections as files, the directory with the names of the collection elements will be scanned without reading and parsing the files themselves. in the case of storing collections in the database, a projection query is made that includes only the names of the collection elements. the first time an attribute of an element other than a name is accessed, a full read of all other attributes will be performed, and a recursive full read of all elements on which this element depends. at startup, a background task is also launched, which, when idle, fills in all the properties of the elements of the collections. suitable for configurations with a large number of elements placed on a slow device (HDD, network). it's literally the "i'll get to it when i get to it" of config options but make it efficient. ⭐

default: False


🧚 MODULES.CONF 🧚

if you have own custom modules which are not shipped with Cobbler directly, you may have additional sections here. your house, your rules. πŸ’œ

authentication

what users can log into Cobbler via the XML-RPC API or the HTTP-API? the vibe check of who gets in. πŸ”₯

Choices:

  • authentication.denyall β€” no one
  • authentication.configfile β€” use /etc/cobbler/users.digest (default)
  • authentication.passthru β€” ask Apache to handle it (used for kerberos)
  • authentication.ldap β€” authenticate against LDAP
  • authentication.spacewalk β€” ask Spacewalk/Satellite (experimental)
  • authentication.pam β€” use PAM facilities
  • (user supplied) β€” you may write your own module
NOTE: a new web interface is in the making. at the moment we do not have any documentation, yet. πŸ™ˆ

default: authentication.configfile

Hash algorithms:

this parameter has currently only a meaning when the option authentication.configfile is used. the parameter decides what hashfunction algorithm is used for checking the passwords. ✨

Choices:

  • blake2b
  • blake2s
  • sha3_512
  • sha3_384
  • sha3_256
  • sha3_224
  • shake_128
  • shake_256

default: sha3_512

authorization

once a user has been cleared by the WebUI/XML-RPC, what can they do? πŸ‘€

Choices:

  • authorization.allowall β€” full access for all authenticated users (default)
  • authorization.ownership β€” use users.conf, but add object ownership semantics
  • (user supplied) β€” you may write your own module
WARNING: if you want to further restrict Cobbler with ACLs for various groups, pick authorization.ownership. authorization.allowall does not support ACLs. configuration file does but does not support object ownership which is useful as an additional layer of control. 🚨
NOTE: a new web interface is in the making. at the moment we do not have any documentation, yet. πŸ™ˆ

default: authorization.allowall

dns

chooses the DNS management engine if manage_dns is enabled in /etc/cobbler/settings.yaml, which is off by default. πŸ‘‘

Choices:

  • managers.bind β€” default, uses BIND/named
  • managers.dnsmasq β€” uses dnsmasq, also must select dnsmasq for DHCP below
  • managers.ndjbdns β€” uses ndjbdns
NOTE: more configuration is still required in /etc/cobbler

for more information see dns-management.

default: managers.bind

dhcp

chooses the DHCP management engine if manage_dhcp is enabled in /etc/cobbler/settings.yaml, which is off by default.

Choices:

  • managers.isc β€” default, uses ISC dhcpd
  • managers.dnsmasq β€” uses dnsmasq, also must select dnsmasq for DNS above
NOTE: more configuration is still required in /etc/cobbler

for more information see dhcp-management.

default: managers.isc

tftpd

chooses the TFTP management engine if manage_tftpd is enabled in /etc/cobbler/settings.yaml, which is on by default (rare W for defaults). πŸŽ€

Choices:

  • managers.in_tftpd β€” default, uses the system's TFTP server

default: managers.in_tftpd


🌈 CACHE_ENABLED 🌈

if set to True, allows the results of some internal operations to be cached, but may slow down editing of objects. classic tradeoff, bestie β€” speed somewhere, lag somewhere else. πŸ’…

default: True


🌸 AUTHOR 🌸

Enno Gotthold

2025, Enno Gotthold


and that's a wrap on COBBLER.CONF(5) besties!! 🫢 this page is from Cobbler version 3.3, dated Oct 05, 2025, and it was written by Enno Gotthold with a 2025 copyright β€” go say thank you, they ate. πŸ’–βœ¨πŸ‘‘

πŸ“¦ where this page comes from