https://github.com/tritondatacenter/terraform-triton-presto
A Terraform module to create a Presto cluster integrated with Triton Object Storage (aka Manta).
https://github.com/tritondatacenter/terraform-triton-presto
joyent presto terraform-module triton
Last synced: 6 months ago
JSON representation
A Terraform module to create a Presto cluster integrated with Triton Object Storage (aka Manta).
- Host: GitHub
- URL: https://github.com/tritondatacenter/terraform-triton-presto
- Owner: TritonDataCenter
- License: mpl-2.0
- Created: 2017-12-22T00:34:22.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-03-30T19:44:54.000Z (over 7 years ago)
- Last Synced: 2025-02-15T19:45:25.567Z (8 months ago)
- Topics: joyent, presto, terraform-module, triton
- Language: Shell
- Homepage:
- Size: 26.4 KB
- Stars: 0
- Watchers: 14
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Triton Presto Terraform Module
A Terraform module to create a [Presto cluster](https://prestodb.io/) for
[Joyent's Triton Compute service](https://www.joyent.com/triton/compute), integrated with
[Triton Object Storage](https://www.joyent.com/triton/object-storage) (aka Manta).## Usage
```hcl
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}"
}```
## Examples
- [basic-with-provisioning](examples/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._## Resources created
- [`triton_machine.presto_coordinator`](https://www.terraform.io/docs/providers/triton/r/triton_machine.html): The Presto
coordinator machine.
- [`triton_machine.presto_worker`](https://www.terraform.io/docs/providers/triton/r/triton_machine.html): The Presto
worker machine(s).
- [`triton_firewall_rule.ssh_presto_coordinator`](https://www.terraform.io/docs/providers/triton/r/triton_firewall_rule.html): The firewall
rule(s) allowing SSH access FROM the bastion machine(s) TO the Presto coordinator.
- [`triton_firewall_rule.ssh_presto_worker`](https://www.terraform.io/docs/providers/triton/r/triton_firewall_rule.html): The firewall
rule(s) allowing SSH access FROM the bastion machine(s) TO the Presto workers.
- [`triton_firewall_rule.client_access_presto_coordinator`](https://www.terraform.io/docs/providers/triton/r/triton_firewall_rule.html): The
firewall rule(s) allowing access FROM client machines or addresses TO Presto coordinator web ports.
- [`triton_firewall_rule.http_presto_worker_to_coordinator`](https://www.terraform.io/docs/providers/triton/r/triton_firewall_rule.html): The
firewall rule(s) allowing access FROM Presto worker machines TO Presto coordinator web ports.
- [`triton_firewall_rule.http_presto_coordinator_to_worker`](https://www.terraform.io/docs/providers/triton/r/triton_firewall_rule.html): The
firewall rule(s) allowing access FROM Presto coordinator machines TO Presto worker web ports.
- [`triton_firewall_rule.http_worker_to_worker`](https://www.terraform.io/docs/providers/triton/r/triton_firewall_rule.html): The
firewall rule(s) allowing access FROM Presto worker machines TO Presto worker web ports.