7 Configuring BRM Server and PDC Services
Learn how to configure the Oracle Communications Billing and Revenue Management (BRM) server and Pricing Design Center (PDC) in your cloud native environment.
Topics in this document:
About Configuring BRM Cloud Native Services
You configure and deploy BRM cloud native services, such as BRM, PDC, and PCC, by using the BRM Helm chart (oc-cn-helm-chart). YAML descriptors in the oc-cn-helm-chart/templates directory use the oc-cn-helm-chart/values.yaml file for most of the values. The values.yaml file itself includes comments that describe each key. You can override the values by creating an override-values.yaml file.
Oracle recommends that you read the values.yaml file at least once to become familiar with all of the options available.
Creating Secrets for Docker Registry Authorization
You can automatically pull images from your private container registry by creating an ImagePullSecrets, which contains a list of authorization tokens (or Secrets) for accessing a private container registry. You then add references to the ImagePullSecrets in your BRM Helm chart's override-values.yaml file. This allows pods to submit the Secret to the private container registry whenever they want to pull images.
Automatically pulling images from a private container registry involves these high-level steps:
-
Create a Secret outside of the Helm chart by entering this command:
kubectl create secret docker-registry SecretName --docker-server=RegistryServer --docker-username=UserName --docker-password=Password --namespace NameSpace
where:
-
SecretName is the name of your Kubernetes Secret
-
RegistryServer is your private container registry's FQDN (repoHost:repoPort)
-
UserName and Password are your private container registry's user name and password
-
NameSpace is the namespace you will use for installing BRM Helm charts
For example:
kubectl create secret docker-registry cgbu-docker-registry --docker-server=mydockerimages.com:2660/ --docker-username=xyz --docker-password=password --namespace oms -
-
Add the imagePullSecrets key to your override-values.yaml file for oc-cn-helm-chart:
imagePullSecrets: -name "SecretName1" -name "SecretName2"
-
Add the imageRepository key to your override-values.yaml file:
imageRepository: "RegistryServer"
-
Deploy oc-cn-helm-chart.
Managing Wallet and KeyStore Certificates
BRM cloud native does not include populated TLS wallets, private keys, or sample certificate authority (CA) certificates in its container images. When you enable TLS, you must provide certificates and trust material approved by your organization and manage them throughout their lifecycle, including renewal and rotation.
BRM cloud native uses separate wallets for configuration data, TLS trust, and TLS identity, as shown in Table 7-1.
Table 7-1 BRM Cloud Native Wallets
| Wallet | Location | Description |
|---|---|---|
|
Configuration wallet |
/oms/wallet/config |
Stores BRM keys, database credentials, Infranet connection strings, and related configuration. The BRM entrypoint script creates this wallet at runtime. |
|
Client wallet |
/oms/wallet/client |
Stores trusted certificates that BRM components use to validate certificates presented by remote TLS endpoints. |
|
Server wallet |
/oms/wallet/server |
Stores the certificate and private key that a BRM component uses to establish its TLS identity. |
You can provision TLS wallets and keystores in either of the following ways:
-
Pre-create the required wallets and keystores as Kubernetes secrets before you deploy BRM cloud native. Configure the appropriate external secret keys in your override-values.yaml file. See "Using External Kubernetes Secrets for Certificates and Wallets" in BRM Cloud Native System Administrator's Guide for more information.
-
Provide the required wallet and keystore files in the appropriate locations in the BRM cloud native Helm charts. During installation, the Helm charts create Kubernetes secrets from the files that you provide.
Selecting the TLS Wallet Source
When you enable TLS, BRM selects the TLS wallet for each component from the following sources, in order of precedence:
-
Component-specific wallet secret: BRM first uses the Kubernetes secret specified by ocbrm.component.extUserSSLWalletSecret, where component identifies the BRM component. For example, set ocbrm.dm_oracle.extUserSSLWalletSecret to specify a TLS wallet for the Oracle DM.
-
Shared external wallet secret: If you do not configure a component-specific wallet secret, BRM uses the Kubernetes secret specified by ocbrm.extCustomSSLWalletSecret.
-
Chart-created wallet secret: If you do not configure either external secret, the Helm chart creates the custom-ssl-wallet Kubernetes secret from the brm_custom_wallet/cwallet.sso file and BRM uses that secret.
A component-specific wallet secret takes precedence over the shared wallet sources. You can therefore configure a separate TLS wallet for an individual BRM component while allowing other components to use a shared wallet.
If you enable TLS but do not provide any of these wallet sources, the Helm chart installation fails.
Configuring BRM Client Applications for Two-Way TLS
When you configure BRM to use two-way TLS, BRM client applications that connect to the CM over PCP must present their own certificate to CM for authentication.
To configure a BRM client application for two-way TLS:
-
Provide a TLS client wallet that contains:
-
The trusted certificate authority (CA) certificates required to validate the CM certificate.
-
A user certificate and corresponding private key that CM can use to authenticate the client application.
-
-
Enable client authentication in the application's Infranet.properties configuration by setting:
infranet.pcp.ssl.client_auth=trueIn the application's override-values.yaml file, add infranet.pcp.ssl.client_auth=true to the infranet.addOnProperties setting. This setting adds the property to the application's Infranet.properties configuration.
For one-way TLS, CM presents its certificate to the BRM client application, and the client validates the certificate using the trusted CA certificates in its wallet. The client does not present a certificate to CM. Therefore, do not add infranet.pcp.ssl.client_auth=true, and a client certificate and private key are not required in the client wallet.
Configuring Global Values
Table 7-2 lists the keys that apply to all BRM components. To set or change the values, add them to your override-values.yaml file for oc-cn-helm-chart.
Table 7-2 Global Keys in Values.yaml File
| Key | Description |
|---|---|
|
imageRepository |
The registry server where you have pushed images. Typically, in the format “RepoHost:RepoPort/”. The value is added as a prefix to all image names when you install or upgrade Helm charts. This key is empty by default. |
|
imagePullSecrets |
The name of the Secret that contains credentials for accessing images from your private image server. This is added to each pod to give it permission to pull the image from your private registry server. See "Creating Secrets for Docker Registry Authorization" for more information. This key is empty by default. |
|
uniPass |
Use this key to apply a uniform password to all BRM cloud native services, including:
To override this password for a specific service, specify a different password in the service's key. Note: Use this key for test or demonstration systems only. |
|
db.* |
The details for connecting to a shared database. The keys in this section take precedence over other database connection keys. Add these keys only if your system uses a shared database:
|
|
security.* |
The details for setting security in BRM cloud native:
|
|
monitoring.prometheus.jmx_exporter.enable |
Whether to enable the JMX exporter for Prometheus (true) or not (false). The default is false. See "Monitoring BRM Cloud Native Services" in BRM Cloud Native System Administrator's Guide for more information. |
|
monitoring.prometheus.operator.* |
The details for monitoring BRM cloud native services using Prometheus:
See "Monitoring BRM Cloud Native Services" in BRM Cloud Native System Administrator's Guide for more information. |
Specifying the BRM Services to Deploy
Some BRM cloud native services are enabled by default, while others are disabled. Ensure that your override-values.yaml file is set up to deploy the services that you want to include in your BRM cloud native environment.
BRM Cloud Native Services Enabled by Default
Table 7-3 lists the BRM cloud native services that are deployed by default. To exclude them from your deployment, set the keys to false in your override-values.yaml file for oc-cn-helm-chart.
Table 7-3 BRM Services Enabled By Default
| BRM Service | override-values.yaml Key |
|---|---|
|
Batch Pipeline |
ocbrm.batchpipe.isEnabled |
|
Billing Care |
ocbc.bc.isEnabled |
|
Billing Care REST API |
ocbc.bcws.isEnabled |
|
Business Operations Center |
ocboc.boc.isEnabled |
|
BRM REST Services Manager |
ocrsm.rsm.isEnabled |
|
Collections Configuration Center |
occcc.ccc.isEnabled |
|
Connection Manager |
ocbrm.cm.isEnabled |
|
Oracle Data Manager |
ocbrm.dm_oracle.isEnabled |
|
Pipeline Configuration Center |
ocpcc.pcc.isEnabled |
|
Pricing Design Center |
ocpdc.isEnabled |
|
Rated Event (RE) Loader Daemon |
ocbrm.rel_daemon.isEnabled |
|
Realtime Pipeline |
ocbrm.realtimepipe.isEnabled |
BRM Cloud Native Services Disabled By Default
Table 7-4 lists the BRM cloud native services that are not deployed by default. To include them in your BRM cloud native deployment, set the keys to true in your override-values.yaml file for oc-cn-helm-chart.
Table 7-4 BRM Services Disabled By Default
| BRM Service | override-values.yaml Key |
|---|---|
|
Batch Controller |
ocbrm.batch_controller.isEnabled |
|
Billing Care REST API SDK |
ocbc.bcws.sdk.isEnabled |
|
Billing Care SDK |
ocbc.bc.sdk.isEnabled |
| BRM Apps Jobs |
ocbrm.brm_apps.job.isEnabled |
|
BRM SDK |
ocbrm.brm_sdk.isEnabled |
|
Email Data Manager |
ocbrm.dm_email.isEnabled |
|
Enterprise Application Integration (EAI) Data Manager |
ocbrm.dm_eai.isEnabled |
|
Event Stream Processor |
ocbrm.event_stream_processor.isEnabled |
|
Invoicing Formatter |
ocbrm.formatter.isEnabled |
|
Invoicing Data Manager |
ocbrm.dm_invoice.isEnabled |
|
Kafka Data Manager |
ocbrm.dm_kafka.isEnabled |
|
LDAP Data Manager |
ocbrm.dm_ldap.isEnabled |
|
Paymentech Data Manager |
ocbrm.dm_fusa.isEnabled |
|
PDC REST Services Manager |
ocpdcrsm.isEnabled |
|
Provisioning Data Manager |
ocbrm.dm_prov_telco.isEnabled |
| RE Loader Daemon Job |
ocbrm.rel_daemon.job.isEnabled |
|
RE Loader Manager Job |
ocbrm.rel_manager.job.isEnabled |
|
Rated Event Manager |
ocbrm.rem.isEnabled |
|
Roaming Pipeline |
ocbrm.roampipe.isEnabled |
|
Taxation Gateway |
ocbrm.taxation_gateway.isEnabled |
|
Vertex Data Manager |
ocbrm.dm_vertex.isEnabled |
|
Webhook |
webhook.isEnabled |
| Web Services Manager |
ocbrm.wsm.soap.isEnabled |
Configuring the BRM Server
To configure the BRM server to run in your cloud native environment, you override the BRM server-specific keys in the values.yaml file for oc-cn-helm-chart. Table 7-5 lists the keys that directly impact BRM Server pods. Add these keys to your override-values.yaml file with the same path hierarchy.
Note:
You can optionally deploy a simple demonstration version of BRM cloud native by using the sample override_values.yaml file that is packaged with oc-cn-helm-chart. This sample override file contains the bare minimum keys that you need to update to create a simple BRM cloud native system with the following services enabled by default: Account Synchronization DM, Batch Pipeline, CM, Oracle DM, RE Loader, Realtime Pipeline, Billing Care, Billing Care REST API, Business Operations Center, and PDC.
Table 7-5 BRM Server Keys
| Key | Path in values.yaml File | Description |
|---|---|---|
|
imagePullPolicy |
ocbrm |
The image pull policy for BRM server images. The default is IfNotPresent. |
|
isAmt |
ocbrm |
Whether account migration is enabled in your BRM database (true) or not (false). The default is false. |
|
isIPV6Enabled |
ocbrm |
Whether IPV6 is enabled in your Kubernetes environment (true) or not (false). The default is false. |
|
ece_deployed |
ocbrm |
Whether ECE is going to be deployed in your BRM cloud native environment (true) or not (false). The default is true. |
|
pdc_deployed |
ocbrm |
Whether PDC is going to be deployed:
|
|
use_oracle_brm_images |
ocbrm |
Whether to use the default BRM images (true) or not (false). Set this to false if you are building custom images. The default is true. |
|
is_upgrade |
ocbrm |
Whether to upgrade the BRM database (true) or perform a fresh database initialization or rollback (false). The default is false. |
|
is_rollback |
ocbrm |
Whether to roll back the BRM database upgrade (true) or not (false). The default is false. |
|
virtual_time.* |
ocbrm |
The details for configuring the pin_virtual_time utility:
|
|
TZ |
ocbrm |
The time zone for BRM server pods. The default is UTC. |
|
LOG_LEVEL |
ocbrm |
The logging level for BRM server components. The default is 1. |
|
isSSLEnabled |
ocbrm |
Whether SSL is enabled for BRM (true) or disabled (false). Set this key to true when you use custom TLS certificates. The default is true. |
|
sslMode |
ocbrm |
The SSL mode for BRM connections: ONE_WAY or TWO_WAY. The default is ONE_WAY. |
|
cmSSLTermination |
ocbrm |
Whether to make the CM the SSL endpoint for the BRM cloud native deployment:
|
|
extCustomSSLWalletSecret |
ocbrm |
The name of the external Kubernetes Secret for the custom SSL wallet. See "Using External Kubernetes Secrets for Certificates and Wallets" in BRM Cloud Native System Administrator’s Guide. |
|
isHPAEnabled |
ocbrm |
Whether horizontal pod autoscaling is enabled. The default is false. |
|
refreshInterval |
ocbrm |
The interval for refreshing PCM contexts so they can accept requests on a new CM. |
|
terminationGracePeriodSeconds |
ocbrm |
The time, in seconds, that Kubernetes waits before terminating a pod. Increase this value for long-running transactions. |
|
pcpReconnectDelayOnSocketError |
ocbrm |
The delay before retrying a socket connection after a socket error. |
|
pcpConnectRetryDelayOnError |
ocbrm |
The delay before retrying a PCP connection after a connection failure. |
|
root_key_rotate |
ocbrm |
Whether to rotate the BRM root key (true) or not (false). The default is false. See "Rotating the BRM Root Key" in BRM Cloud Native System Administrator's Guide. |
|
brm_root_pass |
ocbrm |
The root password. See "Rotating the BRM Root Password" in BRM Cloud Native System Administrator's Guide. |
|
rotate_password |
ocbrm |
Whether to rotate the BRM root password:
See "Rotating the BRM Root Password" in BRM Cloud Native System Administrator's Guide. |
|
new_brm_root_password |
ocbrm |
The new BRM root password. Use this key only when ocbrm.rotate_password is set to true. See "Rotating the BRM Root Password" in BRM Cloud Native System Administrator's Guide. |
|
rotate_brm_role_passwords |
ocbrm |
Whether to rotate the BRM role passwords. The default is false.
See "Rotating BRM Role Passwords" in BRM Cloud Native System Administrator's Guide. |
|
brm_role_pass.* |
ocbrm |
The passwords for each BRM role. The roles grant users the permission to access different BRM components, such as Billing Care or Pipeline Configuration Center (PCC). Note: You must set all of these passwords when the unipass key is not set. You set passwords for the following roles:
The passwords in this key must match the passwords in oc-cn-init-db-helm-chart. See "Rotating BRM Role Passwords" in BRM Cloud Native System Administrator's Guide. |
|
extOmsSchemaPasswordSecret |
ocbrm.secret |
The name of the Kubernetes Secret containing the Secret for the BRM database schema. See "Using External Kubernetes Secrets for Certificates and Wallets" in BRM Cloud Native System Administrator’s Guide. |
|
wallet.config |
ocbrm |
The BRM configuration wallet used to securely store sensitive BRM configuration information, such as passwords, database credentials, and connection information. The wallet is created at runtime and is available at /oms/wallet/config. |
|
cm.* |
ocbrm |
The details for deploying the cm pod:
|
|
volume.storage |
ocbrm.custom_job_files |
The storage size of the volume. The default is 50Mi. |
|
eai_js |
ocbrm |
The details for deploying the EAI Java Server.
|
|
dm_oracle.* |
ocbrm |
The details for deploying the dm-oracle pod:
|
|
dm_kafka.* |
ocbrm |
The details for configuring the Kafka DM:
For more information about integrating BRM cloud native with a Kafka Server, see "Integrating with Kafka Servers" in BRM Cloud Native System Administrator's Guide. |
|
dm_email.* |
ocbrm |
The details for configuring the Email DM:
|
|
dm_invoice.* |
ocbrm |
The details for configuring the Invoice DM:
|
|
dm_ldap.* |
ocbrm |
The details for configuring LDAP DM:
|
|
dm_prov_telco.* |
ocbrm |
The details for configuring Provisioning DM:
|
|
storage_class.* |
ocbrm |
The details for the Kubernetes StorageClass used by BRM:
|
|
smtpServer |
ocbrm.dm_email.deployment |
The SMTP server name. The default is example.us.oracle.com. |
|
db.* |
ocbrm |
The details for connecting to the BRM database:
Ensure these values match the ocbrm.db.* keys from oc-cn-init-db-helm-chart. See Table 6-1 for more information. |
|
secondaryN.* |
ocbrm.db.multiSchemas |
The details for connecting to your secondary database schemas, where N is 1 for the first secondary schema, 2 for the next secondary schema, and so on. Add this block only if your BRM database contains multiple schemas. This section will be commented out by default: |
|
upgrade.* |
ocbrm |
The details for running the BRM database upgrade:
|
|
perflib.* |
ocbrm |
The details for configuring the performance library:
|
|
provisioner |
ocbrm.dynamic_provisioner |
The name of the external storage provisioner. The default is oracle.com/oci. |
|
dm_fusa.* |
ocbrm |
The details for configuring the Paymentech DM:
|
|
dm_vertex.* |
ocbrm |
The details for configuring the Vertex DM:
|
|
taxation_gateway.* |
ocbrm |
The details for configuring the taxation gateway.
|
|
rule_manager.* |
ocbrm |
The details for configuring Rule Manager:
|
|
realtimepipe.* |
ocbrm |
The details for configuring the Realtime Pipeline:
|
|
batch_controller.* |
ocbrm |
The details for configuring the Batch Controller:
|
|
dm_eai.* |
ocbrm |
The details for configuring EAI DM:
|
|
rel_daemon.* |
ocbrm |
The details for configuring the Rated Event (RE) Loader daemon:
|
|
rem.* |
ocbrm |
The details for configuring the rated-event-manager pod. Note: If ocbrm.db.sslMode is enabled (ONE_WAY or TWO_WAY), you must specify the server certificate's distinguished name (DN) in the oc-cn-helm-chart/templates/configmap_rem_properties.yaml file's rated_event_manager.jdbc_pool.sslServerCertDN key.
|
|
rel_manager.* |
ocbrm |
The details for configuring the RE Loader job.
|
|
event_stream_processor.* |
ocbrm |
The details for configuring the event stream processor, which is used to load prerated events into the BRM database. Note: If ocbrm.db.sslMode is enabled (ONE_WAY or TWO_WAY), you must specify the server certificate's distinguished name (DN) in the oc-cn-helm-chart/templates/configmap_esp_properties.yaml file's event_stream_processor.jdbc_pool.sslServerCertDN key.
|
|
batchpipe.* |
ocbrm |
The details for configuring the batch pipeline.
|
|
roampipe.* |
ocbrm |
The details for configuring the roaming pipeline: Note: The roampipe pod is a single-replica pod and must not be scaled to multiple replicas that share a file system. To provide high availability, deploy separate roampipe pods, each with its own file system. Route incoming CDR files so that each pod processes a distinct set of files. This configuration prevents multiple pods from processing the same file.
|
|
formatter.* |
ocbrm |
The details for configuring the Formatter:
|
|
cmt.* |
ocbrm |
The details for configuring and running pin_cmt.
|
|
config_jobs.* |
ocbrm |
The details for running a configurator job, which allows you to run BRM load utilities on demand without entering into a pod:
See "Running Load Utilities through Configurator Jobs" in BRM Cloud Native System Administrator's Guide. |
|
brm_apps.* |
ocbrm |
The details for running a brm-apps job, which allows you to run BRM applications and utilities on demand without entering into a pod:
See "Running Applications and Utilities through BRM-Apps Jobs" in BRM Cloud Native System Administrator's Guide. |
|
extUserSSLWalletSecret |
ocbrm.wsm |
The name of the Kubernetes Secret that contains the component-specific TLS wallet for Web Services Manager. |
|
wsm.soap.* |
ocbrm |
Details about the Web Services Manager service.
For more information about Web Services Manager, see "Using Web Services" in BRM Web Services Manager. |
|
brm_sdk.* |
ocbrm |
The details for the brm-sdk pod:
|
|
logging.* |
N/A |
The details for forwarding logs to a log management system:
|
|
webhook.* |
N/A |
The details for the webhook pod:
For more information, see "Configuring webhook to Enable Autoscaling" and "Configuring webhook to Enable Autoscaling (PCC)" in BRM Cloud Native System Administrator's Guide. |
Configuring BRM for a Multischema Database
Using a BRM multischema database lets you distribute customer accounts among several database schemas, providing increased storage capacity, higher performance, and easier maintenance. For more information, see "A BRM Multischema Production System" in BRM Installation Guide.
To configure your BRM cloud native environment to connect to a multischema database, do this:
-
Ensure that you deployed a multischema database in your BRM cloud native environment. See "Deploying BRM with a New Database Schema".
-
Using SQL*Plus, grant each database schema the privilege to insert and update tables on the other schemas:
-
Connect to the BRM database with SQL*Plus as sysdba:
sqlplus system@databaseAlias as sysdba Enter password: password
where:
-
databaseAlias is the Oracle system database alias.
-
password is the Oracle system database user password.
-
-
From the primary database schema, enter the following:
SQL> GRANT INSERT ANY TABLE TO SecondarySchema; SQL> GRANT UPDATE ANY TABLE TO SecondarySchema;where SecondarySchema is the name of the secondary schema.
-
From each secondary database schema, enter the following:
SQL> GRANT INSERT ANY TABLE TO PrimarySchema; SQL> GRANT UPDATE ANY TABLE TO PrimarySchema;where PrimarySchema is the name of the primary schema.
-
-
Connect the BRM server to each secondary schema:
-
Open your override-values.yaml file for oc-cn-helm-chart.
-
Enable account migration by setting the ocbrm.isAmt key to true.
-
Set the ocbrm.db.skipPrimary key to false.
-
For each secondary schema in your system, add a ocbrm.db.multiSchemas.secondaryN block, where N is 1 for the first secondary schema, 2 for the next secondary schema, and so on.
-
In each ocbrm.db.multiSchemas.secondaryN block, set the following keys:
-
deploy: Set this to true.
-
host: Set this to the hostname of the secondary schema. This key is optional.
-
port: Set this to the port number for the secondary schema. This key is optional.
-
service: Set this to the service name for the secondary schema. This key is optional.
-
schemauser: Set this to the schema user name.
-
schemapass: Set this to the schema password.
-
schematablespace: Set this to the name of the schema tablespace, such as pin01.
-
indextablespace: Set this to the name of the index tablespace, such as pinx01.
-
tnsAdmin.connectionDescriptor: Set this to a custom Oracle Net connection descriptor for the secondary schema. When you set this key, oc-cn-helm-chart instead of generating one from the host, port, and service keys. This key is optional.
-
-
Deploy oc-cn-helm-chart by running this command from the helmcharts directory:
helm install BrmReleaseName oc-cn-helm-chart --namespace BrmNameSpace --values OverrideValuesFile
where:
-
BrmReleaseName is the release name for oc-cn-helm-chart and is used to track this installation instance. It must be different from the one used for oc-cn-init-db-helm-chart.
-
BrmNameSpace is the namespace in which to create BRM Kubernetes objects for the BRM Helm chart.
-
OverrideValuesFile is the path to a YAML file that overrides the default configurations in the values.yaml file for oc-cn-helm-chart.
The BRM Helm chart deploys new dm-oracle, amt, and rel-daemon pods, Rated Event (RE) Loader PVCs, services, ConfigMaps, and secrets. It also updates their corresponding schema entries in the primary CM and Oracle DM and deploys multiple containers for the batch-wireless-pipe pod.
-
-
-
Set each database schema's status and priority. BRM cloud native assigns accounts to an open schema with the highest priority.
-
Open the configmap_pin_conf_testnap.yaml file.
-
Under the config_dist.conf section, add the following entries for each secondary schema in your database:
DB_NO = "schema_number" ; # database config. block PRIORITY = priority ; MAX_ACCOUNT_SIZE = 100000 ; STATUS = "status" ; SCHEMA_NAME = "schema_name" ;
-
Set the STATUS and PRIORITY entries for each primary and secondary schema:
DB_NO = "0.0.0.1" ; # Primary schema configuration block PRIORITY = priority; MAX_ACCOUNT_SIZE = 100000 ; STATUS = "status" ; SCHEMA_NAME = "schema_name" ; DB_NO = "0.0.0.2" ; # Secondary schema configuration block PRIORITY = priority; MAX_ACCOUNT_SIZE = 50000 ; STATUS = "status" ; SCHEMA_NAME = "schema_name" ;
where:
-
priority is a number representing the schema's priority, with the highest number having the most priority. For example, 5 indicates a greater priority than a value of 1. For more information, see "Modifying Database Schema Priorities" in BRM Cloud Native System Administrator's Guide.
-
status specifies whether the schema is open, closed, or unavailable. For more information, see "Modifying Database Schema Status" in BRM Cloud Native System Administrator's Guide.
-
-
Set up the configurator job to run the load_config_dist utility by adding the following lines to the oc-cn-helm-chart/config_scripts/loadme.sh script:
#!/bin/sh #cp /oms/config_dist.conf /oms/sys/test/config_dist.conf cd /oms/sys/test ; load_config_dist exit 0; -
In the override-values.yaml file for oc-cn-helm-chart, set this key:
ocbrm.config_jobs.run_apps: Set this to true.
-
Run the helm upgrade command to update the Helm release:
helm upgrade BrmReleaseName oc-cn-helm-chart --values OverrideValuesFile --namespace BrmNameSpace
The distribution information is loaded into the primary schema.
-
Update these keys in the override-values.yaml file for oc-cn-helm-chart:
-
ocbrm.config_jobs.restart_count: Increment the existing value by 1.
-
ocbrm.config_jobs.run_apps: Set this to false.
-
-
Update the Helm release again:
helm upgrade BrmReleaseName oc-cn-helm-chart --values OverrideValuesFile --namespace BrmNameSpace
The CM pod is bounced back.
-
-
Configure the account-router Pipeline Manager to route CDRs to pipelines based on the database schema POID. To do so, edit the ConfigMap file configmap_acc_router_reg.yaml.
Based on the configuration, the account router Pipeline Manager does the following:
-
Moves input files to the data PVC directory. The input file names have a prefix of router and a suffix of .edr.
-
Moves the rated output files to the input of the Rating pipeline.
-
Replicates the Rating pipeline based on the multischema entry. The Range function is used to replicate the rating pipeline.
-
Moves the output files from the Rating pipeline to the outputcdr PVC directory.
-
Your BRM cloud native environment is connected to your BRM multischema database. To manage your multischema environment, see "Managing a BRM Cloud Native Multischema System" in BRM Cloud Native System Administrator's Guide.
Configuring Pricing Design Center
Pricing Design Center (PDC) is a Web-based client application that you use to create and manage the product offerings that you sell to your customers. A product offering represents the services available to your customers and the price of those services. For more information about PDC, see Pricing Design Center Online Help.
You can optionally deploy a simple demonstration version of Pricing Design Center cloud native by using the sample PDC_OverrideValues.yaml file provided with oc-cn-helm-chart. This simple demonstration version has both SSL and ECE enabled, loads sample RUMs and balance elements, and starts the BRM-to-PDC synchronization process with SyncPDC.
To configure PDC to run in your BRM cloud native environment:
-
Override the PDC-specific keys in the values.yaml file for oc-cn-helm-chart. See "Adding PDC Keys for oc-cn-helm-chart".
-
Override the PDC-specific keys in the values.yaml file for oc-cn-op-job-helm-chart. See "Adding PDC Keys for oc-cn-op-job-helm-chart".
-
Set up SAML for SSO in PDC. See "Setting Up SSO for PDC Cloud Native".
After you deploy PDC in your cloud native environment, you can access the PDC UI at one of the following URLs:
-
http://kubernetesHost:pdcPort/pdc
where:
-
kubernetesHost is the host name of the machine on which Kubernetes is deployed.
-
pdcPort is the PDC service node port.
-
-
http://LoadBalancerHost:pdcNodePort/pdc
where:
-
LoadBalancerHost is the host name of the machine on which the load balancer is deployed.
-
pdcNodePort is the number assigned to the PDC node port.
-
Adding PDC Keys for oc-cn-helm-chart
Table 7-6 describes the most common PDC keys that you need to override. Add these keys to your override-values.yaml file for oc-cn-helm-chart with the same path hierarchy.
For information about all PDC-specific keys, see the descriptions in the oc-cn-helm-chart/values.yaml file.
Caution:
Keys with the path ocpdc.secretValue hold sensitive data. Handle them carefully with controlled access to the file containing their values. Encode all of these values in Base64. See "Secrets" in Kubernetes Concepts.
Table 7-6 Pricing Design Center Keys for oc-cn-helm-chart
| Key | Path in values.yaml | Description |
|---|---|---|
|
isEnabled |
ocpdc |
Whether to enable and deploy PDC:
|
|
lang |
ocpdc |
The Linux system locale. The default is en_US.UTF-8. |
|
tz |
ocpdc |
The Linux time zone. The default is UTC. |
|
volume.createOption.* |
ocpdc |
By default, PDC uses dynamic volume provisioning. PDC on WebLogic Kubernetes Operator requires shared storage for the WebLogic domain home and configuration in clustered deployments. Use a storage class that supports ReadWriteMany, or use an equivalent shared storage solution such as NFS. To use a static volume instead, add the createOption keys under the volume section. See "Using Static Volumes" in BRM Cloud Native System Administrator's Guide. Note: Ensure you provide the required permissions to the volume path by following the guidelines in "Persistent Volume Storage Locations" in the WebLogic Kubernetes Operator documentation. |
|
storageSize |
ocpdc |
The storage size for the pdc-brm-pv or pdc-brm-pvc, such as 10 Gi. The storage must use an access mode supported for PDC shared storage in your deployment. |
|
deployment.* |
ocpdc |
The details for deploying the PDC image:
|
|
deployment.fmw.* |
ocpdc |
The details for pulling WebLogic images for PDC from a container registry:
See "Pulling WebLogic Images for PDC, Billing Care, Billing Care REST API, and Business Operations Center" for more information. |
|
nodeSelector |
ocpdc |
The name of the node on which to run the following PDC pods:
Set this key if you want to constrain the PDC pods to run only on the node you specify. For more information, see "nodeSelector" in the Kubernetes documentation. Note: To override the rules for a specific PDC pod, specify a different value for the pod's nodeSelector key. For example, set the ocpdc.configEnv.transformation.nodeSelector key to apply rules specifically to the Transformation pod. |
|
affinity |
ocpdc |
The rules for running the following PDC pods on specific nodes:
Set this key if you want to constrain the PDC pod to run only on the nodes that meet your criteria. For more information about this key, see "Node Affinity" in the Kubernetes documentation. Note: To override the rules for a specific PDC pod, specify a different value for the pod's affinity key. For example, set the ocpdc.configEnv.transformation.affinity key to apply rules specifically to the Transformation pod. |
|
addOnPodSpec |
ocpdc |
The details for extending pod specifications or overriding features. By default, this key is empty. See "About Customizing and Extending Pods" in BRM Cloud Native System Administrator's Guide. |
|
domainUID |
ocpdc.wop |
The name of the PDC WebLogic Server domain. The default is pdc-domain. |
|
resources.* |
ocpdc |
The minimum and maximum CPU and memory resources for the PDC domain admin-server pod. See "Setting Minimum and Maximum CPU and Memory Values" in BRM Cloud Native System Administrator's Guide. |
|
configEnv.* |
ocpdc |
The configuration details for PDC.
|
|
extPDCDBSSLWalletSecret |
ocpdc.configEnv |
The names of the external Kubernetes Secret containing the custom SSL database wallet for PDC. This value must match the one for the oc-cn-op-job-helm-chart. See "Using External Kubernetes Secrets for Certificates and Wallets" in BRM Cloud Native System Administrator's Guide. |
|
transformation.* |
ocpdc.configEnv |
The details for the transformation.
|
|
seedData.* |
ocpdc.configEnv |
The details for deploying seed data. Note: If balance element and RUM data already exist in the PDC database, they are not overwritten.
|
|
importExport.* |
ocpdc.configEnv |
The default for running the ImportExportPricing utility in PDC cloud native. For more information, see "Running PDC Applications" in BRM Cloud Native System Administrator's Guide.
|
|
syncPDC.* |
ocpdc.configEnv |
The details for running the SyncPDC utility in PDC cloud native. For more information, see "Running PDC Applications" in BRM Cloud Native System Administrator's Guide.
|
|
monitoring.* |
ocpdc.configEnv |
The details for monitoring PDC and collecting WebLogic metrics. By default, monitoring is disabled. For more information, see "Monitoring PDC in a Cloud Native Environment" in BRM Cloud Native System Administrator's Guide. |
|
secretValue.* |
ocpdc |
The passwords for PDC.
|
|
secret.* |
ocpdc |
The details for the external Kubernetes Secret:
See "Using External Kubernetes Secrets for Certificates and Wallets" in BRM Cloud Native System Administrator's Guide. |
Adding PDC Keys for oc-cn-op-job-helm-chart
You must create an override-values.yaml for oc-cn-op-job-helm-chart and then add the PDC-specific keys in Table 7-7.
For information about all PDC-specific keys, see the descriptions in the oc-cn-op-job-helm-chart/values.yaml file.
Caution:
Keys with the path ocpdc.secretValue hold sensitive data. Handle them carefully with controlled access to the file containing their values. Encode all of these values in Base64 format. See "Secrets" in Kubernetes Concepts.
Table 7-7 Pricing Design Center Keys for oc-cn-op-job-helm-chart
| Key | Path in values.yaml | Description |
|---|---|---|
|
isEnabled |
ocpdc |
Whether to enable PDC jobs:
|
|
isClean |
ocpdc |
Whether to clean old PDC deployment and instance logs:
|
|
lang |
ocpdc |
The Linux system locale. The default is en_US.UTF-8. |
|
tz |
ocpdc |
The Linux time zone. The default is UTC. |
|
volume.domain.createOption.* |
ocpdc |
By default, PDC uses dynamic volume provisioning. PDC on WebLogic Kubernetes Operator requires shared storage for the WebLogic domain home and configuration in clustered deployments. Use a storage class that supports ReadWriteMany, or an equivalent shared storage solution such as NFS. To use a static volume instead, add the createOption keys under the volume section. See "Using Static Volumes" in BRM Cloud Native System Administrator's Guide. Note: Ensure you provide the required permissions to the volume path by following the guidelines in "Persistent Volume Storage Locations" in the WebLogic Kubernetes Operator documentation. |
|
storageSize |
ocpdc |
The storage size for the pdc-brm-pv or pdc-brm-pvc, such as 10 Gi. The storage must use an access mode supported for PDC shared storage in your deployment. |
|
deployment.* |
ocpdc |
The details for deploying the PDC image:
|
|
deployment.fmw.* |
ocpdc |
The details for pulling WebLogic images for PDC from a container registry:
See "Pulling WebLogic Images for PDC, Billing Care, Billing Care REST API, and Business Operations Center" for more information. |
|
nodeSelector |
ocpdc |
The rules for scheduling a PDC job pod on a particular node using nodeSelector or affinity. pdc-domain-job: Set this key to constrain the PDC pods to run only on the node you specify. For more information, see "nodeSelector" in the Kubernetes documentation. Note: To override the rules for a specific PDC pod, specify a different value for the pod's nodeSelector key. For example, set the ocpdc.configEnv.transformation.nodeSelector key to apply rules specifically to the Transformation pod. |
|
affinity |
ocpdc |
The rules for scheduling a PDC job pod on a particular node using nodeSelector or affinity. pdc-domain-job: Set this key if you want to constrain the PDC pod to run only on nodes that meet your criteria. For more information, see "Node Affinity" in the Kubernetes documentation. Note: To override the rules for a specific PDC pod, specify a different value for the pod's affinity key. For example, set the ocpdc.configEnv.transformation.affinity key to apply rules specifically to the Transformation pod. |
|
addOnPodSpec |
ocpdc |
The details for extending pod specifications or overriding features. By default, this key is empty. See "About Customizing and Extending Pods" in BRM Cloud Native System Administrator's Guide. |
|
wop.* |
ocpdc |
The details for deploying the WebLogic Operator.
|
|
resources.* |
ocpdc |
The minimum and maximum CPU and memory resources for the PDC domain job. See "Setting Minimum and Maximum CPU and Memory Values" in BRM Cloud Native System Administrator's Guide. |
| PDC Ports |
ocpdc |
The details about the PDC ports to use.
|
|
Java Settings |
ocpdc.configEnv |
The Java security settings.
|
|
tlsVersions |
ocpdc.configEnv |
The list of TLS versions to support for connection with the WebLogic domain. List the version numbers in order, from lowest to highest, separated by a comma. For example: TLSv1.2, TLSv1.3. |
|
Log File Rotation |
ocpdc.configEnv |
The settings for rotating Pricing Server log and tracing log files:
See "Rotating PDC Log Files" in BRM Cloud Native System Administrator's Guide for more information. |
|
RCU Schema |
ocpdc.configEnv |
The details about the RCU schema.
|
|
isCustomWLSPython |
ocpdc.configEnv |
Whether to run your custom WebLogic Python files:
Set the appropriate read and write permissions for each file, and set the ownership to 1000 using chown 1000:0. |
|
addOPSSWallet |
ocpdc.configEnv |
Whether you added the OPSS wallet to the Helm chart.
Note: The OPSS wallet file will not be available in pdc-app-pvc/stores/opss_wallet the first time you run oc-cn-op-job-helm-chart or create a new RCU prefix. |
|
extOPSSWallet |
ocpdc.configEnv |
The name of the external Kubernetes Secret containing the custom OPSS wallet file for PDC. See "Using External Kubernetes Secrets for Certificates and Wallets" in BRM Cloud Native System Administrator's Guide. |
|
honorOMF |
ocpdc.configEnv |
Whether the RDS database honors the Oracle-Managed Files (OMF) naming format:
|
|
keyStoreType |
ocpdc.configEnv |
The SSL KeyStore type for the PDC domain. The default is JKS. |
|
keyStoreAlias |
ocpdc.configEnv |
The alias name for the PDC domain SSL KeyStore. |
|
keyStoreIdentityFileName |
ocpdc.configEnv |
The name of the PDC domain SSL identity keystore file. Before deploying PDC, generate the JKS identity keystore and place it in oc-cn-op-job-helm-chart/pdc/pdc_keystore. PDC does not ship or create any certificates during deployment. Customers must generate and/or place custom certificates before PDC deployment. For information, see "Configuring SSL for the PDC WebLogic Domain". |
|
keyStoreTrustFileName |
ocpdc.configEnv |
The name of the PDC domain SSL trust keystore file. Before deploying PDC, generate the JKS trust keystore and place it in oc-cn-op-job-helm-chart/pdc/pdc_keystore. PDC does not ship or create any certificates during deployment. Customers must generate and/or place custom certificates before PDC deployment. For information, see "Configuring SSL for the PDC WebLogic Domain". . |
|
extPDCKeystoreSecret |
ocpdc.configEnv |
The name of the external Kubernetes Secret containing the custom KeyStore certificate file for PDC. See "Using External Kubernetes Secrets for Certificates and Wallets" in BRM Cloud Native System Administrator's Guide. |
|
isSSOEnabled |
ocpdc.configEnv |
Set to true to configure and use SAML 2.0 SSO service. The default is false. |
|
extMetadataCM |
ocpdc.configEnv |
The name of the external ConfigMap containing the IDP metadata file. |
|
samlAsserterName |
ocpdc.configEnv |
The name of the SAML Asserter. It should be the same as OEM or IDCS. The default is pdcSAML2IdentityAsserter. |
|
ssoPublishedSiteURL |
ocpdc.configEnv |
The base URL used to construct endpoint URLs, typically, the load balancer host and port at which the server is visible externally. It must be appended with /saml2. For example: https://LoadBalancerHost:LoadBalancerPort/saml2. |
|
ssoDefaultURL |
ocpdc.configEnv |
The URL to which unsolicited authentication responses are sent if they do not contain an accompanying target URL. |
|
ssoLogoutURL |
ocpdc.configEnv |
The URL where users are redirected after they log out from the application (OEM or IDCS log out). |
|
Database Details |
ocpdc.configEnv |
The details for
|
|
Database Schema |
ocpdc.configEnv |
The details about the PDC database schema.
|
|
pdcAdminUser |
ocpdc.configEnv |
The PDC admin user name, which includes the Pricing Design Admin role. The default is cnepdcadminuser. |
|
supportECE |
ocpdc.configEnv |
The charging engine to use: Elastic Charging Engine (true) or the real-time and batch rating engine (false). The default is true. |
|
Upgrade |
ocpdc.configEnv |
The details for upgrading PDC.
|
|
secretValue.* |
ocpdc |
The credentials for accessing the system.
|
|
service.* |
ocpdc |
The pdc-service service's details.
|
Configuring SSL for the PDC WebLogic Domain
To configure SSL for the PDC WebLogic domain:
-
In oc-cn-op-job-helm-chart, set ocpdc.configEnv.exposePorts to one of the following:
-
yes if you use HTTPS only
-
no if you use HTTP only
-
all if you use both
-
-
Generate the identity and trust JKS keystores.
-
Copy the identity keystore, trust keystore, and any required public certificates to the PDC keystore directory: oc-cn-op-job-helm-chart/pdc/pdc_keystore.
-
In the oc-cn-op-job-helm-chart override file, configure the following:
ocpdc: configEnv: exposePorts: "exposePorts" keyStoreType: "keystoreType" keyStoreAlias: "CustomIdentityAlias" keyStoreIdentityFileName: "identityKeystoreFileName" keyStoreTrustFileName: "trustKeystoreFileName" extPDCKeystoreSecret: "customKeystoreSecretName" secretValue: keyStoreIdentityKeyPass: "identityKeyPassword" keyStoreIdentityStorePass: "identityStorePassword" keyStoreTrustStorePass: "trustStorePassword"where:
-
exposePorts specifies whether to expose ports: yes, no, or all.
-
keystoreType is the keystore format or type.
-
CustomIdentityAlias is the PDC domain alias in the identity keystore.
-
identityKeystoreFileName is the identity keystore file name.
-
trustKeystoreFileName is the trust keystore file name.
-
(Optional) customKeystoreSecretName is a custom Kubernetes secret containing PDC keystore material. If ocpdc.configEnv.extPDCKeystoreSecret is set, PDC uses the keystore material from the external Kubernetes Secret and does not rely on local files in the oc-cn-op-job-helm-chart/pdc/pdc_keystore directory.
-
identityKeyPassword, identityStorePassword, and trustStorePassword are managed-secret values for the respective keystore passwords. You can provide them using either chart-managed secret values or an external Kubernetes Secret.
Note:
Provide the password values through the approved deployment secret process. Do not commit plain-text passwords to the values.yaml file or any override-values.yaml file.
-
-
Deploy or redeploy PDC. Validate that the PDC HTTPS endpoint is reachable and has no TLS or keystore errors.
Setting Up SSO for PDC Cloud Native
SSO allows users to log in to applications using a single user name and password combination. You set up SSO for PDC cloud native services by using SAML 2.0.
To set up SSO for PDC:
-
Export the SAML 2.0 metadata XML file from your identity and access management (IAM) system.
For example, if you are using Oracle Access Management, you can export the file by following the instructions in "Exporting Metadata" in Oracle Fusion Middleware Administering Oracle Access Management.
-
Add the metadata XML file to your BRM cloud native deployment by doing one of the following:
-
Rename the metadata XML file to metadata.xml, and then move metadata.xml to the oc-cn-op-job-helm-chart/pdc/idp directory.
-
Pre-create the IDP metadata ConfigMap for PDC and set the ocpdc.configEnv.extMetadataCM key in your override-values.yaml file for oc-cn-op-job-helm-chart.
-
-
Configure the KeyStores needed by SAML by doing one of the following:
-
Generate the Identity and Trust KeyStores and then move your files under the oc-cn-op-job-helm-chart/pdc/pdc_keystore directory.
-
Pre-create the Kubernetes Secret for the Identity and Trust KeyStore files and set the ocpdc.configEnv.extKeystoreSecret key in your override-values.yaml file for both oc-cn-op-job-helm-chart and oc-cn-helm-chart.
For more information, see "Using External Kubernetes Secrets for Certificates and Wallets" in BRM Cloud Native System Administrator's Guide.
-
-
In your override-values.yaml file for oc-cn-op-job-helm-chart, set the following keys:
-
ocpdc.configEnv.isSSOEnabled: Set this to true.
-
ocpdc.configEnv.keyStoreAlias: Set this to the private key alias of the KeyStore.
-
ocpdc.configEnv.keyStoreType: Set this to the file type of the SSL Identity and Trust KeyStore. The only supported value is JKS.
-
ocpdc.configEnv.keyStoreIdentityFileName: Set this to the name of the Identity KeyStore file.
-
ocpdc.configEnv.keyStoreTrustFileName: Set this to the name of the Trust KeyStore file.
-
ocpdc.configEnv.samlAsserterName: Set this to the name of the SAML Asserter. The default is pdcSAML2IdentityAsserter.
-
ocpdc.configEnv.ssoPublishedSiteURL: Set this to the base URL used to construct endpoint URLs. This is typically the load balancer host and port where the server is visible externally. It must be appended with /saml2. For example: https://LoadBalancerHost:LoadBalancerPort/saml2.
-
ocpdc.configEnv.ssoDefaultURL: Set this to the URL where unsolicited authentication responses are sent if they do not contain an accompanying target URL.
-
ocpdc.secretValue.keyStoreIdentityStorePass: Set this to the StorePass for the Identity KeyStore.
-
ocpdc.secretValue.keyStoreIdentityKeyPass: Set this to the KeyPass for the Identity KeyStore.
-
ocpdc.secretValue.keyStoreTrustStorePass: Set this to the StorePass for the Trust KeyStore.
-
-
Configure your load balancer's rules to send responses to the PDC WebLogic domain with /saml2 appended to the URL path.
Note:
Add this rule to your existing load balancer rules for routing responses to PDC (/pdc), the load balancer host name, and so on.
-
Deploy your PDC cloud native services by following the instructions in "Deploying BRM Cloud Native Services".
-
After PDC is deployed, retrieve the sp-metadata-admin-server.xml file from the /shared/applications/PDC_HOME/domainUID directory in your container, where domainUID is the name of your PDC domain specified in the ocpdc.wop.domainUID key.
The XML file configures the Web SSO Provider Partner. It contains the partner's KeyStore certificates, SAML assertion details, and the URLs where the SAML Identity Provider redirects to provide access to PDC.
-
Create a profile for your identity provider partner by loading the sp-metadata-admin-server.xml file into your IAM system.
For example, if you are using Oracle Access Management, you can load the file by following the instructions in "Creating Remote Identity Provider Partners" in Oracle Fusion Middleware Administering Oracle Access Management.
Configuring Pipeline Configuration Center
To configure Pipeline Configuration Center (PCC) to run in your BRM cloud native environment:
-
Override the PCC-specific keys in the values.yaml file for oc-cn-op-job-helm-chart. See "Adding Pipeline Configuration Center Keys for oc-cn-op-job-helm-chart".
-
Override the PCC-specific keys in the values.yaml file for oc-cn-helm-chart. See "Adding Pipeline Configuration Center Keys for oc-cn-helm-chart".
-
Set up volume mounts. See "About PCC Volume Mounts".
-
Create a WebLogic domain and install the PCC application. See "Creating a WebLogic Domain and Installing the PCC Application".
-
Set up SAML for SSO in PCC. See "Setting Up SSO for Pipeline Configuration Center".
-
Set up local users and groups for PCC. See "Setting Up Local Users and Groups for PCC".
-
Start and stop your WebLogic servers. See "Starting and Stopping WebLogic Servers".
- Enable SSL in PCC. See "Configuring SSL in PCC".
Adding Pipeline Configuration Center Keys for oc-cn-op-job-helm-chart
Table 7-8 PCC Keys for oc-cn-op-job-helm-chart
| Key | Paths in values.yaml File | Description |
|---|---|---|
| isEnabled | ocpcc.pcc |
Whether to deploy, configure, and start PCC services:
|
|
imageName |
ocpcc.pcc.deployment.app |
The name of the PCC image, such as oracle/pcc |
|
imageTag |
ocpcc.pcc.deployment.app |
The tag associated with the image. This is generally the patch set number prefixed with a colon (:). For example, :16.26.0.0.0.0 |
|
dbSSLMode |
ocpcc.pcc.configEnv |
The type of connection required to connect to the database:
|
|
dbWalletType |
ocpcc.pcc.configEnv |
The type of TrustStore and KeyStore file that is used for the SSL connection: SSOor PKCS12. |
|
rcuJdbcURL |
ocpcc.pcc.configEnv |
The connection string for connecting to the database where schemas needed by Oracle Fusion Middleware products will be created, especially OPSS. |
|
rcuDBARole |
ocpcc.pcc.configEnv |
The role of the database administrator user. |
|
rcuArgs |
ocpcc.pcc.configEnv |
The additional arguments for creating the RCU. |
|
ldapHost |
ocpcc.pcc.configEnv |
The host name or IP address of the LDAP Server (for example, OUD) where users and groups will be configured for access to PCC. |
|
ldapPort |
ocpcc.pcc.configEnv |
The port number on which the LDAP server is listening. |
|
ldapGroupBase |
ocpcc.pcc.configEnv |
The LDAP base DN that contains groups. |
|
ldapUserBase |
ocpcc.pcc.configEnv |
The LDAP base DN that contains users. |
|
extDBSSLWalletSecret extKeystoreSecret |
ocpcc.pcc.configEnv |
The names of the pre-created Kubernetes Secrets for the Pipeline Configuration Center KeyStore certificates and wallets. See "Using External Kubernetes Secrets for Certificates and Wallets" in BRM Cloud Native System Administrator’s Guide. |
|
keystoreAlias |
ocpcc.pcc.configEnv |
The private key alias of the KeyStore. |
|
keystoreType |
ocpcc.pcc.configEnv |
The file type of the SSL Identity and TrustStore, which is either PKCS12or JKS. The default is PKCS12. |
|
keystoreIdentityFileName |
ocpcc.pcc.configEnv |
The file name of the Identity KeyStore. |
|
keystoreTrustFileName |
ocpcc.pcc.configEnv |
The file name of the Trust KeyStore. |
|
isSSOEnabled |
ocpcc.pcc.configEnv |
Whether to enable single sign-on (SSO) for PCC cloud
native services through SAML 2.0:
|
|
samlAsserterName |
ocpcc.pcc.configEnv |
The name of the SAML Asserter. The default is samlPCCAsserter. |
|
ssoPublishedSiteURL |
ocpcc.pcc.configEnv |
The base URL that is used to construct endpoint URLs. This is typically the Load Balancer host and port at which the server is visible externally. It must be appended with /saml2. For example: https://LoadBalancerHost:LoadBalancerPort/saml2. |
|
ssoDefaultURL |
ocpcc.pcc.configEnv |
The URL where unsolicited authentication responses are sent if they do not contain an accompanying target URL. |
|
reloadVersion |
ocpcc.pcc.configEnv |
Update this value with any value different from the current value to force a restart of the deployer. |
|
adminPassword |
ocpcc.pcc.secretVal |
The password of the WebLogic domain's administrative user, which is used for accessing the WebLogic Console for administrative operations. |
|
ldapPassword |
ocpcc.pcc.secretVal |
The password of the LDAP Server admin user. |
|
rcuSysDBAPassword |
ocpcc.pcc.secretVal |
The password for the rcuJdbcURL database administrator. |
|
rcuSchemaPassword |
ocpcc.pcc.secretVal |
The passwords for the schemas of Oracle Fusion Middleware products that will be created by RCU, which is used by OPSS. |
|
dbWalletPassword |
ocpcc.pcc.secretVal |
The password for accessing the certificates from the TrustStore and KeyStore. |
|
keystoreIdentityPassword |
ocpcc.pcc.secretVal |
The StorePass for the Identity KeyStore. |
|
keystoreKeyPassword |
ocpcc.pcc.secretVal |
The KeyPass for the Identity KeyStore. |
|
keystoreTrustPassword |
ocpcc.pcc.secretVal |
The StorePass for the Trust KeyStore. |
|
domainUID |
ocpcc.pcc.wop |
The name of the domain. The default is pcc-domain. |
|
adminChannelPort |
ocpcc.pcc.wop |
The NodePort where the admin-server's HTTP service is accessible. |
|
serverStartPolicy |
ocpcc.pcc.wop |
The WebLogic servers that the Operator starts when
it discovers the domain:
|
|
volume.* |
ocpcc.pcc |
Details about the PVC for the pcc pod:
|
|
nodeSelector |
ocpcc.pcc |
The node selector rules for scheduling WebLogic Server pods on particular nodes using simple selectors. |
|
affinity |
ocpcc.pcc |
The affinity rules for scheduling WebLogic Server pods on particular nodes using more powerful selectors. |
Adding Pipeline Configuration Center Keys for oc-cn-helm-chart
Table 7-9 lists the keys that directly impact PCC deployment. Add these keys to your override-values.yaml file for oc-cn-helm-chart.
Table 7-9 Pipeline Configuration Center Keys
| Key | Path in Values.yaml File | Description |
|---|---|---|
|
appLogLevel |
ocpcc |
The logging level at which application logs must be captured in log files: SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST, and ALL. |
|
isEnabled |
ocpcc.pcc |
Whether to deploy, configure, and start PCC services:
|
|
imageName |
ocpcc.pcc.deployment.app |
The name of the PCC image, such as oracle/pcc. |
|
imageTag |
ocpcc.pcc.deployment.app |
The tag associated with the image. This is generally the patch set number, prefixed with a colon (:). For example, :16.26.0.0.0.0 |
|
keystoreAlias |
ocpcc.pcc.configEnv |
The private key alias of the KeyStore. |
|
dbSSLMode |
ocpcc.pcc.configEnv |
The type of connection required to connect to the database:
|
|
dbWalletType |
ocpcc.pcc.configEnv |
The type of TrustStore and KeyStore file that is used for the SSL connection: SSO or PKCS12. |
|
extDBSSLWalletSecret extKeystoreSecret |
ocpcc.pcc.configEnv |
The names of the pre-created Kubernetes Secrets for the Pipeline Configuration Center KeyStore certificates and wallets. See "Using External Kubernetes Secrets for Certificates and Wallets" in BRM Cloud Native System Administrator’s Guide. |
|
tlsVersions |
ocpcc.pcc.configEnv |
The list of TLS versions to support for connection with the WebLogic domain. List the version numbers in order, from lowest to highest, separated by a comma. For example: TLSv1.2, TLSv1.3. |
|
login |
ocpcc.pcc.infranet.user |
The username of the service that has permission to access BRM. |
|
serviceType |
ocpcc.pcc.infranet.user |
The POID type of the service that has permission to access BRM. |
|
serviceID |
ocpcc.pcc.infranet.user |
The POID ID of the service that has permission to access BRM. |
|
minSize |
ocpcc.pcc.infranet.connectionpool |
The minimum size of the connection pool. |
|
maxSize |
ocpcc.pcc.infranet.connectionpool |
The maximum size of the connection pool. |
|
loglevel |
ocpcc.pcc.infranet |
The log level for the infranet properties. |
|
addOnProperties |
ocpcc.pcc.infranet |
Empty by default, you can use this key to specify custom infranet properties. |
|
domainUID |
ocpcc.pcc.wop |
The name of the domain. The default is pcc-domain. |
|
adminChannelPort |
ocpcc.pcc.wop |
The NodePort where the admin-server's HTTP service will be accessible. The default is blank. Note: Set this key only if you want the pcc-domain-admin-server-ext service to deploy as NodePort. |
|
serverStartPolicy |
ocpcc.pcc.wop |
The WebLogic servers that the Operator starts when it discovers the
domain:
|
|
isEnabled |
ocpcc.pcc.monitoring |
Whether to enable monitoring of PCC. |
|
nodeSelector |
ocpcc.pcc |
The node selector rules for scheduling WebLogic Server pods on particular nodes using simple selectors. |
|
affinity |
ocpcc.pcc |
The affinity rules for scheduling WebLogic Server pods on particular nodes using more powerful selectors. |
Table 7-10 lists the secret keys that directly impact PCC deployment. These keys hold sensitive data and must be handled carefully with controlled access to the file containing its values. See "Secrets" in Kubernetes Concepts.
Add these secret keys to your override-values.yaml file, and encode all of their values in Base64.
Note:
-
You can encode strings in Linux by using this command:
echo -n 'string' | base64
-
You can decode strings in Linux by using this command:
echo 'encoded_string' | base64 --decode
Table 7-10 Pipeline Configuration Center Secret Keys
| Key | Description |
|---|---|
|
ocpcc.pcc.secretVal.adminPassword |
The WebLogic Server administrative password encoded in Base64. |
|
ocpcc.pcc.secretVal.walletPassword |
The PCC wallet password encoded in Base64. |
|
ocpcc.pcc.secretVal.rcuSysDBAPassword |
The Database Administrator password encoded in Base64. |
|
ocpcc.pcc.secretVal.rcuSchemaPassword |
The password for schemas of Oracle Fusion Middleware products that will be created by RCU, which is used by OPSS. The value must be Base64-encoded. |
|
ocpcc.pcc.secretVal.keystoreIdentityPassword |
The KeyPass of Identity Keystore, which is used for setting up the SSL-enabled domain. The value must be Base64-encoded. |
|
ocpcc.pcc.secretVal.keystoreKeyPassword |
The StorePass of Identity Keystore, which is used for setting up the SSL-enabled domain. This value must be Base64-encoded. |
|
ocpcc.pcc.secretVal.keystoreTrustPassword |
The StorePass of the Trust Keystore, which is used for setting up the SSL-enabled domain. This value must be Base64-encoded. |
|
ocpcc.pcc.secretVal.pccUserPassword |
The PCC user password encoded in Base64. |
About PCC Volume Mounts
The PCC container requires Kubernetes volume mounts for sharing the domain and application file system between the WebLogic Cluster servers. There is one volume for the domain. By default, these are created dynamically, using the provisioner defined in BRM, in the storage-class key in oc-cn-op-job-helm-chart.
To change the volume type or provider, modify the following keys in the override-values.yaml file for oc-cn-op-job-helm-chart.
-
ocpcc.pcc.volume.domain.createOption for the domain file system for PCC.
Creating a WebLogic Domain and Installing the PCC Application
The WebLogic domain is created by a Kubernetes Deployment when oc-cn-op-job-helm-chart is installed. The same job also installs the PCC application and deploys the application EAR file onto the WebLogic Cluster.
The oc-cn-op-job-helm-chart chart also:
-
Creates a Kubernetes ConfigMap and Secrets, which are used throughout the life-cycle of the WebLogic domain.
-
Initializes the PersistentVolumeClaim for the domain and application file system as well as third-party libraries.
Note:
The override-values.yaml file that you use for this chart must include BRM override values.
After you install oc-cn-op-job-helm-chart, wait until the Kubernetes deployment has reached the 1/1 Running status. Then, you can install or upgrade oc-cn-helm-chart for PCC services.
After the deployment is running, don't delete the chart. Its resources will be used for starting and stopping the servers through oc-cn-helm-chart.
Setting Up SSO for Pipeline Configuration Center
SSO allows users to log in to applications using a single user name and password combination. You set up SSO for Pipeline Configuration Center cloud native services by using SAML 2.0.
To set up SSO for Pipeline Configuration Center:
-
Export the SAML 2.0 metadata XML file from your identity and access management (IAM) system.
For example, if you are using Oracle Access Management, you can export the file by following the instructions in "Exporting Metadata" in Oracle Fusion Middleware Administering Oracle Access Management.
-
Add the metadata XML file to your BRM cloud native deployment by doing one of the following:
-
Rename the metadata XML file to metadata.xml, and then move metadata.xml to the oc-cn-op-job-helm-chart/pcc/idp directory.
-
Pre-create the IDP metadata ConfigMap for Pipeline Configuration Center and set the ocpcc.pcc.configEnv.extMetadataCM key in your override-values.yaml file for oc-cn-op-job-helm-chart.
For more information, see "Managing Wallet and KeyStore Certificates" in BRM Cloud Native System Administrator's Guide.
-
-
Configure the KeyStores needed by SAML by doing one of the following:
-
Generate the Identity and Trust KeyStores and then move your files, such as identity.p12 and trust.p12, under the oc-cn-op-job-helm-chart/pcc/keystore directory.
-
Pre-create the Kubernetes Secret for the Identity and Trust KeyStores and set the ocpcc.pcc.configEnv.extKeystoreSecret key in your override-values.yaml file for both oc-cn-op-job-helm-chart and oc-cn-helm-chart.
For more information, see "Managing Wallet and KeyStore Certificates" in BRM Cloud Native System Administrator's Guide.
-
-
In your override-values.yaml file for oc-cn-helm-chart, set the isSSOEnabled key to true.
-
In your override-values.yaml file for oc-cn-op-job-helm-chart, set the following keys:
-
ocpcc.pcc.configEnv.isSSOEnabled: Set this to true.
-
ocpcc.pcc.configEnv.keystoreAlias: Set this to the private key alias of the KeyStore.
-
ocpcc.pcc.configEnv.keystoreType: Set this to the file type of the SSL Identity and Trust store, which is either PKCS12 or JKS. The default is PKCS12.
-
ocpcc.pcc.configEnv.keystoreIdentityFileName: Set this to the name of the Identity KeyStore file.
-
ocpcc.pcc.configEnv.keystoreTrustFileName: Set this to the name of the Trust KeyStore file.
-
ocpcc.pcc.configEnv.samlAsserterName: Set this to the name of the SAML Asserter. The default is samlPCCAsserter.
-
ocpcc.pcc.configEnv.ssoPublishedSiteURL: Set this to the base URL that is used to construct endpoint URLs. This is typically the load balancer host and port at which the server is visible externally. It must be appended with /saml2. For example: https://LoadBalancerHost:LoadBalancerPort/saml2.
-
ocpcc.pcc.configEnv.ssoDefaultURL: Set this to the URL where unsolicited authentication responses are sent if they do not contain an accompanying target URL.
-
ocpcc.pcc.secretVal.keystoreIdentityPassword: Set this to the StorePass for the Identity KeyStore.
-
ocpcc.pcc.secretVal.keystoreKeyPassword: Set this to the KeyPass for the Identity KeyStore.
-
ocpcc.pcc.secretVal.keystoreTrustPassword: Set this to the StorePass for the Trust KeyStore.
-
-
Configure your load balancer's rules to send responses to the Pipeline Configuration Center WebLogic domain with /saml2 appended to the URL path.
Note:
Add this rule to your existing load balancer rules for routing responses to Pipeline Configuration Center (/pcc), the load balancer host name, and so on.
-
Deploy your Pipeline Configuration Center cloud native services by following the instructions in "Deploying BRM Cloud Native Services".
-
After Pipeline Configuration Center is deployed, retrieve the sp-metadata-admin-server.xml file from the /shared/domains/domainUID directory in your container, where domainUID is the name of your Pipeline Configuration Center domain specified in the ocpcc.pcc.wop.domainUID key.
The XML file configures the Web SSO Provider Partner. It contains the partner's KeyStore certificates, SAML assertion details, and the URLs where the SAML Identity Provider redirects to provide access to Pipeline Configuration Center.
-
Create a profile for your identity provider partner by loading the sp-metadata-admin-server.xml file into your IAM system.
For example, if you are using Oracle Access Management, you can load the file by following the instructions in "Creating Remote Identity Provider Partners" in Oracle Fusion Middleware Administering Oracle Access Management.
Setting Up Local Users and Groups for PCC
You have the option to customize the values for oc-cn-op-job-helm-chart to create users and groups locally in Oracle WebLogic Server. This would be especially useful for test environments where you might not have Identity Providers or LDAPs available. The groups for the admin user for WebLogic Server cannot be modified using this procedure.
Any passwords must be encoded using Base64. You can leave the password blank, but then the user will not be able to log in to the application directly.
To set up local users and groups for PCC, define the keys under ocpcc.pcc.wlsUserGroups in the override-values.yaml file for oc-cn-op-job-helm-chart.
A group has to be the Config Admin to access the PCC UI. Only a user associated with the Config Admin group has full access to the PCC user interface. For example:
Add users and groups to domain's DefaultAuthenticator (local)
wlsUserGroups:
groups:
- name: Config Admin
description: PCC Admin
# Each element for this takes "name", "description", "password" (base64 encoded) and list of "groups" that he is part of, like:
# - name:
# description:
# password:
# groups:
# - "Regular CSR"
users:
- name: pccuser
description: pccuser
password: QzFnMmIzdTQj
groups:
- "Config Admin"Starting and Stopping WebLogic Servers
When you install oc-cn-op-job-helm-chart, the default configuration sets up a WebLogic Cluster with five Managed Servers. When you install or upgrade oc-cn-helm-chart for the PCC service, two of the Managed Servers and one Admin Server are started.
By modifying the override-values.yaml file for oc-cn-helm-chart, you can control:
-
The total number of Managed Servers and the initial server start up by using the totalManagedServers and initialServerCount keys.
-
Whether the servers are started or stopped by using the serverStartPolicy key. To start the Admin Servers and the Managed Servers in a Cluster, set the key to IF_NEEDED. To stop all servers, set the key to NEVER.
Note:
The keys in the override-values.yaml file should be the same as the ones used in oc-cn-op-job-helm-chart for keys that are common in both charts.
After you modify the override-values.yaml file, update the Helm release for the changes to take effect:
helm upgrade BrmReleaseName oc-cn-helm-chart --values OverrideValuesFile --namespace BrmNameSpace
where:
-
BrmReleaseName is the release name for oc-cn-helm-chart and is used to track this installation instance.
-
BrmNameSpace is the namespace in which to create BRM Kubernetes objects for the BRM Helm chart.
-
OverrideValuesFile is the path to a YAML file that overrides the default configurations in the values.yaml file for oc-cn-helm-chart.
Configuring SSL in PCC
To access PCC over the HTTPS port, SSL must be enabled in the WebLogic domain where PCC is deployed. The BRM cloud native deployment package takes care of the configuration necessary to equip the WebLogic domain with SSL access.
To complete the configuration for SSL setup:
-
Copy PKCS12 files with valid certificates to the oc-cn-op-job-helm-chart/pcc/keystore directory:
-
identity.p12: Provides the certificate to identify the server.
-
trust.p12: Establishes trust for the certificate.
If your KeyStore files have different file names or file types, such as JKS, override the keyStoreIdentityFileName, keyStoreTrustFileName, and keyStoreType keys in the override-values.yaml file for oc-cn-helm-chart.
The keystoreAlias key is also mandatory along with keyStoreIdentityFileName, keystoreTrustFileName to enable SSL.
-