--- sidebar_position: 50 sidebar_label: Deploy CDR Link --- # Deploy the CDR Link Stack ## Set up the Ansible inventory and host variables Create `$HOME/ops/inventory`: ```ini [cdr_link] example.cdr.link ``` Create `$HOME/ops/group_vars/all.yml` if you use our baseline role and integrate with Identity Management: ```yaml --- ipaserver_domain: CHANGEME ipaserver_realm: CHANGEME ipaserver_netbios_name: CHANGEME ``` Create `$HOME/ops/host_vars/example.cdr.link.yml`: ```yaml --- baseline_second_disk_device: /dev/sdb # This is the device path for the data volume baseline_home_luks_passphrase: CHANGEME ipaclient_otp: CHANGEME # This is the OTP generated in the IdM step and is not sensitive after use podman_link_podman_rootless_user: link_example # This is the user you created in the IdM step podman_link_postgres_zammad_password: CHANGEME podman_link_postgres_link_password: CHANGEME podman_link_postgres_root_password: CHANGEME podman_link_zammad_redis_password: CHANGEME podman_link_opensearch_password: CHANGEME podman_link_nextauth_secret: CHANGEME ``` :::warning Do not store sensitive values in the `host_vars` file in plaintext, use lookup plugins to look up the secret values using your secrets management solution of choice. ::: The variables prefixed with `baseline_` and `ipaclient_` are only applicable if you are using our baseline role with Identity Management integration. If you manage your own hardening and use local users and groups you can omit these. The user you reference in `podman_link_podman_rootless_user` must exist before continuing. ## Execute the Ansible playbook If you are using our baseline role: ```shell ansible-playbook -i inventory sr2.apps.link ``` If you manage your own hardening and identity management, use the `link` tag to only run the CDR Link stack deployment: ```shell ansible-playbook -i inventory sr2.apps.link --tags link ```