Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -40,29 +40,33 @@ user_groups = ["group:gcp-gemini-enterprise-users@customer-domain.com"]
enable_chrome_enterprise_premium = false
# KMS Key ID for CMEK encryption (must be in the same location as geolocation)
kms_key_id = "projects/prefx-main-xxx-x/locations/us/keyRings/prefx-gemini-keyring/cryptoKeys/prefx-gemini-key"
create_resource_keys = false # Set to true to create a separate key for resources in Greenfield

# Data Stores
create_data_stores = true

# GCS Data Stores (leave list empty [] if no GCS Data Stores are required)
gcs_data_store_names = ["company-docs", "knowledge-base", "team-playbooks"]
# GCS Data Stores (leave map empty {} if no GCS Data Stores are required)
gcs_data_store_configs = {
"company-docs" = {
name = "company-docs"
create_bucket = true
display_name = "Company Docs"
}
"knowledge-base" = {
name = "knowledge-base"
create_bucket = true
display_name = "Knowledge Base"
}
}

# BigQuery Data Stores (leave list empty [] if no BigQuery Data Stores are required)
bq_data_store_configs = [
{
dataset_id = "internal_wiki"
table_id = "articles_v2"
},
{
dataset_id = "product_data"
table_id = "specs_latest"
},
{
dataset_id = "support_tickets"
table_id = "tickets_archive"
},
]
# BigQuery Data Stores (leave map empty {} if no BigQuery Data Stores are required)
bq_data_store_configs = {
"internal-wiki" = {
dataset_id = "internal_wiki"
table_id = "articles_v2"
create_dataset = true
display_name = "Internal Wiki"
}
}

# Gemini Enterprise Application Load Balancer type ("internal" or "external")
# By default, "external" follows the CNAP architecture, which utilizes external ingress
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,12 +190,16 @@ resource "google_compute_forwarding_rule" "gemini_enterprise_forwarding_rule" {
target = google_compute_region_target_https_proxy.gemini_enterprise_https_proxy[0].id
}

# Data source to get the subnet created in stage-0
# Data source to get the subnet created in stage-0 or Shared VPC
data "google_compute_subnetwork" "gemini_enterprise_vpc_subnet" {
count = data.terraform_remote_state.stage_0.outputs.deployment_type == "internal" ? 1 : 0
project = data.terraform_remote_state.stage_0.outputs.main_project_id
name = "gemini-enterprise-vpc-subnet"
region = data.terraform_remote_state.stage_0.outputs.region
project = var.host_project_id != "" ? var.host_project_id : (
try(data.terraform_remote_state.stage_0.outputs.use_shared_vpc, false) ? data.terraform_remote_state.stage_0.outputs.network_project_id : data.terraform_remote_state.stage_0.outputs.main_project_id
)
name = var.subnet_name != "" ? var.subnet_name : (
try(data.terraform_remote_state.stage_0.outputs.use_shared_vpc, false) ? data.terraform_remote_state.stage_0.outputs.shared_vpc_subnet_name : "${data.terraform_remote_state.stage_0.outputs.prefix}-vpc-subnet"
)
region = data.terraform_remote_state.stage_0.outputs.region
}

# --- IAP Access Roles ---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,10 @@ variable "host_project_id" {
type = string
default = ""
}

variable "subnet_name" {
description = "The name of the subnetwork for internal load balancer deployments. If empty, falls back to stage 0 outputs or default."
type = string
default = ""
}

Loading