dxctl
Learn how to use dxctl with custom resource DxDeployments with HCL WebSphere Portal 9.5 container deployments. Administrators can use the dxctl tool provided with Container Update CF19 and higher releases to define and configure custom DX container deployments. See the following guidance:
General help help for the dxctl tool or help related for subcommands (create, update, collect, and destroy) and the command syntax is found with --help.
dxctl can be used to deploy DX using a properties file. Sample properties files are included in the dxctl/properties directory.
The properties files function as follows:
- For a full deployment:
./linux/dxctl --deploy -p properties/full-deployment.propertiesFor a hybrid deployment: ./linux/dxctl --deploy -p properties/hybrid-deployment.propertiesThis creates a hybrid deployment with Experience API, Content Composer, and Digital Asset Management. We can disable any of these features by making a copy of the hybrid file and setting the value to false to disable it.
Example: composer.enabled: false disables Content Composer.
Note: Experience API is a dependency of Content Composer and Digital Asset Management and must be enabled to deploy the two components.
Create a deployment
Follow these steps to create a deployment.
- We must copy the properties file once a deployment is created.
- Use the copied file to perform a deployment and maintain and update a deployment.
For example:
mkdir -p /home/$USER/deployments/cp dxctl/properties/full-deployment.properties /home/$USER/deployments/myfirst_deployment.properties- Change the settings. For example, change dx.namespace: to myfirst-dx-deployment.
./linux/dxctl --deploy -p /home/$USER/deployments/myfirst_deployment.properties
Update a deployment
Follow these steps to update a deployment.
- Edit the properties file.
vi /home/$USER/deployments/myfirst_deployment.properties- Change the min/max replicas or enable/disable services and then save the file.
./linux/dxctl --update -p properties/hybrid-deployment.properties- Change the settings. For example, change dx.namespace: to myfirst-dx-deployment.
./linux/dxctl --deploy -p /home/$USER/deployments/myfirst_deployment.propertiesWith this updated deployment, if you were switching to a next release, we can use the properties file to replace the repository, image, and tag as required and perform the update command.
Delete a deployment
There are two ways to delete a deployment.
- Method 1: Remove the deployment but allow for redeployment with the same volumes.
./linux/dxctl --destroy -p properties/hybrid-deployment.propertiesMethod 2: Remove the entire namespace/project. ./linux/dxctl --destroy -p properties/hybrid-deployment.properties -all trueNote: -i interactive mode provides the ability to interactively provide some or all variables.
Main usage
Usage information for dxctl, for additional information, use --help with an action.
- DeployRun to deploy a DX deployment.
dxctl --deploy --helpUpdateRun to update a DX deployment. dxctl --update --helpCollectRun to collect support data for a given deployment. dxctl --collect --helpDestroyRun to destroy a DX deployment. dxctl --destroy --help
Main help
Subcommand required: deploy, update, collect, or destroy.
- --deploy or --updateUsage of deploy/update:
- Update existing DX deployment. Default: update
action string- The database type: oracle, db2, etc. Default: derby
dx.database stringThe DX core image. This is required. dx.image stringDeployment name. Default: dx-deployment dx.namespace stringThe target namespace/project. This is required. dx.operator.image stringThe HCL cloud operator image. This is required. dx.operator.tag stringThe HCL cloud operator repository image. This is required. dx.repository stringThe DX core tag. This is required. dx.tag stringThe file name to write into dx-tests.dx-deployment.txt. This contains test and deployment logs. Default filename: namespace For example, NAMESPACE.txt. filename stringdxctl always prompts for required fiels, -i allows further customizations of the deployment. Default: false iThe ambassador image. This is required. Not used in OpenShift deployments. ingress.image stringThe ambassador tag. This is required. Not used in OpenShift deployments. ingress.tag stringdxctl can be run from a properties file, -p namespace.properties. No default. p stringDisplay messages on the command line. Default: false verbose
--collectUsage of collect:
- Collect deployment information about an existing deployment. Default: collect
action stringDeployment name. Default: dx-deployment dx.name stringThe target namespace/project. This is required. dx.namespace stringThe file name to write into dx-tests.dx-deployment.txt. This contains test and deployment logs. Default filename: namespace For example, NAMESPACE.txt. filename stringDisplay messages on the command line. Default: false verbose
--destroyUsage of destroy:
- Destroy a DX deployment. Default: destroy
action stringDelete the project/namespace and all artifacts. Default: false allDeployment name. Default: dx-deployment dx.name stringThe target namespace/project. This is required. dx.namespace stringThe file name to write into dx-tests.dx-deployment.txt. This contains test and deployment logs. Default filename: namespace For example, NAMESPACE.txt. filename stringDisplay messages on the command line. Default: false verbose
Parent topic: Deployment