Pre-deployment Requirements

High-Level Architecture

PSA Integration is a microservice that is deployed as a Helm release in a Kubernetes cluster with its own release cycle. It is not included in the CloudBlue Commerce distribution package by default and must be installed to the platform separately. One PSA integration instance serves all resellers on a CloudBlue Commerce instance.

The PSA Integration service consists of these three components:

  • The PSA Integration frontend that serves static content (scripts, images, and so on) and is hosted in a separate container on the service node with installed Kubernetes.
  • The PSA Integration backend that processes business logic requests from the frontend and is hosted in a separate container on the service node with installed Kubernetes.
  • The PSA Integration database that is hosted on any DB node and provided as a service.

Installation Prerequisites

Before installing the PSA Integration component, ensure that:

Network Requirements

The following ports must be open:

From To Protocol Port Purpose
Browser CloudBlue Commerce brand HTTPS 443 To display content in a user browser.
CloudBlue Commerce brand Service of PSA Integration frontend HTTP 80

To transfer static content (front-end scripts, images, and so on) to a user's browser.

CloudBlue Commerce brand Service of PSA Integration backend HTTP 8080 Transferring JSON data generated by business logic.
Service of PSA Integration backend PSA Integration back-end pod HTTP 8080 To pass internal K8s communication connections from the CloudBlue Commerce brand to the pod.
Service of PSA Integration frontend PSA Integration front-end pod HTTP 80 To pass internal K8s communication connections from the CloudBlue Commerce brand to the pod.
PSA Integration back-end pod ConnectWise Management API HTTPS 443 To transfer required ConnectWise data: product and customer identifiers, and so on.
PSA Integration back-end pod PostgreSQL server HTTPS 443 To store tasks, mappings and other PSA Integration-related entities.
PSA Integration back-end pod CloudBlue Commerce brand HTTPS 443 To transfer CloudBlue Commerce data related to orders and subscriptions.

 

Resource Requirements

PSA Integration consists of a back-end pod and a front-end pod. The minimum Kubernetes resources required for the microservice deployment, including on-premise Kubernetes cluster deployment, are as follows:

  • Back-end pod

    requests:
      cpu: 1000m
      memory: 768Mi
    limits:
      cpu: 4000m
      memory: {{ .Values.resources.limits.memory }}

    Note: The memory limit is configurable. The default value is 1280Mi.

  • Front-end pod

    requests:
      cpu: 100m
      memory: 512Mi
    limits:
      cpu: 250m
      memory: 768M

Identity Service Requirements

PSA authenticates through Identity Service. Identity Service is required for each brand through which resellers access PSA. For information on how to create a Keycloak client for PSA, refer to Identity Service Management.

CloudBlue Commerce Brand Requirements

Resellers use their CloudBlue Commerce brands to access PSA. The PSA URL has the following format: https://${brand-domain}/${psa-url-suffix} (for example, https://cp.us.na.cloud.im/us-psa).

For each brand through which resellers access PSA, you must create rewrite rules:

  1. Download the psa-brand-rules-ctl.py script to the management node.
  2. Add rewrite rules to the selected brand:

    # python psa-brand-rules-ctl.py add ${brand-id} [--psa_url_suffix ${psa-url-suffix}]

    where:

    • ${brand-id}: the internal ID of the brand through which resellers access to PSA.
    • ${psa-url-suffix}: (optional) the PSA URL suffix. If you set this parameter, PSA will be available at the following address https://${brand-domain}/${psa-url-suffix} instead of https://${brand-domain}/psa. Refer to Log-in URLs.

APS API Access Requirements

A precreated L0 staff member with OAuth credentials must exist in the system. This staff member must have the following GET permissions for APS types:

  • http://www.odin.com/billing/order-management
  • http://www.odin.com/billing/Subscription
  • "http://www.parallels.com/products/automation/billing"

This staff member must have this POST permission for an APS type:

  • "http://www.parallels.com/pa/pa-core-services"

These permissions are configured in the System > Users > staff_member > APS Bus Access tab.