Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Zammad

Open source Helpdesk and Support tool. https://zammad.com

Prerequisites

By default, zammad is not connected to OIDC. This has to be done manually with the admin account.

Usage

momo-cloud.zammad = {
  enable = true;
  secretKeyBaseFile = config.age.secrets."zammad-secret-base-file".path;
};

Secrets

To generate the secret for secretKeyBaseFile, you can use openssl:

openssl rand -hex 64

Moving to a different Domain

If the TLD is changed, there are two manual changes that need to change in the zammad config. You can perform these either with the admin account or via the rails console after you’ve deployed the instance with the new domain:

To start the rails console, log in via ssh and run the following:

sudo zammad run rails c
  1. Update the fqdn: see the zammad docs
  2. Update the OIDC config

For the second part, you’ll have to update the kanidm issue URL.

First, get the current config from the database:

c = Setting.get('auth_openid_connect_credentials')
=> {"display_name" => "Teylen Cloud ID",
 "identifier" => "zammad",
 "issuer" => "https://account.OLD_DOMAIN/oauth2/openid/zammad",
 "uid_field" => "",
 "scope" => "",
 "pkce" => true}

Then, update the issuer string:

c[:issuer] = "https://account.NEW_DOMAIN/oauth2/openid/zammad"
=> "https://account.NEW_DOMAIN/oauth2/openid/zammad"

Last, write this out to the database:

Setting.set('auth_openid_connect_credentials', c)