Skip to content

ICCS-ISAC/terraform-google-indy-node

Repository files navigation

License


Notes

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
  }
}

Usage

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
}

Requirements

No requirements.

Providers

Name Version
google n/a

Modules

No modules.

Resources

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

Inputs

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

Outputs

No outputs.

About

Terraform module to deploy an Indy node on GCP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages