Initial Oracle Deep Data Security lab kit
This commit is contained in:
86
terraform/envs/demo/main.tf
Normal file
86
terraform/envs/demo/main.tf
Normal file
@@ -0,0 +1,86 @@
|
||||
resource "oci_identity_compartment" "lab" {
|
||||
count = var.create_compartment ? 1 : 0
|
||||
|
||||
compartment_id = var.compartment_ocid
|
||||
description = "Compartment for Oracle Deep Data Security lab"
|
||||
name = var.lab_compartment_name
|
||||
enable_delete = true
|
||||
freeform_tags = local.common_tags
|
||||
}
|
||||
|
||||
locals {
|
||||
lab_compartment_id = var.create_compartment ? oci_identity_compartment.lab[0].id : var.compartment_ocid
|
||||
|
||||
common_tags = merge(
|
||||
{
|
||||
project = "oracle-deep-data-security-lab"
|
||||
environment = var.environment
|
||||
owner = var.owner
|
||||
},
|
||||
var.freeform_tags
|
||||
)
|
||||
}
|
||||
|
||||
module "network" {
|
||||
source = "../../modules/network"
|
||||
|
||||
compartment_id = local.lab_compartment_id
|
||||
name_prefix = var.name_prefix
|
||||
vcn_cidr = var.vcn_cidr
|
||||
private_subnet_cidr = var.private_subnet_cidr
|
||||
public_subnet_cidr = var.public_subnet_cidr
|
||||
create_public_subnet = var.enable_compute_bastion
|
||||
adb_port = var.adb_port
|
||||
freeform_tags = local.common_tags
|
||||
}
|
||||
|
||||
module "vault" {
|
||||
count = var.enable_customer_managed_key ? 1 : 0
|
||||
source = "../../modules/vault"
|
||||
|
||||
compartment_id = local.lab_compartment_id
|
||||
name_prefix = var.name_prefix
|
||||
freeform_tags = local.common_tags
|
||||
}
|
||||
|
||||
module "autonomous_database" {
|
||||
source = "../../modules/autonomous_database"
|
||||
|
||||
compartment_id = local.lab_compartment_id
|
||||
db_name = var.adb_db_name
|
||||
display_name = var.adb_display_name
|
||||
admin_password = var.adb_admin_password
|
||||
db_workload = var.adb_workload
|
||||
db_version = var.adb_db_version
|
||||
compute_model = var.adb_compute_model
|
||||
compute_count = var.adb_compute_count
|
||||
data_storage_size_in_tbs = var.adb_data_storage_size_in_tbs
|
||||
is_auto_scaling_enabled = var.adb_auto_scaling_enabled
|
||||
license_model = var.adb_license_model
|
||||
subnet_id = module.network.private_subnet_id
|
||||
nsg_ids = [module.network.database_nsg_id]
|
||||
private_endpoint_label = var.adb_private_endpoint_label
|
||||
customer_managed_vault_id = var.enable_customer_managed_key ? module.vault[0].vault_id : null
|
||||
customer_managed_key_id = var.enable_customer_managed_key ? module.vault[0].key_id : null
|
||||
whitelisted_ips = []
|
||||
is_mtls_connection_required = true
|
||||
freeform_tags = local.common_tags
|
||||
}
|
||||
|
||||
module "compute_bastion" {
|
||||
count = var.enable_compute_bastion ? 1 : 0
|
||||
source = "../../modules/compute_bastion"
|
||||
|
||||
compartment_id = local.lab_compartment_id
|
||||
availability_domain = var.bastion_availability_domain
|
||||
display_name = "${var.name_prefix}-bastion"
|
||||
shape = var.bastion_shape
|
||||
ocpus = var.bastion_ocpus
|
||||
memory_in_gbs = var.bastion_memory_in_gbs
|
||||
image_ocid = var.bastion_image_ocid
|
||||
subnet_id = module.network.public_subnet_id
|
||||
nsg_ids = [module.network.app_nsg_id]
|
||||
ssh_public_key = var.bastion_ssh_public_key
|
||||
assign_public_ip = true
|
||||
freeform_tags = local.common_tags
|
||||
}
|
||||
Reference in New Issue
Block a user