1. Creating Infrastructure Resources

You must create the infrastructure resources required for deploying Open Integration. This includes setting up infrastructure resources such as the Kubernetes cluster, Git repository, registry, Coherence Operator, and so on. This step initiates the creation of the infrastructure resources on which Open Integration will run. You can initiate the creation of infrastructure resources using the /infrastructure API:

  • Method: POST
  • Endpoint: /infrastructure
  • Description: Initiates the creation of the required infrastructure resources based on the input payload and returns an infrastructure ID, which will be used during the Open Integration deployment.
  • Sample API call request:
    POST https://<SCM_instance_IP>:<port_num>/scm/api/v1.0/infrastructure
    Authorization: Basic Auth
    Content-Type: application/json
  • Request payload structure:
    {
        "kubernetes": {
            "kubernetes_type": "BYO_OKE",
            "namespace": "<infra-namespace>",
            "byo_oke": {
                    "oke_cluster_id": "<oke-cluster-ocid>",
                    "oke_endpoint": "PRIVATE"
                }
            },
        "git": {
            "git_type": "byo_git",
            "byo_git": {
                "git_protocol_type": "https",
                "git_scm_repo_url": "https://<git-host>/<group>/<gitops-repo>.git",
                "git_scm_repo_branch": "<gitops-branch>",
                "git_scm_flux_folder": "<flux-folder>",
                "git_helm_repo_url": "https://<git-host>/<group>/<helm-repo>.git",
                "git_helm_repo_branch": "<helm-branch>",
                "git_user": "<git-user>",
                "git_accesstoken": "<git-token>",
                "git_selfsigned_cacert": "",
                "skip_flux_bootstrap": false
            }
        },
        "registry": {
            "registry_url": "<registry-host>",
            "registry_prefix": "<registry-prefix>",
            "registry_user": "<registry-user>",
            "registry_password": "<registry-password>"
        },
        "operators": [
            {
                "coherence_operator": true
            }
        ]
    }

    Optional Security Context

    You can optionally specify a security_context section at the top-level of the infrastructure provisioning payload when infrastructure resources and operators must run with custom non-root user ID and group ID. For example:

    {
        "security_context": {
            "run_as_user": <uid>,
            "run_as_group": <gid>,
            "fs_group": <fs_group_id>
        }
    }

    If you specify security_context, you must configure the following parameters:

    • run_as_user
    • run_as_group
    • fs_group

    On OpenShift, run_as_user must be within the range specified by the openshift.io/sa.scc.uid-range namespace annotation. The fs_group value must be the first ID in the range specified by the openshift.io/sa.scc.supplemental-groups namespace annotation.

    To determine valid values, inspect the namespace annotations and select a user ID from the uid-range annotation and the first group ID from the supplemental-groups annotation.

  • Sample response:
    {
       "data": {
          "infra_details": {
             "components_info": {
             "git": {
                "byo_git": {
                   "git_accesstoken": "********",
                   "git_helm_repo_branch": "DEMO_HELM",
                   "git_helm_repo_url": "https://devops. xxxxx.oci.oraclecloud.com/namespaces/siebeldev/projects/DEMO/repositories/DEMO_HELM",
                   "git_protocol_type": "http",
                   "git_scm_flux_folder": "flux1",
                   "git_scm_repo_branch": "DEMO_SCM",
                   "git_scm_repo_url": "https://devops.scmservice.xxxxx.oci.oraclecloud.com/namespaces/siebeldev/projects/DEMO/repositories/DEMO_SCM",
                   "git_user": "**********",
                   "skip_flux_bootstrap": false
                },
             "git_type": "byo_git"
             },
                "kubernetes": {
                   "byo_oke": {
                      "oke_cluster_id": "ocid1.cluster.oc1.xxxxx......",
                      "oke_endpoint": "PRIVATE"
                   },
                   "kubernetes_type": "BYO_OKE"
                },
                "registry": {
                   "registry_password": "********",
                   "registry_url": "iad.ocir.io",
                   "registry_prefix": "siebel_openint",
                   "registry_user": "******"
                }
             },
             "infra_id": "7OZMKQ",
             "infra_status": "creation-in-progress",
             "resource_status": {
                "git": "not-validated",
                "kubernetes": "not-validated",
                "registry": "not-validated"
             },
             "stages_info": [
             {
                "end_time": "Thu, 22 May 2025 06:54:38 GMT",
                "log_api_link": "",
                "log_location": "/home/opc/siebel/infrastructures/7OZMKQ/helm_setup.log",
                "name": "Setup Helm Chart for validation",
                "previous_status": "",
                "stage_name": "setup_validation_helmchart",
                "start_time": "Thu, 22 May 2025 06:54:27 GMT",
                "status": "passed"
             },
             {
                "end_time": "Thu, 22 May 2025 06:54:38 GMT",
                "log_api_link": "",
                "log_location": "/home/opc/siebel/infrastructures/7OZMKQ/helm_setup.log",
                "name": "Check Job status",
                "previous_status": "",
                "stage_name": "check_job_status_helmchart",
                "start_time": "Thu, 22 May 2025 06:54:27 GMT",
                "status": "in-progress"
             },
             {
                "end_time": "Thu, 22 May 2025 06:54:38 GMT",
                "log_api_link": "",
                "log_location": "",
                "name": "Collect Infra artifacts",
                "previous_status": "",
                "stage_name": "collect_infra_artifacts",
                "start_time": "Thu, 22 May 2025 06:54:27 GMT",
                "status": ""
             }
             ],
             "updated_values": {}
          }
          },
       "message": "Infrastructure details retrieved successfully.",
       "status": "success"
    }