A Terraform module to create a Presto cluster for Joyent's Triton Compute service, integrated with Triton Object Storage (aka Manta).
data "triton_image" "ubuntu" {
name = "ubuntu-16.04"
type = "lx-dataset"
most_recent = true
}
data "triton_network" "public" {
name = "Joyent-SDC-Public"
}
data "triton_network" "private" {
name = "My-Fabric-Network"
}
module "bastion" {
source = "github.com/joyent/terraform-triton-bastion"
name = "presto-basic-with-provisioning"
image = "${data.triton_image.ubuntu.id}"
package = "g4-general-4G"
networks = [
"${data.triton_network.public.id}",
"${data.triton_network.private.id}",
]
}
module "presto" {
source = "../../"
name = "presto-basic-with-provisioning"
image = "${data.triton_image.ubuntu.id}"
package = "g4-general-4G"
networks = [
"${data.triton_network.private.id}",
]
provision = "true"
private_key_path = "${var.private_key_path}"
count_workers = "${var.count_workers}"
client_access = ["any"]
manta_url = "${var.manta_url}"
manta_user = "${var.manta_user}"
manta_key_id = "${var.manta_key_id}"
manta_key = "${var.manta_key}"
bastion_host = "${module.bastion.bastion_address}"
bastion_user = "${module.bastion.bastion_user}"
bastion_cns_service_name = "${module.bastion.bastion_cns_service_name}"
}
- basic-with-provisioning - Deploys a Presto coordinator, workers, and relevant
resources. Presto server will be provisioned by Terraform.
- Note: This method with Terraform provisioning is only recommended for prototyping and light testing.
triton_machine.presto_coordinator
: The Presto coordinator machine.triton_machine.presto_worker
: The Presto worker machine(s).triton_firewall_rule.ssh_presto_coordinator
: The firewall rule(s) allowing SSH access FROM the bastion machine(s) TO the Presto coordinator.triton_firewall_rule.ssh_presto_worker
: The firewall rule(s) allowing SSH access FROM the bastion machine(s) TO the Presto workers.triton_firewall_rule.client_access_presto_coordinator
: The firewall rule(s) allowing access FROM client machines or addresses TO Presto coordinator web ports.triton_firewall_rule.http_presto_worker_to_coordinator
: The firewall rule(s) allowing access FROM Presto worker machines TO Presto coordinator web ports.triton_firewall_rule.http_presto_coordinator_to_worker
: The firewall rule(s) allowing access FROM Presto coordinator machines TO Presto worker web ports.triton_firewall_rule.http_worker_to_worker
: The firewall rule(s) allowing access FROM Presto worker machines TO Presto worker web ports.