diff --git a/ansible/playbooks/setup_mongo.yml b/ansible/playbooks/setup_mongo.yml index 53e4e3051..3ae5cdfa2 100644 --- a/ansible/playbooks/setup_mongo.yml +++ b/ansible/playbooks/setup_mongo.yml @@ -15,8 +15,8 @@ - {role: 'dnsmasq', tags: 'dnsmasq'} - {role: 'consul', tags: 'consul'} - {role: 'consul-client', tags: 'consul'} - - {role: 'node-exporter', tags: ['node-exporter', 'metrics']} - {role: 'mongo', tags: 'mongo'} + - {role: 'node-exporter', tags: ['node-exporter', 'metrics']} - {role: 'mongo-exporter', tags: 'mongo-exporter'} - {role: 'monitor', tags: 'monitor'} - - {role: 'benchmark', tags: 'benchmark'} + # - {role: 'benchmark', tags: 'benchmark'} diff --git a/ansible/roles/mongo/templates/mongo.conf b/ansible/roles/mongo/templates/mongo.conf index c68777da6..714fa3890 100644 --- a/ansible/roles/mongo/templates/mongo.conf +++ b/ansible/roles/mongo/templates/mongo.conf @@ -27,10 +27,10 @@ net: processManagement: timeZoneInfo: /usr/share/zoneinfo -# security: -# keyFile: /srv/newsblur/config/mongodb_keyfile.key -# authorization: enabled -# transitionToAuth: true +security: + keyFile: /srv/newsblur/config/mongodb_keyfile.key + authorization: enabled + # transitionToAuth: true operationProfiling: mode: slowOp diff --git a/terraform/digitalocean.tf b/terraform/digitalocean.tf index 18263a9f3..32a22adb3 100644 --- a/terraform/digitalocean.tf +++ b/terraform/digitalocean.tf @@ -441,22 +441,32 @@ resource "digitalocean_droplet" "db-mongo-secondary" { } } -# resource "digitalocean_droplet" "db-mongo-analytics" { -# image = var.droplet_os -# name = "db-mongo-analytics" -# region = var.droplet_region -# size = var.droplet_size -# ssh_keys = [digitalocean_ssh_key.default.fingerprint] -# provisioner "local-exec" { -# command = "/srv/newsblur/ansible/utils/generate_inventory.py; sleep 120" -# } -# provisioner "local-exec" { -# command = "cd ..; ansible-playbook -l ${self.name} ansible/playbooks/setup_root.yml" -# } -# provisioner "local-exec" { -# command = "cd ..; ansible-playbook -l ${self.name} ansible/setup.yml" -# } -# } +resource "digitalocean_volume" "mongo_analytics_volume" { + count = 1 + region = "nyc1" + name = "mongoanalytics" + size = 100 + initial_filesystem_type = "xfs" + description = "Storage for NewsBlur MongoDB Analytics" +} + +resource "digitalocean_droplet" "db-mongo-analytics" { + image = var.droplet_os + name = "db-mongo-analytics" + region = var.droplet_region + size = var.mongo_analytics_droplet_size + volume_ids = [digitalocean_volume.mongo_analytics_volume.0.id] + ssh_keys = [digitalocean_ssh_key.default.fingerprint] + provisioner "local-exec" { + command = "/srv/newsblur/ansible/utils/generate_inventory.py; sleep 120" + } + provisioner "local-exec" { + command = "cd ..; ansible-playbook -l ${self.name} ansible/playbooks/setup_root.yml" + } + provisioner "local-exec" { + command = "cd ..; ansible-playbook -l ${self.name} ansible/setup.yml" + } +} resource "digitalocean_volume" "metrics_volume" { count = 0 diff --git a/terraform/variables.tf b/terraform/variables.tf index 6b8389194..8deed83d9 100644 --- a/terraform/variables.tf +++ b/terraform/variables.tf @@ -1,3 +1,5 @@ +# doctl compute size list + variable "droplet_region" { type = string default = "nyc1" @@ -38,3 +40,8 @@ variable "mongo_secondary_droplet_size" { type = string default = "m-2vcpu-16gb" } + +variable "mongo_analytics_droplet_size" { + type = string + default = "s-2vcpu-4gb" +}