You need to have deployed a Snapshot Schedule before launching this module(see example in the example folder)
SSH keys can be added GCP project wide with resource "google_compute_project_metadata" before calling the module, like this
resource "google_compute_project_metadata" "default" {
for_each = toset(["user:${file("./files/pubkey.pem.pub")}"])
project = data.google_project.gpc_indy_node.number
metadata = {
ssh-keys = each.value
}
}
module "gpc_indy_node" {
source = "github.com/CQEN-QDCE/terraform-google-indy-node"
count = 2
vpc_node_subnet_cidr = "10.0.1.0/24"
vpc_client_subnet_cidr = "10.0.2.0/24"
region = "us-central1"
node_name = "node-${count.index + 1}"
zone = data.google_compute_zones.available.names[count.index % length(data.google_compute_zones.available.names)]
os_image = data.google_compute_image.ubuntu.id
snapshot_schedule_policy_name = google_compute_resource_policy.snappolicy.name
ssh_firewall_allow_range = ["0.0.0.0/0"]
deletion_protection = false
}
No requirements.
Name | Version |
---|---|
n/a |
No modules.
Name | Type |
---|---|
google_compute_address.client_external | resource |
google_compute_disk.data_disk | resource |
google_compute_disk_resource_policy_attachment.data_disk | resource |
google_compute_firewall.firewall_client_port | resource |
google_compute_firewall.firewall_ssh | resource |
google_compute_firewall.nodes_access | resource |
google_compute_instance.indynode | resource |
google_compute_network.vpc_client_network | resource |
google_compute_network.vpc_node_network | resource |
google_compute_subnetwork.client | resource |
google_compute_subnetwork.node | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
client_port | Port used for communications to the client | number |
9702 |
no |
deletion_protection | true or false to activate delete_protection | bool |
n/a | yes |
node_name | n/a | string |
n/a | yes |
node_port | Port used for nodes communications | number |
9701 |
no |
os_image | name of the OS image to use | any |
n/a | yes |
region | region where to deploy | string |
n/a | yes |
snapshot_schedule_policy_name | snapshot policy name to associate with the Datadisk | string |
n/a | yes |
ssh_firewall_allow_range | list of IP's allowed to SSH in | list(string) |
n/a | yes |
vpc_client_subnet_cidr | Subnet CIDR for VPC Client | string |
n/a | yes |
vpc_node_subnet_cidr | Subnet CIDR for VPC Node | string |
n/a | yes |
zone | zone where to deploy | string |
n/a | yes |
No outputs.