Custom Desired State Management Solution
This example provides desired state management to the Mulesoft AnyPoint Cloudhub 2 platform. As at time of writing, a Terraform provider existed, but was incomplete, having no mechanism to deploy the runtime.
The application stack is made up of individual API definitions, each paired with a runtime component.
graph TD
subgraph dc["Mulesoft Anypoint Plaform"]
subgraph vm1["Test"]
vm1-in-a["API Managment"]
vm1-con-a["Application Runtime"]
vm1-in-b["API Managment"]
vm1-con-b["Application Runtime"]
end
subgraph vm2["Production"]
vm2-in-a["API Managment"]
vm2-con-a["Application Runtime"]
vm2-in-b["API Managment"]
vm2-con-b["Application Runtime"]
end
end
client -->
vm1-in-a --> vm1-con-a
client -->
vm1-in-b --> vm1-con-b
client -->
vm2-in-a --> vm2-con-a
client -->
vm2-in-b --> vm2-con-b
classDef external fill:lightblue
class client external
classDef dashed stroke-dasharray: 5, 5
class vm1,vm2,cf1,cf2 dashed
Declare Anypoint Components as Package
Custom State Release Package
Building Desired State from Properties
Determining Change