Skip to content

Connect container to OCI Tenancy - Multiple Prefixes


Overview

The CD3 toolkit supports managing multiple OCI environments (such as Production, Development or QA) within a single container by using prefix-based configurations.

Each prefix represents an independent environment, enabling you to isolate resources and outputs, maintain separate configuration files, and run deployments without interference.


📌 Use Cases

This is particularly useful when:

  • Managing Prod and Non-Prod environments within the same container
  • Maintaining separate Terraform outputs for each environment
  • Running parallel or independent deployments


🛠️ Configuration Steps

1. Prepare the properties file:

   Update the connectOCI.properties file as described in Connect CD3 Container to OCI.

  • Assign a unique prefix for each environment.
    Example:
    demo_nonprod
    demo_prod

2. Customize Environment-Specific Parameters

   Each prefix can have its own configuration, such as:

  • Different outdir structures
  • Separate tenancy details etc.,

3. (Recommended) Use Separate properties Files

   Instead of modifying the same file repeatedly, create environment-specific copies:
      connectOCI_demo_prod.properties
      connectOCI_demo_nonprod.properties

   This helps preserve configuration history and simplify repeated executions.

4. Execute the Script

  • Run connectCloud.py using the appropriate properties file for each prefix.
    Example:
    python connectCloud.py oci connectOCI_demo_prod.properties
    python connectCloud.py oci connectOCI_demo_nonprod.properties


Multi Prefix with CLI

  • The container creates out directories under: /cd3user/tenancies/
  • Each prefix has its own isolated folder containing Configuration, Generated Terraform files and Environment-specific outputs

    CLI


Multi Prefix with Jenkins

  • The Jenkins dashboard appears as follows when configured with two prefixes.

    jenkins

Jenkins configuration for new prefix

  • If connectCloud.py has been run again for a new prefix, then first kill the existing jenkins process and start new after that.
  • Command to get Jenkins process id - ps -ef | grep jenkins
  • Command to kill - kill -9 <process_id>
  • Start Jenkins using - /usr/share/jenkins/jenkins.sh &