--- argument_specs: main: version_added: "0.0.1" short_description: Install and configure InspIRCd. description: - "Install and configure the L(InspIRCd,https://www.inspircd.org/) IRC daemon." - "Execution of this role can be limited using the following tags:" - "C(role::inspircd:install): Install InspIRCd from distribution packages." - "C(role::inspircd:config): Render the InspIRCd configuration." - "C(role::inspircd): Apply all of the above." author: s3lph options: inspircd_modules: description: - Modules to load. type: list elements: str default: - argon2 - bcrypt - botmode - cap - connflood - ircv3 - ircv3_batch - ircv3_capnotify - ircv3_ctctags - ircv3_labeledresponse - ircv3_msgid - ircv3_servertime - messageflood - password_hash - pbkdf2 - sha256 - showfile - sslmodes - sslrehashsignal - ssl_gnutls - spanningtree - userip - watch inspircd_modules_additional: description: - Additional modules to load. type: list elements: str default: [] inspircd_server_hostname: description: - The hostname of the local server. type: str default: "{{ inventory_hostname }}" inspircd_server_description: description: - A description of the local server. type: str default: "{{ inventory_hostname }}" inspircd_server_network: description: - The name of the IRC network the local server is attached to. type: str default: "{{ inventory_hostname }}" inspircd_options_casemapping: description: - The casemapping to use when comparing channel and nicknames insensitively. type: str default: ascii inspircd_admin_nick: description: - The nickname of the server operator. type: str default: admin inspircd_admin_email: description: - The email address of the server operator. type: str default: noreply@example.com inspircd_motd: description: - Message of the day, ie. shown to users when they connect or use the /MOTD command. type: str default: |2 CCCC H H A N N GGGG EEEEE M M EEEEE C H H A A NN N G E MM MM E C HHHHH A A N N N G GG EEE M M M EEE C H H AAAAA N NN G G E M M E CCCC H H A A N N GGGG EEEEE M M EEEEE inspircd_log_method: description: - The method to use for storing logs. type: str default: file inspircd_log_types: description: - List of types of message to log. type: list elements: str default: - CHANNELS - COMMAND - MODE - MODULE - SOCKET - STARTUP - core_channel - core_oper - core_reloadmodule - m_sasl - m_spanningtree - m_ssl_gnutls - m_sslinfo - m_topiclock inspircd_log_level: description: - The level of messages to log. type: str default: default inspircd_log_target: description: - The location to write the log to. type: str default: inspircd.log inspircd_log_flush: description: - After how many lines to flush the log to disk. type: int default: 20 inspircd_gnutls_profiles: description: - This MUST be set to the name of a GnuTLS TLS (SSL) profile to listen for secure connections with GnuTLS. type: dict default: {} inspircd_bind: description: - Endpoints to listen for connections on. type: list elements: dict default: - address: "::1" port: 6667 inspircd_autoconnect: description: - One or more servers to attempt to connect to. type: list elements: dict default: [] inspircd_links: description: - Defines servers to link with. type: dict default: {} inspircd_ulines: description: - Defines one or more services servers. type: list elements: dict default: [] inspircd_sasl_requiressl: description: - Whether TLS (SSL) is required to use SASL. type: bool default: true inspircd_oper_classes: description: - If defined then a connect class to assign users who log into this server operator account to. type: dict inspircd_oper_types: description: - Types of server operators. type: dict inspircd_opers: description: - Server operator accounts. type: dict default: {} inspircd_additional_config: description: - Wildcard option to append arbitrary additional configuration. type: str default: ""