]> git.openstreetmap.org Git - chef.git/blobdiff - roles/planet.rb
tile: use osm2pgsql-replication promethus
[chef.git] / roles / planet.rb
index ad9a7301ff2d5c16d307c9e0031f2e9972f9d9b2..4dd1f1d7476ec2cd3533c37280f0738f1427e129 100644 (file)
@@ -2,15 +2,36 @@ name "planet"
 description "Role applied to all planet servers"
 
 default_attributes(
 description "Role applied to all planet servers"
 
 default_attributes(
-  :accounts => {
-    :users => {
-      :bretth => { :status => :user },
-      :planet => {
-        :status => :administrator,
-        :members => [ :bretth ]
-      }
+  :apache => {
+    :mpm => "event",
+    :keepalive => true,
+    :event => {
+      :server_limit => 30,
+      :max_request_workers => 1000,
+      :threads_per_child => 50,
+      :min_spare_threads => 75,
+      :max_spare_threads => 525,
+      :listen_cores_buckets_ratio => 4
+    }
+  },
+  :networking => {
+    :firewall => {
+      :http_connection_limit => 10
     }
   },
     }
   },
+  :prometheus => {
+    :files => %w[
+      /store/planet/notes/planet-notes-latest.osn.bz2
+      /store/planet/pbf/planet-latest.osm.pbf
+      /store/planet/planet/changesets-latest.osm.bz2
+      /store/planet/planet/discussions-latest.osm.bz2
+      /store/planet/planet/planet-latest.osm.bz2
+      /store/planet/replication/changesets/state.yaml
+      /store/planet/replication/day/state.txt
+      /store/planet/replication/hour/state.txt
+      /store/planet/replication/minute/state.txt
+    ]
+  },
   :rsyncd => {
     :modules => {
       :planet => {
   :rsyncd => {
     :modules => {
       :planet => {
@@ -22,29 +43,31 @@ default_attributes(
         :uid => "nobody",
         :gid => "nogroup",
         :transfer_logging => false,
         :uid => "nobody",
         :gid => "nogroup",
         :transfer_logging => false,
-        :exclude => [ ".*" ],
+        :exclude => [".*"],
         :max_connections => 10,
         :ignore_errors => true,
         :ignore_nonreadable => true,
         :timeout => 3600,
         :max_connections => 10,
         :ignore_errors => true,
         :ignore_nonreadable => true,
         :timeout => 3600,
-        :refuse_options => [ "checksum" ]
+        :refuse_options => ["checksum"]
+      },
+      :statistics => {
+        :comment => "Statistics",
+        :path => "/store/planet/statistics",
+        :read_only => false,
+        :write_only => true,
+        :list => false,
+        :uid => "planet",
+        :gid => "planet",
+        :transfer_logging => false,
+        :nodes_allow => "roles:web-statistics"
       }
     }
       }
     }
-  },
-  :apache => {
-    :mpm => "event",
-    :keepalive => false,
-    :event => {
-      :server_limit => 20,
-      :max_clients => 1000,
-      :threads_per_child => 50
-    }
   }
 )
 
 run_list(
   }
 )
 
 run_list(
+  "role[web-db]",
   "recipe[planet]",
   "recipe[planet::replication]",
   "recipe[planet]",
   "recipe[planet::replication]",
-  "recipe[nfs::server]",
   "recipe[rsyncd]"
 )
   "recipe[rsyncd]"
 )