volumes.ymlΒΆ

---
# nocheck: config-volume-secret  Zammad's auto_wizard.json is consumed once at first boot and must carry the OIDC client secret inline; the wizard accepts no reference to a secret held elsewhere.
zammad_storage:
  type: volume
  mounts:
    - service: websocket
      target: &opt_zammad_storage_target /opt/zammad/storage
    - service: scheduler
      target: *opt_zammad_storage_target
    - service: nginx
      target: *opt_zammad_storage_target
    - service: init
      target: *opt_zammad_storage_target
    - service: railsserver
      target: *opt_zammad_storage_target
zammad_search:
  type: volume
  mounts:
    - service: elasticsearch
      target: /usr/share/elasticsearch/data
search_allocation_precheck:
  type: config
  source: "{{ [lookup('container', 'web-app-zammad', 'directories.config'), 'search_allocation_precheck.sh'] | path_join }}"
  mode: "0555"
  mounts:
    - service: precheck
      target: &usr_local_bin_search_allocation_precheck_sh_target /usr/local/bin/search_allocation_precheck.sh
    - service: init
      target: *usr_local_bin_search_allocation_precheck_sh_target
auto_wizard:
  type: config
  source: "{{ [lookup('container', 'web-app-zammad', 'directories.volumes'), 'auto_wizard.json'] | path_join }}"
  mode: "0444"
  mounts:
    - service: init
      target: &opt_zammad_auto_wizard_json_target /opt/zammad/auto_wizard.json
    - service: railsserver
      target: *opt_zammad_auto_wizard_json_target
zammad_omniauth_init:
  type: bind
  source: "{{ [lookup('container', 'web-app-zammad', 'directories.volumes'), 'zz_omniauth_allow_get.rb'] | path_join }}"
  read_only: true
  mounts:
    - service: websocket
      target: &opt_zammad_config_initializers_zz_omniauth_allow_get_rb_target /opt/zammad/config/initializers/zz_omniauth_allow_get.rb
    - service: scheduler
      target: *opt_zammad_config_initializers_zz_omniauth_allow_get_rb_target
    - service: nginx
      target: *opt_zammad_config_initializers_zz_omniauth_allow_get_rb_target
    - service: railsserver
      target: *opt_zammad_config_initializers_zz_omniauth_allow_get_rb_target
zammad_network_origins:
  type: bind
  source: "{{ [lookup('container', 'web-app-zammad', 'directories.volumes'), 'zz_network_origins.rb'] | path_join }}"
  read_only: true
  mounts:
    - service: railsserver
      target: /opt/zammad/config/initializers/zz_network_origins.rb
zammad_telegram_helper:
  type: bind
  source: "{{ [lookup('container', 'web-app-zammad', 'directories.volumes'), 'telegram_helper.rb'] | path_join }}"
  read_only: true
  mounts:
    - service: websocket
      target: &opt_zammad_lib_telegram_helper_rb_target /opt/zammad/lib/telegram_helper.rb
    - service: scheduler
      target: *opt_zammad_lib_telegram_helper_rb_target
    - service: nginx
      target: *opt_zammad_lib_telegram_helper_rb_target
    - service: init
      target: *opt_zammad_lib_telegram_helper_rb_target
    - service: railsserver
      target: *opt_zammad_lib_telegram_helper_rb_target
zammad_oidc_group_role_map:
  type: bind
  source: "{{ [lookup('container', 'web-app-zammad', 'directories.volumes'), 'zz_oidc_group_role_mapping.rb'] | path_join }}"
  read_only: true
  mounts:
    - service: websocket
      target: &opt_zammad_config_initializers_zz_oidc_group_role_mapping_rb_target /opt/zammad/config/initializers/zz_oidc_group_role_mapping.rb
      when: "{{ lookup('config', 'web-app-zammad', 'services.sso.enabled') | bool }}"
    - service: scheduler
      target: *opt_zammad_config_initializers_zz_oidc_group_role_mapping_rb_target
      when: "{{ lookup('config', 'web-app-zammad', 'services.sso.enabled') | bool }}"
    - service: nginx
      target: *opt_zammad_config_initializers_zz_oidc_group_role_mapping_rb_target
      when: "{{ lookup('config', 'web-app-zammad', 'services.sso.enabled') | bool }}"
    - service: railsserver
      target: *opt_zammad_config_initializers_zz_oidc_group_role_mapping_rb_target
      when: "{{ lookup('config', 'web-app-zammad', 'services.sso.enabled') | bool }}"
zammad_oidc_http_discovery:
  type: bind
  source: "{{ [lookup('container', 'web-app-zammad', 'directories.volumes'), 'zz_oidc_http_discovery.rb'] | path_join }}"
  read_only: true
  mounts:
    - service: websocket
      target: &opt_zammad_config_initializers_zz_oidc_http_discovery_rb_target /opt/zammad/config/initializers/zz_oidc_http_discovery.rb
      when: "{{ (lookup('config', 'web-app-zammad', 'services.sso.enabled') | bool) and not (lookup('tls', 'web-app-zammad', 'enabled') | bool) }}"
    - service: scheduler
      target: *opt_zammad_config_initializers_zz_oidc_http_discovery_rb_target
      when: "{{ (lookup('config', 'web-app-zammad', 'services.sso.enabled') | bool) and not (lookup('tls', 'web-app-zammad', 'enabled') | bool) }}"
    - service: nginx
      target: *opt_zammad_config_initializers_zz_oidc_http_discovery_rb_target
      when: "{{ (lookup('config', 'web-app-zammad', 'services.sso.enabled') | bool) and not (lookup('tls', 'web-app-zammad', 'enabled') | bool) }}"
    - service: railsserver
      target: *opt_zammad_config_initializers_zz_oidc_http_discovery_rb_target
      when: "{{ (lookup('config', 'web-app-zammad', 'services.sso.enabled') | bool) and not (lookup('tls', 'web-app-zammad', 'enabled') | bool) }}"