Download the Terraform Modules and Set the Variables

The resources that are necessary to host Agile PLM application on Oracle Cloud are defined in Terraform modules. Download the modules and define your infrastructure resources in the Terraform configuration files that you can persist, version, and share. These files describe the steps required to provision your infrastructure and maintain its desired state. You can then execute these steps to build the described infrastructure.

Download the Terraform Modules

The Terraform modules for this solution is available on GitHub. You can find the path to the code in this document.

  1. In the navigation pane on the left, click Download Code.
  2. Click Git Repo.
  3. Clone or download the repository to your local computer.

Set Tenancy Variables

Specify the parameters required for Terraform to connect to the Oracle Cloud Infrastructure tenancy.

  1. Navigate to the Examples folder and select either Single_instance or Multiple_instance depending on the type of your architecture.
  2. Create a copy of terraform.tfvars.template and rename that file to terraform.tfvars.
  3. Open terraform.tfvars in a plain-text editor, and set values for the variables in it as follows:
    Variable Description
    tenancy_id The ID of the tenancy.You can find your tenancy's ID in the Oracle Cloud Infrastructure web console. Select Administration from the services menu, and then click Tenancy Details.
    user_id The ID of the user that you want Terraform to use to authenticate with Oracle Cloud Infrastructure.

    To find the user's ID, select Identity from the services menu, and then select Users. Locate your user name in the list, and copy its ID.

    fingerprint The fingerprint of the public API signing key that you uploaded.
    private_key_path The full path and name of the file that contains your private API signing key.
    region The region where you want to create the resources.
    db_admin_password Enter a password for the database admin user.

Set Infrastructure Variables

Specify the values required for Terraform to set up the infrastructure for Agile PLM. Specify SSH keys for the compute instances, network parameters, attributes of the bastion host, components details, and other common configuration. For example, you can specify how many application instances you require, whether you want all your resources to be created in a single availability domain or across two availability domains, what edition and version of database you want on your database systems, and so on.
  1. Navigate to the same folder as your terraform.tfvars file and open agile-plm-complex.auto.tfvars.
  2. Set values for the variables in agile-plm-complex.auto.tfvars. The following table contains all the variables that are required for either simple or complex architecture:
    Sections Variable Description
    Common configuration default_compartment_id The OCID of the compartment in which you want to create the resources.

    To find a compartment's OCID, select Identity from the services menu, and then select Compartments. Locate the compartment that you need in the list, and copy its OCID.

    default_ssh_auth_key The full path and name of the file containing the SSH public key for the private compute instances in the topology.
    ssh_private_key_path The full path and name of the file containing the SSH private key for the private compute instances in the topology.
    default_img_id The OCID of the Agile PLM custom image. This is the ID of your custom image and not the one that is available from the marketplace. If you do not have a custom image, you can set the value to null.
    default_img_name The name of the Agile PLM custom image. If you do not have a custom image, you can set the value to null.
    default_mkp_image_name Default Oracle Cloud Marketplace image name for Agile PLM.
    default_mkp_image_version Version of the Agile PLM Oracle Cloud Marketplace image.
    Database configuration provision_db Whether or not to provision Database Classic Cloud Service.
    dbcs_db_edition Name of the Database Classic Cloud Service edition.
    dbcs_instance_shape Define the shape for your Database Classic Cloud Service instance.
    Load balancers configuration provision_pub_lb Whether or not to provision a public load balancer.
    provision_priv_lb Whether or not to provision a private load balancer.
    lb_port Listening port for the load balancer.
    lb_ca_certificate The path to the load balancer root certificate.
    lb_private_key The path to the load balancer private certificate root key.
    lb_public_certificate The path to the load balancer public certificate.
    rule_sets Provide a unit of execution for rules.
    Bastion host configuration create_bastion Whether or not to create bastion and all of its resources (subnet/NSG/compute instance).
    bastion_image_name Name of the Bastion host.
    Application servers configuration as_num_inst Number of application server instances.
    as_instances_shape The shape of the application server instance, which specifies the number of CPUs and the allocation of memory.
    as_instances_boot_vol_size Boot volume size for your application server instance.
    as_aditional_block_volume_size Additional block volume size.
    as_aditional_block_volume_mount_point Location where the application server block volume is mounted.
    as_volumes_backup_policy Policy for volume backup, it can be generic service levels such as gold, silver, and bronze.
    as_prod_port The listen port for the first managed server on each host, which is 8001 by default.
    as_admin_port The HTTP listen port for the WebLogic administration server, which is 9001 by default.
    File Manager servers configuration fm_num_inst Number of file manager instances.
    fm_instances_shape The shape of the file manager instance, which specifies the number of CPUs and the allocation of memory.
    fm_instances_boot_vol_size Boot volume size for your file manager instance.
    fm_aditional_block_volume_size Additional block volume size.
    fm_aditional_block_volume_mount_point Location where the file manager block volume is mounted.
    fm_volumes_backup_policy Policy for volume backup, it can be generic service levels such as gold, silver, and bronze.
    fm_prod_port The listen port for the first managed server on each host, which is 8001 by default.
    Ansible server configuration in case if you decide to install. create_ansible Whether or not to create a framework for Ansible now so that you can install it at a later time.
    DNS servers configuration create_dns The on premise or external DNS service that receives request for the Agile PLM application.