installNode
This operation installs a Gateway Node on endpoints configured with the resource 'Oracle API Platform Node Server' on the environment instance. The operation requires a gateway-props.json file for configuration. See the special considerations below for more information on the gateway-props.json file.
Environment/Instance Properties
Property Name | Property Code | Required | Description |
---|---|---|---|
Oracle API Platform Account | FDOAP_CLOUD_ACCOUNT_CODE | Y | The Oracle API Platform cloud account to use for this operation. |
Oracle Gateway Install Home | FDOAP_GATEWAY_INSTALL_HOME | Y | Absolute location of where to install the gateway node configuration. This is where the executable and libraries will be located. This should be empty prior to running this operation. Note that this is different compared to the 'nodeInstallDir' property in the gateway-props.json |
Node Weblogic User | FDOAP_NODE_WL_ADMIN_USER | Y | Weblogic admin user to configure when creating the node. Oracle API Platform Nodes are weblogic servers and this is your admin user. |
Node Weblogic Password | FDOAP_NODE_WL_ADMIN_PASSWORD | Y | Weblogic admin password to configure when creating the node. |
Inputs
Input Name | Input Code | Required | Description |
---|---|---|---|
Gateway File | FDOAP_INP_GATEWAY_NODEPROPS_FILE | Y | Json node properties file to use for creation. Can be absolute path or relative to artifacts directory. See Special Considerations below for more information. |
Copy Node Properties | FDOAP_INP_COPY_NODE_PROPS | N | If true, the 'Gateway File' input specified will be copied to the Node Install home. This will allow you to reuse this node properties file in other workflow steps, like 'executeNodeAction'. |
Auto Approve Registration | FDOAP_INP_APPROVE_NODE_REG | N | By default, when a Node is installed a request is sent to the Logical Gateway for Approval to join the Logical Gateway. If this is true, the request will be auto approved. In order for this to work the Oracle API Platform user must have 'NodeServiceAccount' grant on the Gateway. This can be automatically added if using the 'ImportGateway' operation. |
Install Action Override | FDOAP_INP_INSTALL_ACTION_OVERRIDE | N | By default, 'install-configure-start-join' is used when installing the Node. This means it expects the Logical Gateway to be existing ahead of time. You can override this to 'install-configure-start-create-join' which will create the Logical Gateway and Gateway Node in one shot. Depending on the action chosen, different or additional properties may be required in the Gateway File. |
Outputs
Output Name | Description |
---|---|
FDOAP_OUT_GATEWAY_ID | Logical Gateway Id after installation. Useful if your install action is overridden to create and join |
FDOAP_OUT_NODE_ID | Gateway Node Id that was installed. |
Artifacts
This operation consumes artifacts from the artifacts repository.
Endpoint Selection
This operation will select all available endpoints associated to the environment instance which have resource type of Oracle API Platform Node Server.
Endpoint Execution
This operation will select all available endpoints associated to the environment instance which have resource type of Oracle API Platform Node Server.
Special Considerations
Gateway File (gateway-props.json)
The gateway-props.json file provided is the same file required by Oracle for Node installation: https://docs.oracle.com/en/cloud/paas/api-platform-cloud/apfad/install-gateway-node.html#GUID-A02059C9-37B4-40F0-9FEA-C648804BB98F
FlexDeploy however derives certain properties to help make the configuration easier. Below are the required properties for installation through FlexDeploy.
Required Properties
Property Key | Description | Required | Example Value | Recommendation |
---|---|---|---|---|
logicalGatewayId | Logical Gateway Id to join the Node to. Only required if using the default Node install action. | Sometimes | 117 | FlexDeploy property ${{FDOAP_GATEWAY_ID}}. |
logicalGateway | Logical Gateway Name to create during installation. Only required when running 'install-configure-start-create-join' | Sometimes | Development | Either create your own FD property or some variation on FD_ENVIRONMENT_NAME |
gatewayNodeName | The name of the Gateway Node to create. | Yes | Node MyDevServer | Node ${{FD_ENDPOINT_NAME}} |
gatewayNodeDescription | The description you see when inspecting the node. | Yes | Created through FlexDeploy | Include ${{FD_PROJECT_VERSION}} somewhere |
listenIpAddress | The internal IP used for configuration | Yes | yourinternalhost | Could potentially use ${{FD_ENDPOINT_ADDRESS}} |
publishAddress | The public IP used for configuration | Yes | yourhost | Could potentially use ${{FD_ENDPOINT_ADDRESS}} |
nodeInstallDir | Directory where to install the node. This is different than 'Oracle Gateway Install Home' above. | Yes | /opt/apiplatform/node | Keep this the same across Nodes for consistency. |
gatewayExecutionMode | Development|Production. Development has certain networking security disabled. | Yes | Development | Create a user defined input |
Derived Properties
The following fields are dynamically added and removed from the file. If you do not wish to change the values then you can safely ignore this section. If you want to set custom values for any of the below fields you can simply set them in your gateway-props.json file and they will take precedence.
Property Key | Derived Value |
---|---|
gatewayadminName | Node Weblogic User Environment Instance Property |
gatewayadminPassword | Node Weblogic Password Environment Instance Property |
gatewayManagerUser | Oracle API Username Cloud Account Property |
gatewayManagerPassword | Oracle API Password Cloud Account Property |
clientId | Oracle API Client Id Cloud Account Property |
clientSecret | Oracle API Client Secret Cloud Account Property |
gatewayRuntimeUser | Oracle API Username Cloud Account Property |
gatewayRuntimePassword | Oracle API Password Cloud Account Property |
managementServiceUrl | Oracle API Platform Url Cloud Account Property |
idcsUrl | Oracle Identity Url Cloud Account Property |
requestScope | Combination of Audience and Scope Cloud Account Properties. Also adds 'offline_access'. |
One file with FlexDeploy Properties or one file per environment
If you do not want to use FlexDeploy properties in your file then I would suggest creating one file per environment and using an expression to resolve the Gateway File input.
For example you could have the following files in source control:
- gateway-props-dev.json
- gateway-props-test.json
- gateway-props-prod.json
Your input would then be the following expression: "gateway-props-"+FD_ENVIRONMENT_CODE.toLowerCase()+".json"
There are several additional optional fields that can be specified in the gateway-props.json. Any field in the Oracle documentation is allowed.
Sample gateway-props.json file
{ "logicalGatewayId" : "${{FDOAP_GATEWAY_ID}}", "gatewayNodeName" : "Node ${{FD_ENDPOINT_NAME}}", "gatewayNodeDescription" : "Installed through FlexDeploy. Version: ${{FD_PROJECT_VERSION}}", "listenIpAddress" : "${{FD_ENDPOINT_ADDRESS}}", "publishAddress" : "${{FD_ENDPOINT_ADDRESS}}", "nodeInstallDir" : "/opt/apiplatform/node", "gatewayExecutionMode" : "Development" }
- style