{"id":26802394,"url":"https://github.com/red5pro/terraform-oci-red5pro","last_synced_at":"2025-07-14T23:09:06.543Z","repository":{"id":213171401,"uuid":"679286646","full_name":"red5pro/terraform-oci-red5pro","owner":"red5pro","description":"Terraform module for Red5 Pro in OCI","archived":false,"fork":false,"pushed_at":"2025-06-19T22:05:27.000Z","size":198,"stargazers_count":0,"open_issues_count":1,"forks_count":2,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-06-19T23:19:27.009Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.red5.net","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/red5pro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-08-16T13:58:09.000Z","updated_at":"2025-06-19T22:05:31.000Z","dependencies_parsed_at":"2023-12-19T03:58:41.529Z","dependency_job_id":"401a8760-36f3-4331-aac4-6b55b574c69f","html_url":"https://github.com/red5pro/terraform-oci-red5pro","commit_stats":null,"previous_names":["red5pro/terraform-oci-red5pro"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/red5pro/terraform-oci-red5pro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red5pro%2Fterraform-oci-red5pro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red5pro%2Fterraform-oci-red5pro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red5pro%2Fterraform-oci-red5pro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red5pro%2Fterraform-oci-red5pro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/red5pro","download_url":"https://codeload.github.com/red5pro/terraform-oci-red5pro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/red5pro%2Fterraform-oci-red5pro/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265365700,"owners_count":23753380,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-29T21:17:58.162Z","updated_at":"2025-07-14T23:09:06.058Z","avatar_url":"https://github.com/red5pro.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform Module for Deploying Red5 Pro Oracle Cloud Infrastructure (OCI) - Stream Manager 2.0\n\n[Red5 Pro](https://www.red5.net/) is a real-time video streaming server plaform known for its low-latency streaming capabilities, making it ideal for interactive applications like online gaming, streaming events and video conferencing etc.\n\nThis is a reusable Terraform module that provisions infrastructure on [Oracle Cloud Infrastructure (OCI)](https://www.oracle.com/cloud/).\n\n## Preparation\n\n### Install Terraform\n\n- Visit the [Terraform download page](https://developer.hashicorp.com/terraform/downloads) and ensure you get version 1.7.5 or higher.\n- Download the suitable version for your operating system.\n- Extract the compressed file and copy the Terraform binary to a location within your system's PATH.\n- Configure PATH for **Linux/macOS**:\n  - Open a terminal and type the following command:\n\n    ```sh\n    sudo mv /path/to/terraform /usr/local/bin\n    ```\n\n- Configure PATH for **Windows**:\n  - Click 'Start', search for 'Control Panel', and open it.\n  - Navigate to `System \u003e Advanced System Settings \u003e Environment Variables`.\n  - Under System variables, find 'PATH' and click 'Edit'.\n  - Click 'New' and paste the directory location where you extracted the terraform.exe file.\n  - Confirm changes by clicking 'OK' and close all open windows.\n  - Open a new terminal and verify that Terraform has been successfully installed.\n\n  ```sh\n  terraform --version\n  ```\n\n### Install jq\n\n- Install **jq** (Linux or Mac OS only) [Download](https://jqlang.github.io/jq/download/)\n  - Linux: `apt install jq`\n  - MacOS: `brew install jq`\n  \u003e It is used in bash scripts to create/delete Stream Manager node group using API\n\n### Red5 Pro artifacts\n\n- Download Red5 Pro server build in your [Red5 Pro Account](https://account.red5.net/downloads). Example: `red5pro-server-0.0.0.b0-release.zip`\n- Get Red5 Pro License key in your [Red5 Pro Account](https://account.red5.net/downloads). Example: `1111-2222-3333-4444`\n\n### Install Oracle Cloud Infrastructure (OCI) CLI\n\n- [Installing the CLI](https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/cliinstall.htm)\n\n### Prepare OCI account\n\n- Create a User for Terraform module. User must have permission to create and manage the following services:\n  - Identity and Access Management Rights\n    - Virtual Cloud Networks\n    - Compute Instances\n    - Instance Configurations\n    - Autoscaling Configurations\n    - Load balancers\n    - OCI Certificates\n  - Generate API key for OCI user. [OCI Documentation](https://docs.oracle.com/en-us/iaas/Content/API/Concepts/apisigningkey.htm#two)\n  - Create an OCI compartment for Red5 Pro resources or use existing. [OCI Documentation](https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcompartments.htm#two)\n  - Obtain the necessary credentials and information:\n    - Tenancy OCID\n    - Compartment OCID\n    - User OCID\n    - API key Fingerprint\n    - API private key file\n\n## This module supports three variants of Red5 Pro deployments\n\n- **standalone** - Standalone Red5 Pro server\n- **cluster** - Stream Manager 2.0 cluster with autoscaling nodes\n- **autoscale** - Autoscaling Stream Managers 2.0 with autoscaling nodes\n\n### Standalone Red5 Pro server (standalone) - [Example](https://github.com/red5pro/terraform-oci-red5pro/tree/master/examples/standalone)\n\nIn the following example, Terraform module will automates the infrastructure provisioning of the [Red5 Pro standalone server](https://www.red5.net/docs/installation/).\n\n#### Terraform Deployed Resources (standalone)\n\n- VCN\n- Public subnet\n- Internet getaway\n- Route table\n- Security list\n- Security group for Standalone Red5 Pro server\n- SSH key pair (use existing or create a new one)\n- Standalone Red5 Pro server instance\n- SSL certificate for Standalone Red5 Pro server instance. Options:\n  - `none` - Red5 Pro server without HTTPS and SSL certificate. Only HTTP on port `5080`\n  - `letsencrypt` - Red5 Pro server with HTTPS and SSL certificate obtained by Let's Encrypt. HTTP on port `5080`, HTTPS on port `443`\n  - `imported` - Red5 Pro server with HTTPS and imported SSL certificate. HTTP on port `5080`, HTTPS on port `443`\n\n#### Example main.tf (standalone)\n\n```hcl\nterraform {\n  required_version = \"\u003e= 1.7.5\"\n  required_providers {\n    oci = {\n      source  = \"oracle/oci\"\n      version = \"\u003e= 6.16\"\n    }\n  }\n}\n\nprovider \"oci\" {\n  region           = \"us-ashburn-1\"\n  tenancy_ocid     = \"ocid1.tenancy.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n  user_ocid        = \"ocid1.user.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n  fingerprint      = \"00:11:22:33:44:55:66:77:aa:bb:cc:dd:ee:ff:gg:hh\"\n  private_key_path = \"./example_oracle_private_key.pem\"\n}\n\nmodule \"red5pro\" {\n  source                = \"red5pro/red5pro/oci\"\n  type                  = \"standalone\"                            # Deployment type: standalone, cluster, autoscale, vcn\n  name                  = \"red5pro-standalone\"                    # Name to be used on all the resources as identifier\n  path_to_red5pro_build = \"./red5pro-server-0.0.0.b0-release.zip\" # Absolute path or relative path to Red5 Pro server ZIP file\n\n  # Oracle Cloud Account Details\n  oracle_compartment_id = \"ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\" # Existing Compartment OCID of Oracle Cloud Account\n\n  # SSH key configuration\n  ssh_key_use_existing              = false                                              # true - use existing SSH key, false - create new SSH key\n  ssh_key_existing_private_key_path = \"/PATH/TO/SSH/PRIVATE/KEY/example_private_key.pem\" # Path to existing SSH private key\n  ssh_key_existing_public_key_path  = \"/PATH/TO/SSH/PUBLIC/KEY/example_pub_key.pem\"      # Path to existing SSH Public key\n\n  # Red5 Pro general configuration\n  red5pro_license_key = \"1111-2222-3333-4444\" # Red5 Pro license key (https://account.red5.net/login)\n  red5pro_api_enable  = true                  # true - enable Red5 Pro server API, false - disable Red5 Pro server API (https://www.red5.net/docs/development/api/overview/)\n  red5pro_api_key     = \"example_key\"         # Red5 Pro server API key (https://www.red5.net/docs/development/api/overview/)\n\n  # Standalone Red5 Pro server OCI instance configuration\n  standalone_red5pro_instance_type   = \"VM.Standard.E4.Flex\" # Instance type for Red5 Pro server\n  standalone_red5pro_instance_ocpu   = 2                     # Instance CPU for Red5 Pro server\n  standalone_red5pro_instance_memory = 4                     # Instance Memory for Red5 Pro server\n\n  # Standalone Red5 Pro server configuration\n  standalone_red5pro_inspector_enable                    = false                         # true - enable Red5 Pro server inspector, false - disable Red5 Pro server inspector (https://www.red5.net/docs/troubleshooting/inspector/overview/)\n  standalone_red5pro_restreamer_enable                   = false                         # true - enable Red5 Pro server restreamer, false - disable Red5 Pro server restreamer (https://www.red5.net/docs/special/restreamer/overview/)\n  standalone_red5pro_socialpusher_enable                 = false                         # true - enable Red5 Pro server socialpusher, false - disable Red5 Pro server socialpusher (https://www.red5.net/docs/special/social-media-plugin/overview/)\n  standalone_red5pro_suppressor_enable                   = false                         # true - enable Red5 Pro server suppressor, false - disable Red5 Pro server suppressor\n  standalone_red5pro_hls_enable                          = false                         # true - enable Red5 Pro server HLS, false - disable Red5 Pro server HLS (https://www.red5.net/docs/protocols/hls-plugin/hls-vod/)\n  standalone_red5pro_round_trip_auth_enable              = false                         # true - enable Red5 Pro server round trip authentication, false - disable Red5 Pro server round trip authentication (https://www.red5.net/docs/special/round-trip-auth/overview/)\n  standalone_red5pro_round_trip_auth_host                = \"round-trip-auth.example.com\" # Round trip authentication server host\n  standalone_red5pro_round_trip_auth_port                = 3000                          # Round trip authentication server port\n  standalone_red5pro_round_trip_auth_protocol            = \"http\"                        # Round trip authentication server protocol\n  standalone_red5pro_round_trip_auth_endpoint_validate   = \"/validateCredentials\"        # Round trip authentication server endpoint for validate\n  standalone_red5pro_round_trip_auth_endpoint_invalidate = \"/invalidateCredentials\"      # Round trip authentication server endpoint for invalidate\n\n  # Standalone Red5 Pro server HTTPS (SSL) certificate configuration\n  https_ssl_certificate = \"none\" # none - do not use HTTPS/SSL certificate, letsencrypt - create new Let's Encrypt HTTPS/SSL certificate, imported - use existing HTTPS/SSL certificate\n\n  # Example of Let's Encrypt HTTPS/SSL certificate configuration - please uncomment and provide your domain name and email\n  # https_ssl_certificate = \"letsencrypt\"\n  # https_ssl_certificate_domain_name = \"red5pro.example.com\"\n  # https_ssl_certificate_email = \"email@example.com\"\n\n  # Example of imported HTTPS/SSL certificate configuration - please uncomment and provide your domain name, certificate and key paths\n  # https_ssl_certificate             = \"imported\"\n  # https_ssl_certificate_domain_name = \"red5pro.example.com\"\n  # https_ssl_certificate_cert_path   = \"/PATH/TO/SSL/CERT/fullchain.pem\"\n  # https_ssl_certificate_key_path    = \"/PATH/TO/SSL/KEY/privkey.pem\"\n}\n\noutput \"module_output\" {\n  value = module.red5pro\n}\n```\n\n### Stream Manager 2.0 cluster with autoscaling nodes (cluster) - [Example](https://github.com/red5pro/terraform-oci-red5pro/tree/master/examples/cluster)\n\nIn the following example, Terraform module will automates the infrastructure provisioning of the Stream Manager 2.0 cluster with Red5 Pro (SM2.0) Autoscaling node group (origins, edges, transcoders, relays)\n\n#### Terraform Deployed Resources (cluster)\n\n- VCN\n- Public subnet\n- Internet getaway\n- Route table\n- Security list\n- Security group for Stream Manager 2.0\n- Security group for Kafka\n- Security group for Red5 Pro (SM2.0) Autoscaling nodes\n- SSH key pair (use existing or create a new one)\n- Standalone Kafka instance (optional).\n- Stream Manager 2.0 instance. Optionally include a Kafka server on the same instance.\n- SSL certificate for Stream Manager 2.0 instance. Options:\n  - `none` - Stream Manager 2.0 without HTTPS and SSL certificate. Only HTTP on port `80`\n  - `letsencrypt` - Stream Manager 2.0 with HTTPS and SSL certificate obtained by Let's Encrypt. HTTP on port `80`, HTTPS on port `443`\n  - `imported` - Stream Manager 2.0 with HTTPS and imported SSL certificate. HTTP on port `80`, HTTPS on port `443`\n- Red5 Pro (SM2.0) node instance image (origins, edges, transcoders, relays)\n- Red5 Pro (SM2.0) Autoscaling node group (origins, edges, transcoders, relays)\n\n#### Example main.tf (cluster)\n\n```hcl\nterraform {\n  required_version = \"\u003e= 1.7.5\"\n  required_providers {\n    oci = {\n      source  = \"oracle/oci\"\n      version = \"\u003e= 6.16\"\n    }\n  }\n}\n\nprovider \"oci\" {\n  region           = \"us-ashburn-1\"\n  tenancy_ocid     = \"ocid1.tenancy.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n  user_ocid        = \"ocid1.user.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n  fingerprint      = \"00:11:22:33:44:55:66:77:aa:bb:cc:dd:ee:ff:gg:hh\"\n  private_key_path = \"./example_oracle_private_key.pem\"\n}\n\nmodule \"red5pro\" {\n  source                = \"red5pro/red5pro/oci\"\n  type                  = \"cluster\"                               # Deployment type: standalone, cluster, autoscale, vcn\n  name                  = \"red5pro-cluster\"                       # Name to be used on all the resources as identifier\n  path_to_red5pro_build = \"./red5pro-server-0.0.0.b0-release.zip\" # Absolute path or relative path to Red5 Pro server ZIP file\n\n  # Oracle Cloud Account Details\n  oracle_compartment_id   = \"ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\" # Existing Compartment OCID of Oracle Cloud Account\n  oracle_tenancy_ocid     = \"ocid1.tenancy.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"     # Existing Tenancy OCID of Oracle Cloud Account\n  oracle_user_ocid        = \"ocid1.user.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"        # Existing User OCID of Oracle Cloud Account\n  oracle_fingerprint      = \"00:11:22:33:44:55:66:77:aa:bb:cc:dd:ee:ff:gg:hh\"                                     # Existing SSH based API key fingerprint of Oracle Cloud Account\n  oracle_private_key_path = \"./example_oracle_private_key.pem\"                                                    # Path to existing SSH private key of Oracle Cloud Account\n  oracle_region           = \"us-ashburn-1\"                                                                        # Current region code name of Oracle Cloud Account, https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm\n\n  # SSH key configuration\n  ssh_key_use_existing              = false                                              # true - use existing SSH key, false - create new SSH key\n  ssh_key_existing_private_key_path = \"/PATH/TO/SSH/PRIVATE/KEY/example_private_key.pem\" # Path to existing SSH private key\n  ssh_key_existing_public_key_path  = \"/PATH/TO/SSH/PUBLIC/KEY/example_pub_key.pem\"      # Path to existing SSH Public key\n\n  # Red5 Pro general configuration\n  red5pro_license_key = \"1111-2222-3333-4444\" # Red5 Pro license key (https://account.red5.net/login)\n  red5pro_api_enable  = true                  # true - enable Red5 Pro server API, false - disable Red5 Pro server API (https://www.red5.net/docs/development/api/overview/)\n  red5pro_api_key     = \"example_key\"         # Red5 Pro server API key (https://www.red5.net/docs/development/api/overview/)\n\n  # Stream Manager 2.0 instance configuration\n  stream_manager_instance_type        = \"VM.Standard.E4.Flex\"      # OCI Instance type for Stream Manager\n  stream_manager_instance_ocpu        = 4                          # OCI Instance OCPU Count for Stream Manager(1 OCPU = 2 vCPU)\n  stream_manager_instance_memory      = 16                         # OCI Instance Memory size in GB for Stream Manager\n  stream_manager_instance_volume_size = 50                         # Volume size in GB for Stream Manager (minimum 50GB)\n  stream_manager_auth_user            = \"example_user\"             # Stream Manager 2.0 authentication user name\n  stream_manager_auth_password        = \"example_password\"         # Stream Manager 2.0 authentication password\n  stream_manager_proxy_user           = \"example_proxy_user\"       # Stream Manager 2.0 proxy user name\n  stream_manager_proxy_password       = \"example_proxy_password\"   # Stream Manager 2.0 proxy password\n  stream_manager_spatial_user         = \"example_spatial_user\"     # Stream Manager 2.0 spatial user name\n  stream_manager_spatial_password     = \"example_spatial_password\" # Stream Manager 2.0 spatial password\n  stream_manager_version              = \"latest\"                   # Stream Manager 2.0 docker images version (latest, 14.1.0, 14.1.1, etc.) - https://hub.docker.com/r/red5pro/as-admin/tags\n\n  # Kafka standalone instance configuration - (Optional)\n  kafka_standalone_instance_create      = false                 # true - create new Kafka standalone instance, false - not create new Kafka standalone instance and use Kafka on the Stream Manager 2.0 instance\n  kafka_standalone_instance_type        = \"VM.Standard.E4.Flex\" # OCI Instance type for Kafka standalone instance\n  kafka_standalone_instance_ocpu        = 1                     # OCI Instance OCPU Count for Kafka standalone instance(1 OCPU = 2 vCPU)\n  kafka_standalone_instance_memory      = 16                    # OCI Instance Memory size in GB for Kafka standalone instance\n  kafka_standalone_instance_volume_size = 50                    # Volume size in GB for Kafka standalone instance (minimum 50GB)\n\n  # Stream Manager 2.0 server HTTPS (SSL) certificate configuration\n  https_ssl_certificate = \"none\" # none - do not use HTTPS/SSL certificate, letsencrypt - create new Let's Encrypt HTTPS/SSL certificate, imported - use existing HTTPS/SSL certificate\n\n  # Example of Let's Encrypt HTTPS/SSL certificate configuration - please uncomment and provide your domain name and email\n  # https_ssl_certificate = \"letsencrypt\"\n  # https_ssl_certificate_domain_name = \"red5pro.example.com\"\n  # https_ssl_certificate_email = \"email@example.com\"\n\n  # Example of imported HTTPS/SSL certificate configuration - please uncomment and provide your domain name, certificate and key paths\n  # https_ssl_certificate             = \"imported\"\n  # https_ssl_certificate_domain_name = \"red5pro.example.com\"\n  # https_ssl_certificate_cert_path   = \"/PATH/TO/SSL/CERT/fullchain.pem\"\n  # https_ssl_certificate_key_path    = \"/PATH/TO/SSL/KEY/privkey.pem\"\n\n  # Red5 Pro autoscaling Node image configuration\n  node_image_create          = true                  # Default: true for Autoscaling and Cluster, true - create new Red5 Pro Node image, false - do not create new Red5 Pro Node image\n  node_image_instance_type   = \"VM.Standard.E4.Flex\" # Instance type for Red5 Pro Node image\n  node_image_instance_ocpu   = 1                     # OCI Instance OCPU Count for Red5 Pro Node image (1 OCPU = 2 vCPU)\n  node_image_instance_memory = 4                     # OCI Instance Memory size in GB for Red5 Pro Node image\n\n  # Extra configuration for Red5 Pro autoscaling nodes\n  # Webhooks configuration - (Optional) https://www.red5.net/docs/special/webhooks/overview/\n  node_config_webhooks = {\n    enable           = false,\n    target_nodes     = [\"origin\", \"edge\", \"transcoder\"],\n    webhook_endpoint = \"https://test.webhook.app/api/v1/broadcast/webhook\"\n  }\n  # Round trip authentication configuration - (Optional) https://www.red5.net/docs/special/authplugin/simple-auth/\n  node_config_round_trip_auth = {\n    enable                   = false,\n    target_nodes             = [\"origin\", \"edge\", \"transcoder\"],\n    auth_host                = \"round-trip-auth.example.com\",\n    auth_port                = 443,\n    auth_protocol            = \"https://\",\n    auth_endpoint_validate   = \"/validateCredentials\",\n    auth_endpoint_invalidate = \"/invalidateCredentials\"\n  }\n  # Restreamer configuration - (Optional) https://www.red5.net/docs/special/restreamer/overview/\n  node_config_restreamer = {\n    enable               = false,\n    target_nodes         = [\"origin\", \"transcoder\"],\n    restreamer_tsingest  = true,\n    restreamer_ipcam     = true,\n    restreamer_whip      = true,\n    restreamer_srtingest = true\n  }\n  # Social Pusher configuration - (Optional) https://www.red5.net/docs/development/social-media-plugin/rest-api/\n  node_config_social_pusher = {\n    enable       = false,\n    target_nodes = [\"origin\", \"edge\", \"transcoder\"],\n  }\n\n  # Red5 Pro autoscaling Node group - (Optional) https://www.red5.net/docs/red5-pro/users-guide/stream-manager-2-0/stream-manager-2-node-group-config/\n  node_group_create                       = true                     # Linux or Mac OS only. true - create new Node group, false - not create new Node group\n  \n  node_group_origins_min                  = 1                         # Number of minimum Origins\n  node_group_origins_max                  = 20                        # Number of maximum Origins\n  node_group_origins_instance_type        = \"VM.Standard.E4.Flex-1-4\" # Origins OCI Instance Type(1 OCPU = 2 VCPUs) \u003cshape\u003e-\u003ccpu\u003e-\u003cmemory\u003e eg. VM.Standard.E4.Flex-1-4\n  node_group_origins_volume_size          = 50                        # Volume size in GB for Origins (minimum 50GB)\n  node_group_origins_connection_limit     = 20                        # Maximum number of publishers to the origin server\n  \n  node_group_edges_min                    = 1                         # Number of minimum Edges\n  node_group_edges_max                    = 40                        # Number of maximum Edges\n  node_group_edges_instance_type          = \"VM.Standard.E4.Flex-1-4\" # Edges OCI Instance Type(1 OCPU = 2 VCPUs) \u003cshape\u003e-\u003ccpu\u003e-\u003cmemory\u003e eg. VM.Standard.E4.Flex-1-4\n  node_group_edges_volume_size            = 50                        # Volume size in GB for Edges (minimum 50GB)\n  node_group_edges_connection_limit       = 200                       # Maximum number of subscribers to the edge server\n  \n  node_group_transcoders_min              = 0                         # Number of minimum Transcoders\n  node_group_transcoders_max              = 20                        # Number of maximum Transcoders\n  node_group_transcoders_instance_type    = \"VM.Standard.E4.Flex-1-4\" # Transcoders OCI Instance Type(1 OCPU = 2 VCPUs) \u003cshape\u003e-\u003ccpu\u003e-\u003cmemory\u003e eg. VM.Standard.E4.Flex-1-4\n  node_group_transcoders_volume_size      = 50                        # Volume size in GB for Transcoders (minimum 50GB)\n  node_group_transcoders_connection_limit = 20                        # Maximum number of publishers to the transcoder server\n  \n  node_group_relays_min                   = 0                         # Number of minimum Relays\n  node_group_relays_max                   = 20                        # Number of maximum Relays\n  node_group_relays_instance_type         = \"VM.Standard.E4.Flex-1-4\" # Relays OCI Instance Type(1 OCPU = 2 VCPUs) \u003cshape\u003e-\u003ccpu\u003e-\u003cmemory\u003e eg. VM.Standard.E4.Flex-1-4\n  node_group_relays_volume_size           = 50                        # Volume size in GB for Relays (minimum 50GB)\n}\n\noutput \"module_output\" {\n  value = module.red5pro\n}\n```\n\n### Autoscaling Stream Managers 2.0 with autoscaling nodes (autoscale) - [Example](https://github.com/red5pro/terraform-oci-red5pro/tree/master/examples/autoscale)\n\nIn the following example, Terraform module will automates the infrastructure provisioning of the Autoscale Stream Managers 2.0 with Red5 Pro (SM2.0) Autoscaling node group (origins, edges, transcoders, relays)\n\n#### Terraform Deployed Resources (autoscale)\n\n- VCN\n- Public subnet\n- Internet getaway\n- Route table\n- Security list\n- Security group for Stream Manager 2.0\n- Security group for Kafka\n- Security group for Red5 Pro (SM2.0) Autoscaling nodes\n- SSH key pair (use existing or create a new one)\n- Standalone Kafka instance\n- Stream Manager 2.0 instance image\n- Instance poll for Stream Manager 2.0 instances\n- Autoscaling configuration for Stream Manager 2.0 instances\n- Application Load Balancer for Stream Manager 2.0 instances.\n- SSL certificate for Application Load Balancer. Options:\n  - `none` - Load Balancer without HTTPS and SSL certificate. Only HTTP on port `80`\n  - `imported` - Load Balancer with HTTPS and imported SSL certificate. HTTP on port `80`, HTTPS on port `443`\n- Red5 Pro (SM2.0) node instance image (origins, edges, transcoders, relays)\n- Red5 Pro (SM2.0) Autoscaling node group (origins, edges, transcoders, relays)\n\n#### Example main.tf (autoscale)\n\n```hcl\nterraform {\n  required_version = \"\u003e= 1.7.5\"\n  required_providers {\n    oci = {\n      source  = \"oracle/oci\"\n      version = \"\u003e= 6.16\"\n    }\n  }\n}\n\nprovider \"oci\" {\n  region           = \"us-ashburn-1\"\n  tenancy_ocid     = \"ocid1.tenancy.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n  user_ocid        = \"ocid1.user.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n  fingerprint      = \"00:11:22:33:44:55:66:77:aa:bb:cc:dd:ee:ff:gg:hh\"\n  private_key_path = \"./example_oracle_private_key.pem\"\n}\n\nmodule \"red5pro\" {\n  source                = \"red5pro/red5pro/oci\"\n  type                  = \"autoscale\"                             # Deployment type: standalone, cluster, autoscale, vcn\n  name                  = \"red5pro-auto\"                          # Name to be used on all the resources as identifier\n  path_to_red5pro_build = \"./red5pro-server-0.0.0.b0-release.zip\" # Absolute path or relative path to Red5 Pro server ZIP file\n\n  # Oracle Cloud Account Details\n  oracle_compartment_id   = \"ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\" # Existing Compartment OCID of Oracle Cloud Account\n  oracle_tenancy_ocid     = \"ocid1.tenancy.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"     # Existing Tenancy OCID of Oracle Cloud Account\n  oracle_user_ocid        = \"ocid1.user.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"        # Existing User OCID of Oracle Cloud Account\n  oracle_fingerprint      = \"00:11:22:33:44:55:66:77:aa:bb:cc:dd:ee:ff:gg:hh\"                                     # Existing SSH based API key fingerprint of Oracle Cloud Account\n  oracle_private_key_path = \"./example_oracle_private_key.pem\"                                                    # Path to existing SSH private key of Oracle Cloud Account\n  oracle_region           = \"us-ashburn-1\"                                                                        # Current region code name of Oracle Cloud Account, https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm\n\n  # SSH key configuration\n  ssh_key_use_existing              = false                                              # true - use existing SSH key, false - create new SSH key\n  ssh_key_existing_private_key_path = \"/PATH/TO/SSH/PRIVATE/KEY/example_private_key.pem\" # Path to existing SSH private key\n  ssh_key_existing_public_key_path  = \"/PATH/TO/SSH/PUBLIC/KEY/example_pub_key.pem\"      # Path to existing SSH Public key\n\n  # Red5 Pro general configuration\n  red5pro_license_key = \"1111-2222-3333-4444\" # Red5 Pro license key (https://account.red5.net/login)\n  red5pro_api_enable  = true                  # true - enable Red5 Pro server API, false - disable Red5 Pro server API (https://www.red5.net/docs/development/api/overview/)\n  red5pro_api_key     = \"example_key\"         # Red5 Pro server API key (https://www.red5.net/docs/development/api/overview/)\n\n  # Stream Manager 2.0 instance configuration\n  stream_manager_instance_type                = \"VM.Standard.E4.Flex\"      # OCI Instance type for Stream Manager\n  stream_manager_instance_ocpu                = 4                          # OCI Instance OCPU Count for Stream Manager(1 OCPU = 2 vCPU)\n  stream_manager_instance_memory              = 16                         # OCI Instance Memory size in GB for Stream Manager\n  stream_manager_instance_volume_size         = 50                         # Volume size in GB for Stream Manager (minimum 50GB)\n  stream_manager_auth_user                    = \"example_user\"             # Stream Manager 2.0 authentication user name\n  stream_manager_auth_password                = \"example_password\"         # Stream Manager 2.0 authentication password\n  stream_manager_proxy_user                   = \"example_proxy_user\"       # Stream Manager 2.0 proxy user name\n  stream_manager_proxy_password               = \"example_proxy_password\"   # Stream Manager 2.0 proxy password\n  stream_manager_spatial_user                 = \"example_spatial_user\"     # Stream Manager 2.0 spatial user name\n  stream_manager_spatial_password             = \"example_spatial_password\" # Stream Manager 2.0 spatial password\n  stream_manager_version                      = \"latest\"                   # Stream Manager 2.0 docker images version (latest, 14.1.0, 14.1.1, etc.) - https://hub.docker.com/r/red5pro/as-admin/tags\n  stream_manager_autoscaling_desired_capacity = 1                          # Desired capacity for Stream Manager autoscaling group\n  stream_manager_autoscaling_minimum_capacity = 1                          # Min capacity for Stream Manager autoscaling group\n  stream_manager_autoscaling_maximum_capacity = 2                          # Max capacity for Stream Manager autoscaling group\n\n  # Kafka standalone instance configuration\n  kafka_standalone_instance_type        = \"VM.Standard.E4.Flex\" # OCI Instance type for Kafka standalone instance\n  kafka_standalone_instance_ocpu        = 1                     # OCI Instance OCPU Count for Kafka standalone instance(1 OCPU = 2 vCPU)\n  kafka_standalone_instance_memory      = 16                    # OCI Instance Memory size in GB for Kafka standalone instance\n  kafka_standalone_instance_volume_size = 50                    # Volume size in GB for Kafka standalone instance (minimum 50GB)\n\n  load_balancer_reserved_ip_use_existing = false     # true - use existing reserved IP for Load Balancer, false - create new reserved IP for Load Balancer, \n  load_balancer_reserved_ip_existing     = \"1.2.3.4\" # Reserved IP for Load Balancer\n\n  # Stream Manager 2.0 Load Balancer HTTPS (SSL) certificate configuration\n  https_ssl_certificate = \"none\" # none - do not use HTTPS/SSL certificate, imported - import existing HTTPS/SSL certificate\n\n  # Example of imported HTTPS/SSL certificate configuration - please uncomment and provide your domain name, certificate and key paths\n  # https_ssl_certificate             = \"imported\"\n  # https_ssl_certificate_domain_name = \"red5pro.example.com\"\n  # https_ssl_certificate_cert_path   = \"/PATH/TO/SSL/CERT/fullchain.pem\"\n  # https_ssl_certificate_key_path    = \"/PATH/TO/SSL/KEY/privkey.pem\"\n\n  # Red5 Pro autoscaling Node image configuration\n  node_image_create          = true                  # Default: true for Autoscaling and Cluster, true - create new Red5 Pro Node image, false - do not create new Red5 Pro Node image\n  node_image_instance_type   = \"VM.Standard.E4.Flex\" # Instance type for Red5 Pro Node image\n  node_image_instance_ocpu   = 1                     # OCI Instance OCPU Count for Red5 Pro Node image (1 OCPU = 2 vCPU)\n  node_image_instance_memory = 4                     # OCI Instance Memory size in GB for Red5 Pro Node image\n\n  # Extra configuration for Red5 Pro autoscaling nodes\n  # Webhooks configuration - (Optional) https://www.red5.net/docs/special/webhooks/overview/\n  node_config_webhooks = {\n    enable           = false,\n    target_nodes     = [\"origin\", \"edge\", \"transcoder\"],\n    webhook_endpoint = \"https://test.webhook.app/api/v1/broadcast/webhook\"\n  }\n  # Round trip authentication configuration - (Optional) https://www.red5.net/docs/special/authplugin/simple-auth/\n  node_config_round_trip_auth = {\n    enable                   = false,\n    target_nodes             = [\"origin\", \"edge\", \"transcoder\"],\n    auth_host                = \"round-trip-auth.example.com\",\n    auth_port                = 443,\n    auth_protocol            = \"https://\",\n    auth_endpoint_validate   = \"/validateCredentials\",\n    auth_endpoint_invalidate = \"/invalidateCredentials\"\n  }\n  # Restreamer configuration - (Optional) https://www.red5.net/docs/special/restreamer/overview/\n  node_config_restreamer = {\n    enable               = false,\n    target_nodes         = [\"origin\", \"transcoder\"],\n    restreamer_tsingest  = true,\n    restreamer_ipcam     = true,\n    restreamer_whip      = true,\n    restreamer_srtingest = true\n  }\n  # Social Pusher configuration - (Optional) https://www.red5.net/docs/development/social-media-plugin/rest-api/\n  node_config_social_pusher = {\n    enable       = false,\n    target_nodes = [\"origin\", \"edge\", \"transcoder\"],\n  }\n\n  # Red5 Pro autoscaling Node group - (Optional) https://www.red5.net/docs/red5-pro/users-guide/stream-manager-2-0/stream-manager-2-node-group-config/\n  node_group_create                       = true                     # Linux or Mac OS only. true - create new Node group, false - not create new Node group\n  \n  node_group_origins_min                  = 1                         # Number of minimum Origins\n  node_group_origins_max                  = 20                        # Number of maximum Origins\n  node_group_origins_instance_type        = \"VM.Standard.E4.Flex-1-4\" # Origins OCI Instance Type(1 OCPU = 2 VCPUs) \u003cshape\u003e-\u003ccpu\u003e-\u003cmemory\u003e eg. VM.Standard.E4.Flex-1-4\n  node_group_origins_volume_size          = 50                        # Volume size in GB for Origins (minimum 50GB)\n  node_group_origins_connection_limit     = 20                        # Maximum number of publishers to the origin server\n  \n  node_group_edges_min                    = 1                         # Number of minimum Edges\n  node_group_edges_max                    = 40                        # Number of maximum Edges\n  node_group_edges_instance_type          = \"VM.Standard.E4.Flex-1-4\" # Edges OCI Instance Type(1 OCPU = 2 VCPUs) \u003cshape\u003e-\u003ccpu\u003e-\u003cmemory\u003e eg. VM.Standard.E4.Flex-1-4\n  node_group_edges_volume_size            = 50                        # Volume size in GB for Edges (minimum 50GB)\n  node_group_edges_connection_limit       = 200                       # Maximum number of subscribers to the edge server\n  \n  node_group_transcoders_min              = 0                         # Number of minimum Transcoders\n  node_group_transcoders_max              = 20                        # Number of maximum Transcoders\n  node_group_transcoders_instance_type    = \"VM.Standard.E4.Flex-1-4\" # Transcoders OCI Instance Type(1 OCPU = 2 VCPUs) \u003cshape\u003e-\u003ccpu\u003e-\u003cmemory\u003e eg. VM.Standard.E4.Flex-1-4\n  node_group_transcoders_volume_size      = 50                        # Volume size in GB for Transcoders (minimum 50GB)\n  node_group_transcoders_connection_limit = 20                        # Maximum number of publishers to the transcoder server\n  \n  node_group_relays_min                   = 0                         # Number of minimum Relays\n  node_group_relays_max                   = 20                        # Number of maximum Relays\n  node_group_relays_instance_type         = \"VM.Standard.E4.Flex-1-4\" # Relays OCI Instance Type(1 OCPU = 2 VCPUs) \u003cshape\u003e-\u003ccpu\u003e-\u003cmemory\u003e eg. VM.Standard.E4.Flex-1-4\n  node_group_relays_volume_size           = 50                        # Volume size in GB for Relays (minimum 50GB)\n}\n\noutput \"module_output\" {\n  value = module.red5pro\n}\n```\n\n\u003e - WebRTC broadcast does not work in WEB browsers without an HTTPS (SSL) certificate.\n\u003e - To activate HTTPS/SSL, you need to add a DNS A record for the public IP address of your Red5 Pro server or Stream Manager 2.0.\n\n---\n\n## Stream Manager 2.0 cluster with autoscaling nodes (Cluster in Multi Region)\n\nIn the following example, Terraform module will automates the infrastructure provisioning of the Stream Manager 2.0 cluster with Red5 Pro (SM2.0) Autoscaling node group (origins, edges, transcoders, relays) in Multi Region\n\n### Terraform Deployed Resources (Cluster in Multi Region)\n\n#### Main region\n\n- VCN\n- Public subnet\n- Internet getaway\n- Route table\n- Security list\n- Security group for Stream Manager 2.0\n- Security group for Kafka\n- Security group for Red5 Pro (SM2.0) Autoscaling nodes\n- SSH key pair (use existing)\n- Standalone Kafka instance (optional).\n- Stream Manager 2.0 instance. Optionally include a Kafka server on the same instance.\n- SSL certificate for Stream Manager 2.0 instance. Options:\n  - `none` - Stream Manager 2.0 without HTTPS and SSL certificate. Only HTTP on port `80`\n  - `letsencrypt` - Stream Manager 2.0 with HTTPS and SSL certificate obtained by Let's Encrypt. HTTP on port `80`, HTTPS on port `443`\n  - `imported` - Stream Manager 2.0 with HTTPS and imported SSL certificate. HTTP on port `80`, HTTPS on port `443`\n- Red5 Pro (SM2.0) node instance image (origins, edges, transcoders, relays)\n\n#### Second region\n\n- VCN\n- Public subnet\n- Internet getaway\n- Route table\n- Security list\n- Security group for Red5 Pro (SM2.0) Autoscaling nodes\n- SSH key pair (use existing)\n- Red5 Pro (SM2.0) node instance image (origins, edges, transcoders, relays)\n\n### Example main.tf (Cluster in Multi Region)\n\n```hcl\nterraform {\n  required_version = \"\u003e= 1.7.5\"\n  required_providers {\n    oci = {\n      source  = \"oracle/oci\"\n      version = \"\u003e= 6.16\"\n    }\n  }\n}\n\nlocals {\n  name                  = \"red5pro-cluster\"\n  region_main           = \"us-ashburn-1\"\n  compartment_id        = \"ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n  tenancy_ocid          = \"ocid1.tenancy.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n  user_ocid             = \"ocid1.user.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n  fingerprint           = \"00:11:22:33:44:55:66:77:aa:bb:cc:dd:ee:ff:gg:hh\"\n  private_key_path      = \"./example_oracle_private_key.pem\"\n  ssh_private_key_path  = \"/PATH/TO/SSH/PRIVATE/KEY/example_private_key.pem\"\n  ssh_public_key_path   = \"/PATH/TO/SSH/PUBLIC/KEY/example_pub_key.pem\"\n  red5pro_license_key   = \"1111-2222-3333-4444\"\n  red5pro_api_enable    = true\n  red5pro_api_key       = \"example_key\"\n  path_to_red5pro_build = \"./red5pro-server-0.0.0.b0-release.zip\"\n}\n\n# Main OCI region where the Red5 Pro Stream Manager 2.0 cluster will be deployed\nprovider \"oci\" {\n  region           = local.region_main\n  tenancy_ocid     = local.tenancy_ocid\n  user_ocid        = local.user_ocid\n  fingerprint      = local.fingerprint\n  private_key_path = local.private_key_path\n}\n\n# Secondary OCI region where the VCN and Node images will be created\nprovider \"oci\" {\n  region           = \"eu-frankfurt-1\"\n  alias            = \"eu-frankfurt-1\"\n  tenancy_ocid     = local.tenancy_ocid\n  user_ocid        = local.user_ocid\n  fingerprint      = local.fingerprint\n  private_key_path = local.private_key_path\n}\n\nmodule \"red5pro\" {\n  source                = \"../../\"\n  type                  = \"cluster\"                   # Deployment type: standalone, cluster, autoscale, vcn, vcn\n  name                  = local.name                  # Name to be used on all the resources as identifier\n  path_to_red5pro_build = local.path_to_red5pro_build # Absolute path or relative path to Red5 Pro server ZIP file\n\n  # Oracle Cloud Account Details\n  oracle_compartment_id   = local.compartment_id   # Compartment OCID of Oracle Cloud Account\n  oracle_tenancy_ocid     = local.tenancy_ocid     # Tenancy OCID of Oracle Cloud Account\n  oracle_user_ocid        = local.user_ocid        # User OCID of Oracle Cloud Account\n  oracle_fingerprint      = local.fingerprint      # SSH based API key fingerprint of Oracle Cloud Account\n  oracle_private_key_path = local.private_key_path # Path to SSH private key of Oracle Cloud Account\n  oracle_region           = local.region_main      # Current region code name of Oracle Cloud Account, https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm\n\n  # SSH key configuration\n  ssh_key_use_existing              = true                       # true - use existing SSH key, false - create new SSH key\n  ssh_key_existing_private_key_path = local.ssh_private_key_path # Path to existing SSH Private key\n  ssh_key_existing_public_key_path  = local.ssh_public_key_path  # Path to existing SSH Public key\n\n  # Red5 Pro general configuration\n  red5pro_license_key = local.red5pro_license_key # Red5 Pro license key (https://www.red5.net/docs/development/installation/installation-guide/)\n  red5pro_api_enable  = local.red5pro_api_enable  # true - enable Red5 Pro API, false - disable Red5 Pro API\n  red5pro_api_key     = local.red5pro_api_key     # Red5 Pro API key (https://www.red5.net/docs/development/installation/installation-guide/)\n\n  # Stream Manager 2.0 instance configuration\n  stream_manager_instance_type        = \"VM.Standard.E4.Flex\"      # OCI Instance type for Stream Manager\n  stream_manager_instance_ocpu        = 4                          # OCI Instance OCPU Count for Stream Manager(1 OCPU = 2 vCPU)\n  stream_manager_instance_memory      = 16                         # OCI Instance Memory size in GB for Stream Manager\n  stream_manager_instance_volume_size = 50                         # Volume size in GB for Stream Manager (minimum 50GB)\n  stream_manager_auth_user            = \"example_user\"             # Stream Manager 2.0 authentication user name\n  stream_manager_auth_password        = \"example_password\"         # Stream Manager 2.0 authentication password\n  stream_manager_proxy_user           = \"example_proxy_user\"       # Stream Manager 2.0 proxy user name\n  stream_manager_proxy_password       = \"example_proxy_password\"   # Stream Manager 2.0 proxy password\n  stream_manager_spatial_user         = \"example_spatial_user\"     # Stream Manager 2.0 spatial user name\n  stream_manager_spatial_password     = \"example_spatial_password\" # Stream Manager 2.0 spatial password\n  stream_manager_version              = \"latest\"                   # Stream Manager 2.0 docker images version (latest, 14.1.0, 14.1.1, etc.) - https://hub.docker.com/r/red5pro/as-admin/tags\n\n  # Kafka standalone instance configuration - (Optional)\n  kafka_standalone_instance_create      = true                  # true - create new Kafka standalone instance, false - not create new Kafka standalone instance and use Kafka on the Stream Manager 2.0 instance\n  kafka_standalone_instance_type        = \"VM.Standard.E4.Flex\" # OCI Instance type for Kafka standalone instance\n  kafka_standalone_instance_ocpu        = 1                     # OCI Instance OCPU Count for Kafka standalone instance(1 OCPU = 2 vCPU)\n  kafka_standalone_instance_memory      = 16                    # OCI Instance Memory size in GB for Kafka standalone instance\n  kafka_standalone_instance_volume_size = 50                    # Volume size in GB for Kafka standalone instance (minimum 50GB)\n  kafka_public_ip                       = true                  # true - Kafka open on public IP, false - Kafka open on private IP\n\n  # Stream Manager 2.0 server HTTPS (SSL) certificate configuration\n  https_ssl_certificate = \"none\" # none - do not use HTTPS/SSL certificate, letsencrypt - create new Let's Encrypt HTTPS/SSL certificate, imported - use existing HTTPS/SSL certificate\n\n  # Example of Let's Encrypt HTTPS/SSL certificate configuration - please uncomment and provide your domain name and email\n  # https_ssl_certificate = \"letsencrypt\"\n  # https_ssl_certificate_domain_name = \"red5pro.example.com\"\n  # https_ssl_certificate_email = \"email@example.com\"\n\n  # Example of imported HTTPS/SSL certificate configuration - please uncomment and provide your domain name, certificate and key paths\n  # https_ssl_certificate             = \"imported\"\n  # https_ssl_certificate_domain_name = \"red5pro.example.com\"\n  # https_ssl_certificate_cert_path   = \"/PATH/TO/SSL/CERT/fullchain.pem\"\n  # https_ssl_certificate_key_path    = \"/PATH/TO/SSL/KEY/privkey.pem\"\n\n  # Red5 Pro autoscaling Node image configuration\n  node_image_create          = true                  # Default: true for Autoscaling and Cluster, true - create new Red5 Pro Node image, false - do not create new Red5 Pro Node image\n  node_image_instance_type   = \"VM.Standard.E4.Flex\" # Instance type for Red5 Pro Node image\n  node_image_instance_ocpu   = 1                     # OCI Instance OCPU Count for Red5 Pro Node image (1 OCPU = 2 vCPU)\n  node_image_instance_memory = 4                     # OCI Instance Memory size in GB for Red5 Pro Node image\n}\n\noutput \"module_output\" {\n  value = module.red5pro\n}\n\n######################################################################\n# Secondary OCI region where the VCN and Node images will be created\n######################################################################\n\nmodule \"red5pro_eu-frankfurt-1\" {\n  source                = \"./terraform-oci-red5pro\"\n  type                  = \"vcn\"                       # Deployment type: standalone, cluster, autoscale, vcn, vcn\n  name                  = local.name                  # Name to be used on all the resources as identifier\n  path_to_red5pro_build = local.path_to_red5pro_build # Absolute path or relative path to Red5 Pro server ZIP file\n\n  # Oracle Cloud Account Details\n  oracle_compartment_id = local.compartment_id\n  oracle_region         = \"eu-frankfurt-1\"\n\n  # SSH key configuration\n  ssh_key_use_existing              = true                       # true - use existing SSH key, false - create new SSH key\n  ssh_key_existing_private_key_path = local.ssh_private_key_path # Path to existing SSH Private key\n  ssh_key_existing_public_key_path  = local.ssh_public_key_path  # Path to existing SSH Public key\n\n  # Red5 Pro general configuration\n  red5pro_license_key = local.red5pro_license_key # Red5 Pro license key (https://www.red5.net/docs/development/installation/installation-guide/)\n  red5pro_api_enable  = local.red5pro_api_enable  # true - enable Red5 Pro API, false - disable Red5 Pro API\n  red5pro_api_key     = local.red5pro_api_key     # Red5 Pro API key (https://www.red5.net/docs/development/installation/installation-guide/)\n\n  # Red5 Pro autoscaling Node image configuration\n  node_image_create          = true                  # Default: true for Autoscaling and Cluster, true - create new Red5 Pro Node image, false - do not create new Red5 Pro Node image\n  node_image_instance_type   = \"VM.Standard.E4.Flex\" # Instance type for Red5 Pro Node image\n  node_image_instance_ocpu   = 1                     # OCI Instance OCPU Count for Red5 Pro Node image (1 OCPU = 2 vCPU)\n  node_image_instance_memory = 4                     # OCI Instance Memory size in GB for Red5 Pro Node image\n  node_image_stop_instance   = false\n\n  providers = {\n    oci = oci.eu-frankfurt-1\n  }\n}\n\noutput \"module_output_eu-frankfurt-1\" {\n  value = module.red5pro_eu-frankfurt-1\n}\n```\n\n---\n\u003e **Note:** In this deployment, you will need to create the Node Group configuration manually using `cURL`, `Swagger` or `Postman`.\n\n📄 Example config file: [`node-group-config-example.json`](examples/cluster-multiregion/node-group-config-example.json)  \n📚 Official documentation: [Red5 Pro – Create Node Group on OCI](https://www.red5.net/docs/red5-pro/users-guide/stream-manager-2-0/installation/oci/red5-pro-sm2-oci-create-node-group/)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fred5pro%2Fterraform-oci-red5pro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fred5pro%2Fterraform-oci-red5pro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fred5pro%2Fterraform-oci-red5pro/lists"}