Install FlexDeploy on Oracle cloud server

For the Oracle Cloud Infrastructure. cloud server, you’ll need to change the source of the cloud module. This is in the main.tf file in the root directory. For OCI it should look like this:

module "cloud" { source = "./modules/oci" ...

Setup inputs for terraform.tfvars

Inputs can be supplied using any of the methods supported by Terraform. However, we recommend using the .tfvars method. The following examples will use that format.

Provider-specific

The provider you have selected will require certain inputs unless you are running locally in which case you do not need any of these inputs.

For OCI you need these:

oci_tenancy_ocid = "ocid1.tenancy.oc1..EXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAM" oci_user_ocid = "ocid1.user.oc1..EXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAM" oci_fingerprint = "EX:AM:PL:EE:XA:MP:LE:EX:AM:PL:EE:XA:MP:LE" oci_private_key_path = "C:\\Users\\user\\documents\\oracleidentitycloudservice_example.user-01-01-70-00.pem"

optionally you can select the region. Default is us-ashburn-1.

oci_region = "us-ashburn-1"

SSH keys

SSH Keys can be provided or can be generated for you. We recommend you provide them so you can keep track of your own key. Here’s what it would look like to input a public and private key (both are required):

ssh_public_key = <<EOT ssh-rsa MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ51s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQAB EOT ssh_private_key = <<EOT -----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUp wmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5 1s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQABAoGAFijko56+qGyN8M0RVyaRAXz++xTqHBLh 3tx4VgMtrQ+WEgCjhoTwo23KMBAuJGSYnRmoBZM3lMfTKevIkAidPExvYCdm5dYq3XToLkkLv5L2 pIIVOFMDG+KESnAFV7l2c+cnzRMW0+b6f8mR1CJzZuxVLL6Q02fvLi55/mbSYxECQQDeAw6fiIQX GukBI4eMZZt4nscy2o12KyYner3VpoeE+Np2q+Z3pvAMd/aNzQ/W9WaI+NRfcxUJrmfPwIGm63il AkEAxCL5HQb2bQr4ByorcMWm/hEP2MZzROV73yF41hPsRC9m66KrheO9HPTJuo3/9s5p+sqGxOlF L0NDt4SkosjgGwJAFklyR1uZ/wPJjj611cdBcztlPdqoxssQGnh85BzCj/u3WqBpE2vjvyyvyI5k X6zk7S0ljKtt2jny2+00VsBerQJBAJGC1Mg5Oydo5NwD6BiROrPxGo2bpTbu/fhrT8ebHkTz2epl U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ 37sJ5QsW+sJyoNde3xH8vdXhzU7eT82D6X/scw9RZz+/6rCJ4p0= -----END RSA PRIVATE KEY----- EOT

If you want to have them generated for you, you can do so like this (again not recommended):

generate_key = true

Database Options

db_type is the type of database. Currently only supports ‘Postgres and ‘oracle’. Oracle requires the database and ojdbc files to be in the software folder. More on this under system requirements or below note. Default is Postgres.

db_password is the password for an administrator user for the database.

db_fd_admin_password is the password for the fd_admin user for the database.

db_port is which port the database will listen on. Recommended to be 5432 for Postgres and 1521 for Oracle. Default is 5432.

If you want to use the Oracle database, you need to have both the ojdbc8-full.tar.gz and LINUX.X64_193000_db_home.zip files located in a folder called software in the root directory of the script. ojdbc drivers are version 8. Database install is Oracle 19.3, Linux x64 version.

Example of database configuration for Postgres:

db_password = "Password1_" db_fd_admin_password = "FDadminPassword1_"

Example for Oracle:

db_type = "oracle" db_password = "Password1_" db_fd_admin_password = "FDadminPassword1_" db_port = 1521

Instance Options

fd_version the version of FlexDeploy. Usually, the latest is recommended. This is required.

fd_install_directory is where FlexDeploy should be installed to. Defaults to /u01/flexdeploy.

fd_repository_directory is where the FlexDeploy artifact repository is located. Defaults to /u01/flexdeploy/artifacts.

db_install_directory. Directory where to install the database. Default is /u02/database.

db_data_directory. Directory where to keep the data for the database. Default is /u03/dbdata.

install_temp_directory is where temporary files will be stored for installation. Defaults to /var/tmp/fdinstall.

use_one_instance will choose whether or not to install the database on the same instance as FlexDeploy. We do not recommend this for production environments. Default is false.

execute_locally chooses whether or not to install FlexDeploy locally. This is not recommended for production environments, since it installs both the database and FlexDeploy on the same instance.

is_windows chooses whether or not this is installing on windows. If you choose this it will work locally. Not recommended since this will install database and FlexDeploy on the same instance.

existing_instance_hostname is the hostname for an existing instance. If this option is set, it will execute against this hostname.

existing_database_hostname is the hostname for a database instance. If this option is set database install will execute against this instance.

admin_user is the admin user for the local install. Only required when executing locally.

Example with only required inputs:

fd_version = "5.6.0.1"

More complex example:

fd_version = "5.6.0.1" fd_install_directory = "/u02/flexdeploy" fd_repository_directory = "/u03/flexdeploy/repository" db_install_directory = "/u04/database" db_data_directory = "/u05/databasedata" install_temp_directory = "/tmp/fdinstall" existing_instance_hostname = "www.example.com" existing_database_hostname = "database.example.com"

Putting it together

Here are a few examples of all of this put together in terraform.tfvars

For OCI with oracle:

oci_tenancy_ocid = "ocid1.tenancy.oc1..EXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAM" oci_user_ocid = "ocid1.user.oc1..EXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAMPLEEXAM" oci_fingerprint = "EX:AM:PL:EE:XA:MP:LE:EX:AM:PL:EE:XA:MP:LE" oci_private_key_path = "C:\\Users\\user\\documents\\oracleidentitycloudservice_example.user-01-01-70-00.pem" oci_region = "us-ashburn-1" ssh_public_key = <<EOT ssh-rsa MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ51s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQAB EOT ssh_private_key = <<EOT -----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUp wmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5 1s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQABAoGAFijko56+qGyN8M0RVyaRAXz++xTqHBLh 3tx4VgMtrQ+WEgCjhoTwo23KMBAuJGSYnRmoBZM3lMfTKevIkAidPExvYCdm5dYq3XToLkkLv5L2 pIIVOFMDG+KESnAFV7l2c+cnzRMW0+b6f8mR1CJzZuxVLL6Q02fvLi55/mbSYxECQQDeAw6fiIQX GukBI4eMZZt4nscy2o12KyYner3VpoeE+Np2q+Z3pvAMd/aNzQ/W9WaI+NRfcxUJrmfPwIGm63il AkEAxCL5HQb2bQr4ByorcMWm/hEP2MZzROV73yF41hPsRC9m66KrheO9HPTJuo3/9s5p+sqGxOlF L0NDt4SkosjgGwJAFklyR1uZ/wPJjj611cdBcztlPdqoxssQGnh85BzCj/u3WqBpE2vjvyyvyI5k X6zk7S0ljKtt2jny2+00VsBerQJBAJGC1Mg5Oydo5NwD6BiROrPxGo2bpTbu/fhrT8ebHkTz2epl U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ 37sJ5QsW+sJyoNde3xH8vdXhzU7eT82D6X/scw9RZz+/6rCJ4p0= -----END RSA PRIVATE KEY----- EOT db_type = "oracle" db_password = "Password1_" db_fd_admin_password = "FDadminPassword1_" db_port = 1521 fd_version = "5.6.0.1"

Terraform commands to run

Place those options inside of a file called terraform.tfvars inside of the root directory of the script.

now that the input variables are all set, we will first run

terraform init

to set up terraform. Next, we will run

terraform plan

This will output showing everything that will be created. It will look similar to this for OCI install:

 

Read over this and make sure you are ok with all of these resources being created.

Next, we can run:

terraform apply

This will run the script and install everything necessary.

This can take quite some time to run depending on the specific configuration so please be patient.

Once it’s done you should see outputs that look similar to this:

 

You can see the URL to connect to FlexDeploy. Then you should be all set to launch FlexDeploy.

If something does not work correctly, or you are just done using this FlexDeploy instance you can run the following:

terraform destroy

This will destroy anything created in the cloud. It will not however undo any changes to existing servers.

Launch FlexDeploy

Launch FlexDeploy in your browser with the URL

  • http://hostname:8000/flexdeploy

  • You will need to complete Initial Registration process, where you will create admin user for login.

  • Go to Administration - Plugins on FlexDeploy. Verify that Plugins are loaded.

The following macros are not currently supported in the footer:
  • style