applications-live repository. ArgoCD applies the changes. There’s no manual publishing: every API, unified or custom, is published through applications-live.
The following diagram shows how a release becomes a running connector and a published API:
Prerequisites
Before you begin, make sure you have:- A released connector repository. For more information, see Overview.
- A released API repository, if you use a custom API. For more information, see Create a custom API.
- Write access to
gc-devhub-{installation}-applications-livethrough theapplications-liveGitHub team. - The
{env}-apim-rwand{env}-apim-subs-roroles for your runtime inself-service.tfvars.
Plan your resource names
All workloads, both Backbase-managed and yours, share the same cluster and Azure installation. Prefix the name of everything you create so that each name is unique and identifiable. Release names must be unique for each deployed version and follow the pattern{name}-v{major}. Avoid tokens such as temp, poc, or environment names in release names.
The following table lists the resources you create and an example name:
Deploy the connector
When you release a connector repository, the build creates a container image and a Helm chart, and pushes both to your installation’s container registry. Snapshot charts use the version{version}-{sha8}. applications-live references the chart version.
To deploy the connector, open a pull request that:
- Adds your connector release to
runtimes/{runtime}/apps/as an ArgoCDApplication, with one source for each release and the chart taken from your registry. - Adds your values under
runtimes/{runtime}/values/.
devhub-grandcentral. For a dedicated namespace, use devh-gc-<domain>. You use this namespace in the connector URL. For more information, see Deployment namespace.
The URL of the deployed connector follows this pattern, and you use it as the backend URL in the next section: https://{releaseName}-{namespace}.{runtime}.{installation}.gcservices.io.
Publish the API
You configure the API inruntimes/{runtime}/apim/ of your applications-live repository. Replace YOUR_API with the artifact ID of your API repository. For a description of each field, see Azure API Management configuration.
To publish the API, follow these steps:
-
Register the API. Create the file
runtimes/{runtime}/apim/apis/YOUR_API.yaml. It’s an ArgoCDApplicationwith two sources: yourapplications-liverepository, and the API Helm chart from your container registry.SetCHART_VERSIONto the chart version from the build of your API repository. TheapimArmIdvalue comes fromcommon.apim.values.yaml, so you don’t set it for each API. CopyYOUR_ARGOCD_PROJECTfrom an existing API application in your installation.YOUR_NAMESPACEis commonlydevhub-grandcentral, ordevh-gc-<domain>for a dedicated namespace. For more information, see Deployment namespace. -
Add the version set. Add your API to
apiversionsets.values.yaml. Use the same name asmetadata.namein your API application. -
Add the backend. Add the connector backend to
backends.values.yaml. The URL is the connector URL from the previous section. -
Create the product. Add the product to
products.values.yaml. The API name isYOUR_API-1, which is{artifactId}-{major}. The policy routes calls for that API to your backend. -
Create the subscription. Add the subscription to
subscriptions.values.yaml. Azure API Management (APIM) generates the subscription key from it. -
Open the pull request. Commit the changes and open a pull request. By default, all members of the
applications-liveteam are reviewers. After review, merge the pull request. ArgoCD applies the changes.
policyfragments.values.yaml under policyFragments, with a name and a policyValue. Reference a fragment from a product policy with <include-fragment fragment-id="YOUR_FRAGMENT"/>.
Choose how callers authenticate
Each subscription is scoped to one product and gives callers one key. Choose the setup that fits your callers:- Separate key for your custom connector: Create your own product and subscription, as in the preceding steps.
- One key for Backbase-managed and custom connectors: Ask the Backbase implementation team. Managed products live in the Backbase-managed repository, which you can’t change.
To read subscription keys in the Azure portal, you need the
{env}-apim-subs-ro role.Understand what you can change
You control everything you create in DevHub:- Custom APIs and custom connectors.
- Products and subscriptions.
- Policies and policy fragments. Your policies can include fragments that are already defined.
repoURL of an API application. Only premium customers can use custom registries to publish and deploy their own integrations.
For more information, see GitHub organization and repository structure.
Verify the deployment
After ArgoCD syncs, call your API through the gateway with your subscription key in theapi-key header: