Configuring the Platform UI

Administrative tasks in the Platform UI include configuring the custom resource and setting the token for session timeout.

For more information about everyday tasks in the Platform UI, see Using the Platform UI.

Configuring certificates and the hostname

Configuring certificates

There are two options for configuring certificates for the Platform UI:

  • Configure the Red Hat OpenShift ingress certificates, which the Platform UI selects and uses by default. To get the available methods for updating these certificates, see 3.1. Replacing the default ingress certificate in the OpenShift documentation.

  • Configure the Platform UI to use certificates that are specific to its host. To do this, follow the steps in this section.

  1. Create the secret in the namespace where the Platform UI is installed. The secret must contain the server certificate (tls.crt) and the server private key (tls.key). However, it does not need to contain the CA certificate (ca.crt).

  2. After the secret is created, add the following YAML to the PlatformNavigator custom resource. This can be done by using the Platform UI or by using the CLI. For secretName, enter the name of the secret. If you don't want to use the default keys from the previous step, create custom keys by specifying them here.

    spec:
      tls:
        secretName: ""
        serverCertificate: "" # optional - defaults to tls.crt
        key: "" # optional - defaults to tls.key
  3. Save the PlatformNavigator custom resource. When the Platform UI status changes to Ready, refresh the Platform UI home page and confirm that the certificates are updated.

Configuring the hostname

To use a custom hostname, add the following YAML to the PlatformNavigator custom resource. This can be done by using the Platform UI or the CLI. For uiHostname, enter a hostname.

spec:
  uiHostname: "example.app.acme.com"

After the spec.uiHostname value is applied, save the PlatformNavigator custom resource and wait until the Platform UI returns a status of Ready. You can now access the Platform UI on the new hostname.

Reverting custom certificates

  1. Set the environment variables for your Platform UI instance:

    export PLATFORM_UI_NAMESPACE=<namespace_where_platform_ui_instance_is_installed>
    export PLATFORM_UI_NAME=<name_of_platform_ui_instance>
  2. Delete spec.tls from the PlatformNavigator custom resource:

    oc patch platformnavigator ${PLATFORM_UI_NAME} -n ${PLATFORM_UI_NAMESPACE} --type='json' --patch '[{ "op": "remove", "path": "/spec/tls" }]'

    The Platform UI instance status changes to Pending.

When the status of the Platform UI instance changes to Ready, the OpenShift Container Platform ingress certificates are used again.

Reverting the custom hostname

  1. Set the environment variables for your Platform UI instance:

    export PLATFORM_UI_NAMESPACE=<namespace_where_platform_ui_instance_is_installed>
    export PLATFORM_UI_NAME=<name_of_platform_ui_instance>
  2. Delete spec.uiHostname from the PlatformNavigator custom resource.

    oc patch platformnavigator ${PLATFORM_UI_NAME} -n ${PLATFORM_UI_NAMESPACE} --type='json' --patch '[{ "op": "remove", "path": "/spec/uiHostname" }]'

    The Platform UI instance status changes to Pending.

When the status of the Platform UI instance changes to Ready, the previous URL (from before you configured a custom hostname) should be usable again.

Advanced configuration

Custom resource values

The following table describes the configurable parameters and default values for the custom resource.

Parameter Description Default
apiVersion The API version that identifies which schema is used for thisPlatform UI instance
kind Resource type PlatformNavigator
metadata.name Unique short name by which the Platform UI instance can be identified integration-quickstart
metadata.namespace Namespace (project) in which the Platform UI instance is deployed
spec.license.accept An indication of whether the license should be accepted. Valid values are true and false. To install, this value must be set to true. false
spec.replicas Number of replica pods to run for each deployment 1
spec.version The Platform UI version. Specify with a channel or a fully qualified version. The latest channel
spec.tls Configures the Platform UI instance to use certificates that are specific to its host. For more information, see Configuring hostnames and certificates.
spec.uiHostname Configures the hostname for the Platform UI instance. For more information, see Configuring hostnames and certificates.
spec.nodeSelector Configures the nodes that the pods run on. Specify each nodeSelector as a key/value pair in the format nodeSelectorKey: nodeSelectorValue.
spec.labels Specifies one or more custom labels (as classification metadata) to apply to each pod that is created during deployment. Specify each label as a key/value pair in the format labelKey: labelValue. The custom labels that you specify are merged with the default (generated) labels. If duplicate label keys are detected, the custom value overwrites the default value.
spec.annotations Specifies one or more custom annotations (as arbitrary metadata) to apply to each pod that is created during deployment. Specify each annotation as a key/value pair in the format annotationKey: annotationValue. The custom annotations that you specify are merged with the default (generated) annotations. If duplicate annotation keys are detected, the custom value overwrites the default value.
spec.resources Defines the minimum and upper limits of resources allocated for running the container. For CPU values, specify integer, fractional (for example, 0.5), or millicore values (for example, 100m, equivalent to 0.1 core). For memory values, specify integers with one of these suffixes: E, P, T, G, M, K, or specify on eof these power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki.
spec.template Customizes the Kubernetes resources deployed by the IBM Cloud Pak® for Integration operator. The configuration found within this block is superimposed on the reconciled K8S resource that the operator would have generated had the template block not existed, following the logic defined for a strategic merge patch in the Kubernetes documentation.
spec.loggingUrl Enter the URL for a custom logging stack to enable usage of that logging stack. Must be a fully-qualified URL. For example usage, see "spec.loggingUrl:" in Examples. For more information about logging in Cloud Pak for Integration, see Enabling and using logging.
spec.observability Enables Instana monitoring links in the Platform UI instance. For more information, see Enabling IBM Instana monitoring.
spec.integrationAssistant Configures the conversational interfaces of the integration assistant in the Platform UI instance. For more information, see Using the integration assistant (Preview Cloud Service).
status.conditions Returns information on the current condition of the Platform UI instance
status.customImages Confirms whether the Platform UI instance is using a non-standard image for its front end or back end
status.endpoints Returns the endpoints that are exposed by the Platform UI instance
status.metadata Returns metadata for the Platform UI instance
status.versions Returns the current version of the Platform UI instance, as well as the versions that are available for upgrade

Examples

spec.nodeSelector

Configures the nodeSelector section in the Platform UI spec to configure the nodes where the deployment will run:

spec:
  nodeSelector:
    key1: value1
    key2: value2
spec.labels

Configures the labels section in the Platform UI spec to apply labels to the deployment:

spec:
  labels:
    key1: value1
    key2: value2
spec.annotations

Configures the annotations section in the Platform UI spec to apply annotations to the deployment:

spec:
  annotations:
    key1: value1
    key2: value2
spec.resources

Configures the resources section in the Platform UI spec to allocate resource requests and limits:

spec:
  resources:
    navigator:
      imits:
        cpu: '1'
        memory: 512Mi
      requests:
        cpu: '0.25'
        memory: 256Mi
    services:
      limits:
        cpu: '1'
        memory: 512Mi
      requests:
        cpu: '0.25'
        memory: 256Mi
spec.template

Configures the template section in the Platform UI spec to customize the containers:

spec:
  template:
    pod:
      containers:
        - image: placeholder
          imagePullPolicy: IfNotPresent
          name: ibm-cp4i-prod-navigator
        - image: placeholder
          imagePullPolicy: IfNotPresent
          name: ibm-cp4i-prod-services
      imagePullSecrets:
        - ibm-entitlement-key
        - other-key
spec.loggingUrl

Configures the loggingUrl in the Platform UI spec section to enable usage of a custom logging stack:

spec:
  loggingUrl: "https://host.apps.cluster.domain.com/kibana"

Setting the token for session timeout

You can set the length of the Platform UI session before it times out. For more information, see Keycloak configuration.