Install FlexDeploy on existing Instance(Linux)

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

1 2 3 module "cloud" { source = "./modules/local" ...

Terrafrom script has been tested to work on Oracle Linux Server 7.8.  CentOs 7.8 and RedHat 7.8 theoretically should work, but have not been tested. Make sure you are running given versions on existing instance for the script to work.

Setup inputs for terrafrom.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.

If you wish to install the database on the same instance, simply put the same hostname for database and instance.

For Existing instances you need these:

1 2 3 existing_instance_hostname = "EXAMPLEHOSTNAME" existing_db_hostname = "EXAMPLEHOSTNAME" admin_user = "username"

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):

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 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

 

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:

1 2 db_password = "Password1_" db_fd_admin_password = "FDadminPassword1_"

Example for Oracle:

1 2 3 4 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.

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.

Example with only required inputs:

1 fd_version = "5.6.0.1"

More complex example:

1 2 3 4 5 6 7 8 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 is an example of all of this put together in terraform.tfvars

For Existing Instances with Postgres:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 existing_instance_hostname = "EXAMPLEHOSTNAME" existing_db_hostname = "EXAMPLEHOSTNAME" admin_user = "username" 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_password = "Password1_" db_fd_admin_password = "FDadminPassword1_" 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

1 terraform init

to set up terraform. Next, we will run

1 terraform plan

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

 

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

Next, we can run:

1 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:

1 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.