The Morpheus BlueCat Plugin integrates Morpheus with BlueCat Address Manager (BAM) to provide IP address management (IPAM) and DNS record automation. The plugin communicates with the BlueCat REST API to allocate IP addresses, register DNS records, and synchronise network pools.
- Features
- Requirements
- Repository structure
- Building the plugin
- License
- Installing
- Detailed Usage Steps
- API Endpoints
Allocate and release IP addresses from BlueCat Address Manager network pools within Morpheus. Supports automatic next-available IP selection, manual IP entry, and existing inventory import.
Create and delete A, AAAA, CNAME, TXT, and MX DNS records in BlueCat zones when instances are provisioned or decommissioned. Supports optional Quick Deploy to push changes immediately to DNS servers.
Morpheus synchronises the following BlueCat resources for inventory:
- Network pools (subnets managed in BAM)
- DNS zones and records
| Requirement | Version |
|---|---|
| Morpheus | 9.0.0 or later |
| Java | 25 or later |
| Gradle | Use the included Gradle wrapper (./gradlew) |
Additional prerequisites:
- A running BlueCat Address Manager instance accessible over HTTP or HTTPS
- A BlueCat user account with API access and sufficient permissions to read/write networks and DNS records
- Network access from the Morpheus appliance to the BAM API host over the configured port
- HTTPS recommended; HTTP is supported but not recommended (configure per-integration)
src/main/groovy/com/bluecatnetworks/bluecat/
├── BluecatPlugin.groovy - Plugin entry point; registers BluecatProvider
└── BluecatProvider.groovy - IPAMProvider implementation; IPAM and DNS operations, sync, OptionTypes
build.gradle, gradle.properties - Build configuration and plugin metadata
Run the following command to compile and package the plugin jar:
./gradlew clean buildThe packaged jar will be written to build/libs/.
To execute tests, use the following command:
./gradlew testThis project is licensed under the Apache License 2.0.
See the LICENSE file for details.
- Build the plugin (see Building the plugin) or download a released jar.
- In Morpheus, navigate to Administration > Integrations > Plugins.
- Click Add and upload the
morpheus-bluecat-plugin-<version>.jarfrombuild/libs/. - Navigate to Infrastructure > Networks > IP Pools > Add and select BlueCat to configure the integration.
- Go to Infrastructure > Networks > IP Pools > Add.
- Select BlueCat as the pool server type.
- Enter the API Url (e.g.
https://bam.example.com), Username, and Password (or select a stored credential). - Optionally configure Throttle Rate, Disable SSL SNI Verification, Inventory Existing, Run Quick Deploy, Network Filter, and Extra Properties.
- Save. Morpheus connects to BAM and syncs available network pools.
When provisioning an instance on a network backed by a BlueCat pool, Morpheus automatically calls BAM to reserve the next available IP. The reserved IP is assigned to the instance and a DNS record is created if DNS is configured on the network.
When an instance is decommissioned, Morpheus calls BAM to release the IP and delete the associated DNS records.
This plugin communicates with the BlueCat Address Manager REST API at the configured service URL. Authentication uses a session token obtained at login. All calls use HTTP or HTTPS as configured.
| Endpoint | Method | Purpose |
|---|---|---|
<serviceUrl>/Services/REST/v1/login |
GET | Obtain BAM session token |
<serviceUrl>/Services/REST/v1/addAliasRecord |
POST | Create CNAME record |
<serviceUrl>/Services/REST/v1/addGenericRecord |
POST | Create A/AAAA/TXT/MX record |
<serviceUrl>/Services/REST/v1/delete |
DELETE | Delete a DNS record |
<serviceUrl>/Services/REST/v1/getNextAvailableIP4Address |
GET | Allocate next available IPv4 address |
<serviceUrl>/Services/REST/v1/assignIP4Address |
POST | Register an allocated IP |
<serviceUrl>/Services/REST/v1/unassignIP4Address |
DELETE | Release an IP address |
<serviceUrl>/Services/REST/v1/getEntitiesByType |
GET | List networks and pools |