installNode

This operation installs a Gateway Node on endpoints configured with the resource 'Oracle API Platform Node Server' on the Target.  The operation requires a gateway-props.json file for configuration.  See the special considerations below for more information on the gateway-props.json file.

Target Properties

Property Name

Property Code

Required

Description

Property Name

Property Code

Required

Description

Oracle API Platform Account

FDOAP_CLOUD_ACCOUNT_CODE

Yes

The Oracle API Platform cloud account to use for this operation. 

Oracle Gateway Install Home

FDOAP_GATEWAY_INSTALL_HOME

Yes

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

Yes

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

Yes

Weblogic admin password to configure when creating the node.

Inputs

Input Name

Input Code

Required

Description

Input Name

Input Code

Required

Description

Gateway File

FDOAP_INP_GATEWAY_NODEPROPS_FILE

Yes

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

No

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

No

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

No

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

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 Target which have resource type of Oracle API Platform Node Server.

Endpoint Execution

This operation will select all available endpoints associated to the Target 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

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

Property Key

Derived Value

gatewayadminName

Node Weblogic User Target Property

gatewayadminPassword

Node Weblogic Password Target 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" }
The following macros are not currently supported in the footer:
  • style