|
| 1 | +# SPDX-FileCopyrightText: Helmholtz-Zentrum Dresden-Rossendorf (HZDR) |
| 2 | +# |
| 3 | +# SPDX-License-Identifier: MIT |
| 4 | + |
| 5 | +--- |
| 6 | +argument_specs: |
| 7 | + main: |
| 8 | + short_description: "Install and configure Zammad helpdesk system." |
| 9 | + description: |
| 10 | + - "This Ansible role installs and configures the web-based open source user support/ticketing solution Zammad." |
| 11 | + - "It manages Zammad installation, Nginx configuration, SSL/TLS certificates, and Elasticsearch integration." |
| 12 | + - "Note: This role does not install Elasticsearch and PostgreSQL server, which are required dependencies." |
| 13 | + author: |
| 14 | + - "HIFIS Software Services" |
| 15 | + options: |
| 16 | + zammad_version: |
| 17 | + description: |
| 18 | + - "Zammad version to be installed." |
| 19 | + type: "str" |
| 20 | + default: "6.5.0" |
| 21 | + required: false |
| 22 | + zammad_release_channel: |
| 23 | + description: |
| 24 | + - "Release channel for the Zammad packages." |
| 25 | + - "Please refer to https://packager.io/gh/zammad/zammad for a complete list of available channels." |
| 26 | + type: "str" |
| 27 | + default: "stable" |
| 28 | + required: false |
| 29 | + zammad_repo_url: |
| 30 | + description: |
| 31 | + - "URL to the Zammad package repository." |
| 32 | + - "This is automatically constructed from the release channel and distribution." |
| 33 | + type: "str" |
| 34 | + default: "https://dl.packager.io/srv/deb/zammad/zammad/{{ zammad_release_channel }}/{{ ansible_facts.distribution | lower }}" |
| 35 | + required: false |
| 36 | + zammad_domain_name: |
| 37 | + description: |
| 38 | + - "Zammad's fully qualified domain name." |
| 39 | + - "This is used in the Nginx configuration." |
| 40 | + type: "str" |
| 41 | + default: "{{ ansible_facts.fqdn }}" |
| 42 | + required: false |
| 43 | + zammad_nginx_config_path: |
| 44 | + description: |
| 45 | + - "File path to Zammad's Nginx configuration file." |
| 46 | + type: "str" |
| 47 | + default: "/etc/nginx/sites-available/zammad.conf" |
| 48 | + required: false |
| 49 | + zammad_ssl_cert_path: |
| 50 | + description: |
| 51 | + - "File path to the SSL/TLS certificate which is used for HTTPS." |
| 52 | + type: "str" |
| 53 | + default: "/etc/ssl/certs/zammad_cert.pem" |
| 54 | + required: false |
| 55 | + zammad_ssl_key_path: |
| 56 | + description: |
| 57 | + - "File path to the SSL/TLS private key which is used for HTTPS." |
| 58 | + type: "str" |
| 59 | + default: "/etc/ssl/private/zammad_key.pem" |
| 60 | + required: false |
| 61 | + zammad_ssl_cert: |
| 62 | + description: |
| 63 | + - "Content of SSL/TLS certificate." |
| 64 | + - "This variable is required unless you previously put an SSL certificate on the host (e.g., via Let's Encrypt)." |
| 65 | + - "The role will validate that a valid SSL key pair exists at the configured paths." |
| 66 | + type: "str" |
| 67 | + required: false |
| 68 | + zammad_ssl_key: |
| 69 | + description: |
| 70 | + - "Content of SSL/TLS private key." |
| 71 | + - "This variable is required unless you previously put an SSL private key on the host (e.g., via Let's Encrypt)." |
| 72 | + - "The role will validate that a valid SSL key pair exists at the configured paths." |
| 73 | + type: "str" |
| 74 | + required: false |
| 75 | + zammad_nginx_server_tokens: |
| 76 | + description: |
| 77 | + - "Enable or disable emitting nginx version information in error pages or in the Server response header field." |
| 78 | + - "See nginx documentation: http://nginx.org/en/docs/http/ngx_http_core_module.html#server_tokens" |
| 79 | + type: "str" |
| 80 | + default: "off" |
| 81 | + required: false |
| 82 | + zammad_nginx_additional_server_configs: |
| 83 | + description: |
| 84 | + - "List of additional server directives in the Nginx configuration." |
| 85 | + - "This allows implementation of more use case specific adjustments." |
| 86 | + - "Examples include configuring multiple domains or redirecting outdated domains to the most recent one." |
| 87 | + - "Each list entry should be a complete server block configuration." |
| 88 | + type: "list" |
| 89 | + elements: "str" |
| 90 | + default: [] |
| 91 | + required: false |
| 92 | + zammad_force_es_searchindex_rebuild: |
| 93 | + description: |
| 94 | + - "Whether to force rebuild of the Elasticsearch search index when Zammad is updated." |
| 95 | + - "By default, the Elasticsearch indexes are only rebuilt during the initial installation." |
| 96 | + - "Set this variable to true to trigger the rebuild on every Zammad update." |
| 97 | + type: "bool" |
| 98 | + default: false |
| 99 | + required: false |
| 100 | + zammad_elasticsearch_url: |
| 101 | + description: |
| 102 | + - "Elasticsearch server address." |
| 103 | + - "Zammad requires Elasticsearch for search functionality." |
| 104 | + type: "str" |
| 105 | + default: "http://localhost:9200" |
| 106 | + required: false |
| 107 | + |
| 108 | +... |
0 commit comments