about summary refs log tree commit diff
path: root/boxfile.yml
diff options
context:
space:
mode:
authorDaniel Hunsaker <danhunsaker@gmail.com>2018-03-31 05:17:25 -0600
committerEugen Rochko <eugen@zeonfederated.com>2018-03-31 13:17:25 +0200
commit3886bfb5eb9e08bb5de61b1314c6cae1be3e5530 (patch)
treee1ab71f219572cb82451d08353552f341afa9df8 /boxfile.yml
parentfb3dc00ddab3f8c1af42ebc0520f6108cc40a1fc (diff)
[Nanobox] Enable ElasticSearch support by default (#6977)
Admins can still disable the feature by adding `ES_ENABLED=false` to their environment, if they prefer not to use it. Be sure to set the variable before you deploy!
Diffstat (limited to 'boxfile.yml')
-rw-r--r--boxfile.yml31
1 files changed, 31 insertions, 0 deletions
diff --git a/boxfile.yml b/boxfile.yml
index aa2003a1b..9368a7d9d 100644
--- a/boxfile.yml
+++ b/boxfile.yml
@@ -61,6 +61,11 @@ deploy.config:
   before_live:
     web.web:
       - bundle exec rake db:migrate:setup
+      - |-
+          if [[ "${ES_ENABLED}" != "false" ]]
+          then
+            bundle exec rake chewy:deploy
+          fi
 
 
 web.web:
@@ -208,6 +213,32 @@ data.db:
         done
 
 
+data.elastic:
+  image: nanobox/elasticsearch:5
+
+  cron:
+    - id: backup
+      schedule: '0 3 * * *'
+      command: |
+        id=$(cat /proc/sys/kernel/random/uuid)
+        curl -X PUT -H "Content-Type: application/json" "127.0.0.1:9200/_snapshot/${id}" -d "{\"type\": \"fs\",\"settings\": {\"location\": \"/var/tmp/${id}\",\"compress\": true}}"
+        curl -X PUT -H "Content-Type: application/json" "127.0.0.1:9200/_snapshot/${id}/backup?wait_for_completion=true&pretty"
+        tar -cz -C "/var/tmp/${id}" . |
+        curl -k -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/backup-${HOSTNAME}-$(date -u +%Y-%m-%d.%H-%M-%S).tgz -X POST -T - >&2
+        curl -X DELETE -H "Content-Type: application/json" "127.0.0.1:9200/_snapshot/${id}"
+        rm -rf "/var/tmp/${id}"
+        curl -k -s -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/ |
+        sed 's/,/\n/g' |
+        grep ${HOSTNAME} |
+        sort |
+        head -n-${BACKUP_COUNT:-1} |
+        sed 's/.*: \?"\(.*\)".*/\1/' |
+        while read file
+        do
+          curl -k -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/${file} -X DELETE
+        done
+
+
 data.redis:
   image: nanobox/redis:4.0