Skip to main content

Integrator

Most integrations connect to services the CyberOptix CTEM Platform can reach directly over the internet. The integrator exists for the ones it cannot - an on-premises ticketing system, an internal source control server, anything that has no public endpoint.

It runs inside your network, connects outbound to the platform, and relays integration work in both directions. As with every edge component, no inbound connections are required.

Before you start​

  • Ubuntu Server 24.04, with root or sudo access.
  • Outbound HTTPS to your platform's API hostname.
  • Network access from this host to whatever internal service it will integrate with.
  • Your organization ID from the platform.

Install​

Add the repository. The rm -f first keeps the step re-runnable - gpg --dearmor prompts before overwriting an existing keyring, and on a re-run nothing is attached to answer that prompt:

sudo rm -f /usr/share/keyrings/purpleteamsoftware-archive-keyring.gpg
wget -O - https://apt.fury.io/purpleteamsoftware/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/purpleteamsoftware-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/purpleteamsoftware-archive-keyring.gpg] https://apt.purpleteamsoftware.com/ /" | sudo tee /etc/apt/sources.list.d/purpleteamsoftware.list
sudo apt update && sudo apt install cyberoptix.integrator -y

Disable swap, and stop the host resolving its own hostname to loopback:

sudo sed -i '/swap/ s/^/#/' /etc/fstab && sudo sed -i '/127\.0\.1\.1/ s/^/#/' /etc/hosts
sudo integrator-link -url https://<your-api-hostname>/ -org_id <your-organization-id>

Your API hostname is specific to your deployment - take it from the platform rather than assuming a pattern, because it differs between brands.

Start the services​

sudo systemctl enable --now \
integrator.service \
integrator-task-manager.service \
integrator-new-tasks.service \
integrator-completed-tasks.service

The four mirror the scanner's shape: one fetches work, one routes it, one does it, one reports results back.

ServiceRole
integrator-new-tasksRetrieves integration tasks from the platform
integrator-task-managerRoutes each task to the right handler
integratorPerforms the integration work
integrator-completed-tasksReports results back to the platform

Verify​

systemctl status --no-pager integrator integrator-task-manager integrator-new-tasks integrator-completed-tasks

All four should be active (running).

sudo journalctl -u integrator-new-tasks.service -f

Then confirm the integrator appears in the platform under Integrations.

Next​