]> git.openstreetmap.org Git - chef.git/blobdiff - roles/ironbelly.rb
Bring web site back online using karm
[chef.git] / roles / ironbelly.rb
index a3a94fc636041ab2c817341e05787f36f6cc2215..d5bb0ee33325b05dfb683cc9874d779777dcab0b 100644 (file)
@@ -2,6 +2,32 @@ name "ironbelly"
 description "Master role applied to ironbelly"
 
 default_attributes(
+  :apt => {
+    :sources => ["ubuntugis-unstable"]
+  },
+  :elasticsearch => {
+    :cluster => {
+      :routing => {
+        :allocation => {
+          :disk => {
+            :watermark => {
+              :low => "95%",
+              :high => "98%"
+            }
+          }
+        }
+      }
+    },
+    :path => {
+      :data => "/store/elasticsearch"
+    }
+  },
+  :git => {
+    :allowed_nodes => "*:*",
+    :user => "chefrepo",
+    :group => "chefrepo",
+    :backup => "chef-git"
+  },
   :networking => {
     :interfaces => {
       :internal_ipv4 => {
@@ -33,13 +59,86 @@ default_attributes(
         :peer => {
           :host => "ridley.openstreetmap.org"
         }
+      },
+      :aws2ic => {
+        :port => "1195",
+        :mode => "server",
+        :peer => {
+          :host => "fafnir.openstreetmap.org"
+        }
+      },
+      :ic2bm => {
+        :port => "1196",
+        :mode => "client",
+        :peer => {
+          :host => "grisu.openstreetmap.org",
+          :port => "1194"
+        }
+      }
+    }
+  },
+  :planet => {
+    :replication => "enabled"
+  },
+  :rsyncd => {
+    :modules => {
+      :hosts => {
+        :comment => "Host data",
+        :path => "/home/hosts",
+        :read_only => true,
+        :write_only => false,
+        :list => false,
+        :uid => "tomh",
+        :gid => "tomh",
+        :transfer_logging => false,
+        :hosts_allow => [
+          "212.110.172.32",                      # shenron
+          "2001:41c9:1:400::32",                 # shenron
+          "212.159.112.221"                      # grant
+        ]
+      },
+      :logs => {
+        :comment => "Log files",
+        :path => "/store/logs",
+        :read_only => false,
+        :write_only => true,
+        :list => false,
+        :uid => "www-data",
+        :gid => "www-data",
+        :transfer_logging => false,
+        :hosts_allow => [
+          "193.60.236.0/24",      # ucl external
+          "146.179.159.160/27",   # ic internal
+          "193.63.75.96/27",      # ic external
+          "2001:630:12:500::/64", # ic external
+          "10.0.32.0/20",         # bytemark internal
+          "89.16.162.16/28",      # bytemark external
+          "2001:41c9:2:d6::/64",  # bytemark external
+          "127.0.0.0/8",          # localhost
+          "::1"                   # localhost
+        ],
+        :nodes_allow => "roles:tilecache"
       }
     }
   }
-);
+)
 
 run_list(
   "role[ic]",
   "role[gateway]",
-  "recipe[openvpn]"
+  "role[chef-server]",
+  "role[chef-repository]",
+  "role[web-storage]",
+  "role[supybot]",
+  "role[backup]",
+  "role[stats]",
+  "role[planet]",
+  "role[planetdump]",
+  "role[logstash]",
+  "role[letsencrypt]",
+  "recipe[rsyncd]",
+  "recipe[openvpn]",
+  "recipe[git::server]",
+  "recipe[tilelog]",
+  "recipe[serverinfo]"
 )