Skip to content

Commit 30fa43b

Browse files
committed
zammad: add role argument specifications
Signed-off-by: Norman Ziegner <n.ziegner@hzdr.de>
1 parent 7738522 commit 30fa43b

File tree

1 file changed

+108
-0
lines changed

1 file changed

+108
-0
lines changed
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
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

Comments
 (0)