Integrate with Amplify Central Marketplace
3 minute read
Follow this section to integrate Streams with Amplify Central by enabling a discovery agent to expose topics and subscriptions on Amplify Central and a traceability agent to track subscriptions usage.
Prerequisites
- You must know your Amplify Central organization ID.
- You must have an environment in which you wish to publish the Streams assets. For more information on how to create a new environment, see Connect and manage your environment.
- You must have a service account in Amplify Central with the following configuration:
- Org Roles: Central Admin
- Authentication method: Client Certificate
- You must be authenticated with Axway-cli.
- You must know your API Gateway base URL.
- You must know your API Manager host (port).
- You must know the public base URL of the Streams SSE subscriber.
Create your Kubernetes secret
Streams requires the certificates associated with your service account to authenticate to Amplify Central. The following is an example of how to create a secret containing those certificates:
export NAMESPACE="my-namespace"
export PRIVATE_KEY_PATH=""
export PUBLIC_KEY_PATH=""
kubectl -n "${NAMESPACE}" create secret generic central-auth-credentials \
--from-file=private_key.pem="${PRIVATE_KEY_PATH}" \
--from-file=public_key.pem="${PUBLIC_KEY_PATH}"
Create your Axway Central secret
You must include your API Manager credentials into a secret resource in Amplify Central.
Create and customize the following YAML file (streams-apimanager-secret.yaml
) with your own values:
group: "management"
apiVersion: "v1alpha1"
kind: "Secret"
name: "streams-apimanager-secret"
title: "APIManager credentials secret for Streams"
metadata:
scope:
kind: "Environment"
name: "<CHANGE_WITH_YOUR_ENVIRONMENT_NAME>"
spec:
data:
authUsername : "<CHANGE_WITH_YOUR_USERNAME>"
authPassword: "<CHANGE_WITH_YOUR_PASSWORD>"
Provide Amplify Central with this Secret resource:
axway central create -f ./streams-apimanager-secret.yaml
Update your custom Helm values
Add the following values to your custom Helm values for the installation.
- Your organization ID
- Your environment name
- The clientID associated to your service account
- The API Gateway URL
- The API Manager port
- The public Streams SSE subscriber URL
For example:
traceabilityAgent:
enabled: true
discoveryAgent:
enabled: true
apigateway:
baseURL: ""
apimanager:
host: ""
port: 8075
subscriberSSE:
publicBaseURL: ""
central:
organizationID: ""
environment: ""
auth:
clientID: ""
You Streams installation is now connected to Amplify Central.
You can proceed with your Streams installation, or if you have already installed Streams without enabling this integration, you can perform a Helm upgrade instead. If upgrading the Helm chart, ensure to provide the same custom values you used for your original installation and that your Streams Helm chart contains the discoveryAgent
section in its values.yaml
file.
Network considerations
In addition to the URL of the API Gateway and API Manager you have provided, Streams is configured to connect to Amplify endpoints, some of them with non-standard ports, for example, ingestion.datasearch.axway.com:5044
. You must ensure that your infrastructure and firewalls allow those outbound connections.
For more information on how to configure Amplify endpoints, see central
and traceabilityAgent
values in the Helm parameters section.