After the prerequisites are met and the manifest file is modified, use the dux deploy command to deploy the required gateway container to the specified hosts.
Dux commands with single or multiple containers
Behavior based on manifest files
-
If only one manifest file is present in the default directory, dux commands automatically use that manifest file.
-
If multiple manifest files are present, the user must select a container type or explicitly specify it in the command. This flexibility allows users to manage multiple container types efficiently using the dux CLI tool.
Single-Container deployment
If only one type of container is deployed (only one manifest file is present in the default directory), all dux commands work as expected without requiring the user to specify the container type.
Example
If only cg_manifest.yml was present in the default directory:
dux status
Result
Status of Content Gateway containers deployed
1. Host: 192.xxx.xx.xxx Status: Not Deployed
Multiple-Container deployment
If multiple containers are deployed or multiple manifest files are present in the default directory, dux commands prompt the user to select a container type before executing the command.
Example
dux status
Multiple manifests found. Please select a container type:
1. Tunnel (/opt/omnissa/dux/ts_manifest.yml)
2. EIC (/opt/omnissa/dux/eic_manifest.yml)
3. Content Gateway (/opt/omnissa/dux/cg_manifest.yml)
Enter the number of the container: 3
Status of Content Gateway containers deployed
1. Host: 192.168.84.166 Status: UP Version: 25.12.0.7 Operating System: Linux Deployment Method: appliance
Execute the deploy command
After the manifest is updated, use the deploy command to deploy the container on the specified hosts.
dux deploy -h
Usage:
dux <container> deploy [flags]
| Flag | Description | Supported container types |
|---|---|---|
-d, --dry-run | Check if manifest is good to deploy | CG, SEG, Tunnel, EIC, PAC Reader |
-p, --ip | Hostname or IP as specified in the manifest to deploy on a single host | CG, SEG, Tunnel, EIC, PAC Reader |
-m, --manifest-file | Custom manifest file path (default /opt/omnissa/dux/cg_manifest.yml) | CG, SEG, Tunnel, EIC, PAC Reader |
-n, --node-number | Node number as listed in manifest to deploy on a single host | CG, SEG, Tunnel, EIC |
-q, --quiet | Quiet mode: interactive ssh password prompts are disabled | CG, SEG, Tunnel, EIC, PAC Reader |
-u, --uem-password | Password to authenticate with the Workspace ONE UEM API server | CG, SEG, Tunnel, PAC Reader |
-y, --yes | Auto accept all prompts | CG, SEG, Tunnel, EIC, PAC Reader |
-o, --outbound-proxy-password string | Password to authenticate with the Outbound Proxy host | Tunnel |
Examples
| Scenario | Command | Comments / Example |
|---|---|---|
| Deploy using the default manifest | dux deploy | Deploy containers on all hosts in the order listed in the manifest. |
| Deploy on PAC Reader | dux pacreader deploy | Deploy PAC Reader |
| Deploy using a manifest from a different path | dux deploy -m <path> | dux deploy -m ~/Downloads/ts_manifest_xyz.yml |
| Provide the UEM password as a command-line option | dux deploy -u <uem_password> | dux deploy -u MyUemPassword |
| Deploy container to specific/few remote hosts (by node) | dux deploy -n | dux deploy -n 1 -n 3 |
| Deploy to a specific host (by IP) | dux deploy -p <host IP> | dux deploy -p 1.2.3.4 |
Additional Considerations
Running setup script without sudo permissions (no_sudo: true)
Content Gateway and SEG deployment requires the creation of specific users and groups, setting directory permissions, and sudo access on the container host.
When no_sudo: true is set in the manifest, the setup script must be executed manually before deployment.
The script setup_host_for_cg.sh is created by dux init command in /opt/omnissa/dux/scripts directory for linux (the path varies for different platforms).
On Content Gateway
The script must be copied and executed on the container host (if remote) before running dux deploy.
dux deploy
Enter UEM password:
Preparing for Content Gateway container deployment on 192.168.84.166
⚠️ Host 192.168.84.166: Sudo permissions for 'system' and 'file_operations' are required to run the setup script. Deployment may fail.
Please manually copy and run the setup script (/opt/omnissa/dux/scripts/setup_host_for_cg.sh) on the host: 192.168.84.166 before proceeding
Do you want to continue deployment on this host? (y/n): n
Deployment failed error="deployment aborted by user due to lack of sudo permissions on host: 192.168.84.166"
exit status 1
Steps to execute setup script before deployment
If no_sudo: true is set in the Content Gateway cg_manifest.yml file, you must manually execute the setup_host_for_cg.sh script on the container host before proceeding with deployment.
-
Copy the script to the remote host. Use scp or any file transfer method to copy the script to the remote host.
scp /opt/omnissa/dux/scripts/setup_host_for_cg.sh <remote_user>@<remote_host>:/home/remote_user/Where,
remote_user- SSH user on the remote machineremote_host- IP address or hostname of the remote machine -
On the remote host, ensure the script has executable permissions.
chmod +x /home/<remote_user>/setup_host_for_cg.sh -
Run the script on the remote host with
sudo.sudo ./setup_host_for_cg.sh <host_working_dir> <remote_user>Where,
host_working_dir- Thehost_base_dirorglobal_base_dirdirectory specified in the manifest yaml file.remote_user- The SSH user defined in the manifest.Example
If the
host_base_diris/home/user1/cgand thessh_userisuser1:sudo ./setup_host_for_cg.sh /home/user1/cg user1
Handling Windows-to-Linux script transfer
If you are using dux on a Windows machine and need to copy the setup_host_for_cg.sh script to a remote Linux host, you might encounter issues with CRLF (Carriage Return and Line Feed) characters. These characters are specific to Windows and can cause errors when running the script on Linux.
To convert CRLF to LF on the remote host
-
Log in to the remote host:
ssh <remote_user>@<remote_host> -
Navigate to the script directory:
cd /home/<remote_user>/ -
Convert the CRLF line endings to LF:
tr -d '\r' < setup_host_for_cg.sh > setup_host_for_cg_fixed.sh
This command creates a new filesetup_host_for_cg_fixed.shwith the corrected line endings. -
Run the executable script with sudo.
On Secure Email Gateway
The script is automatically copied to the remote host. Run the script manually on the container host before running dux deploy. The user is prompted during deployment.
dux deploy
Enter UEM password:
Preparing for SEG container deployment on 192.10.84.186
Setup script prepared at /tmp/script/setup_host_for_seg_prepared.sh for manual execution
⚠️ Host 192.10.84.186 requires manual setup (NoSudo file operations):
Run setup script: sudo /tmp/script/setup_host_for_seg_prepared.sh
Continue deployment (y/N): y
SEG container image is already present on the host. Will not need to copy the image for deployment
Deploying new SEG container on 192.10.84.186....
c3dc0ae7a43e1cc9f4056c0cf749910508260cbdd58c3adabab47b120de0e6a3
Checking if SEG container is running on 192.10.84.186....
Fetching the deployment status. Please wait. This may take some time... \Version: 2.32.0 Mail Server Connectivity: DOWN REST API Connectivity: UP Requests since startup: 0 Device Policy Size in Active Cache: 55
Deploy command has completed on 192.10.84.186
Was deze pagina nuttig?