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:
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:
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):
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:
Example for Oracle:
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:
More complex example:
Putting it together
Here is an example of all of this put together in terraform.tfvars
For Existing Instances with Postgres:
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
to set up terraform. Next, we will run
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:
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:
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.
- style