Deploy
There's no publish step for a custom connector — the fat JAR is the deployable artifact. Deploying to a real environment is exactly the drop you used to test it, just done against that environment's agent instead of your dev one.
What "deploy" means here
Zetect's own officially-maintained connectors ship as container images published to a registry, wired into docker-compose-prod.yml. That path doesn't apply to a connector you've built yourself — you have no registry to publish to, and don't need one. cyiam-agent loads any JAR it finds in its connectors directory at startup, regardless of where that JAR came from.
Locate the target agent's connectors directory
| Agent runs as | Where to put the JAR |
|---|---|
| Docker container | /opt/cyiam-agent/connectors inside the container. Either bind-mount a host directory there so you can copy files in directly, or use docker cp to place the JAR without a mount. |
| Bare JVM / systemd | Whatever CYIAM_CONNECTORS_DIR is set to (defaults to ./connectors, relative to the working directory the agent was started from). |
Copy the JAR across
6
If you're replacing an older version of the same connector, delete the old JAR first — the connectors directory is never cleared automatically, and PluginLoader just registers whichever JAR for a given connectorName happens to load last (see the stale-JAR note on connector-test).
Restart & verify
- Restart the agent process or container so
PluginLoaderrescans the directory. - Check the agent's log for
Registered connector '<Name>' from cyiam-connector-<name>-<version>.jar— confirm the exact filename and version you expect, not a stale one.