Amplify MuleSoft AnyPoint Agents
Overview
This repository contains the Axway Amplify dataplane agents for the MuleSoft AnyPoint platform. These agents connect your MuleSoft Anypoint dataplane to the Amplify Central management plane.
Prerequisites
- You need an Axway Platform user account that is assigned the AMPLIFY Central admin role
- Your MuleSoft AnyPoint deployment should be up and running and have APIs to be discovered and exposed in AMPLIFY Central
Let’s get started!
Prepare AMPLIFY Central Environments
In this section we'll:
Create an environment in Central
Create a service account
- Create a public and private key pair locally using the openssl command
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits: 2048
openssl rsa -in private_key.pem -pubout -out public_key.pem
- Log into the Amplify Platform
- Navigate to "Organization" then "Service Accounts"
- Click "+ Service Account"
- Select a name
- Optionally add a description
- Select "Client Certificate"
- Select "Provide public key"
- Select or paste the contents of the public_key.pem file
- Select "Central admin"
- Click "Save"
- Note the Client ID value, this and the key files will be needed for the agents
Prepare MuleSoft
- Gather the following information
- MuleSoft AnyPoint Exchange URL
- MuleSoft Environment name to discover and track transactions from (e.g. Sandbox)
- MuleSoft AnyPoint Business Unit the agent connects to
- MuleSoft Username and Password or Client ID and Secret.
- If using a Client ID and Secret then a MuleSoft App Integration will need to be created
Setup agent Environment Variables
The following environment variables file should be created for executing both of the agents
CENTRAL_ORGANIZATIONID=<Amplify Central Organization ID>
CENTRAL_TEAM=<Amplify Central Team Name>
CENTRAL_ENVIRONMENT=<Amplify Central Environment Name> # created in Prepare AMPLIFY Central Environments step
CENTRAL_AUTH_CLIENTID=<Amplify Central Service Account> # created in Prepare AMPLIFY Central Environments step
CENTRAL_AUTH_PRIVATEKEY=/keys/private_key.pem # path to the key file created with openssl
CENTRAL_AUTH_PUBLICKEY=/keys/public_key.pem # path to the key file created with openssl
MULESOFT_ANYPOINTEXCHANGEURL=https://mulesoftexhange.com # gathered in Prepare MuleSoft step
MULESOFT_AUTH_USERNAME=username # gathered in Prepare MuleSoft step
MULESOFT_AUTH_PASSWORD=password # gathered in Prepare MuleSoft step
MULESOFT_ENVIRONMENT=Sandbox # gathered in Prepare MuleSoft step
MULESOFT_ORGNAME=Unit # gathered in Prepare MuleSoft step
LOG_LEVEL=info
LOG_OUTPUT=stdout
Discovery Agent
Reference: Discovery Agent
Traceability Agent
Reference: Traceability Agent
Development and Compiling
The MuleSoft AnyPoint agent repository delivers only Docker containers, if it is desired to run an agent outside of a Docker container the agents may be compiled for a specific OS (GOOS
) and architecture (GOARCH
).
Agents running outside of the delivered docker containers are considered to be in a development state and do not receive the same level of support as the delivered Docker containers.
Building
- Install golang, a version the same or newer of that defined in the
go.mod
file
- Fork/Clone this git repository locally
git clone git@github.com:Axway/agents-mulesoft.git
- Run the following commands changing the OS and Architecture as necessary
Discovery
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 make build-discovery
Traceability
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 make build-traceability
The golang website may be referenced for supported values in those variables Go Docs.