]> git.openstreetmap.org Git - chef.git/commitdiff
Add placeholder cookbook for community
authorGrant Slater <git@firefishy.com>
Wed, 14 Jul 2021 21:45:23 +0000 (22:45 +0100)
committerGrant Slater <git@firefishy.com>
Wed, 14 Jul 2021 21:48:28 +0000 (22:48 +0100)
cookbooks/community/README.md [new file with mode: 0644]
cookbooks/community/attributes/default.rb [new file with mode: 0644]
cookbooks/community/metadata.rb [new file with mode: 0644]
cookbooks/community/recipes/default.rb [new file with mode: 0644]
roles/community.rb [new file with mode: 0644]
roles/lockheed.rb

diff --git a/cookbooks/community/README.md b/cookbooks/community/README.md
new file mode 100644 (file)
index 0000000..97ee9be
--- /dev/null
@@ -0,0 +1,3 @@
+# Community Cookbook
+
+This installs and configures the community.openstreetmap.org website.
diff --git a/cookbooks/community/attributes/default.rb b/cookbooks/community/attributes/default.rb
new file mode 100644 (file)
index 0000000..68a98c7
--- /dev/null
@@ -0,0 +1 @@
+default[:accounts][:users][:community][:status] = :role
diff --git a/cookbooks/community/metadata.rb b/cookbooks/community/metadata.rb
new file mode 100644 (file)
index 0000000..fe35d43
--- /dev/null
@@ -0,0 +1,11 @@
+name              "community"
+maintainer        "OpenStreetMap Administrators"
+maintainer_email  "admins@openstreetmap.org"
+license           "Apache-2.0"
+description       "Installs and configures community site"
+
+version           "1.0.0"
+supports          "ubuntu"
+depends           "docker"
+depends           "git"
+depends           "ssl"
diff --git a/cookbooks/community/recipes/default.rb b/cookbooks/community/recipes/default.rb
new file mode 100644 (file)
index 0000000..5ad6e7a
--- /dev/null
@@ -0,0 +1,74 @@
+#
+# Cookbook:: community
+# Recipe:: default
+#
+# Copyright:: 2021, OpenStreetMap Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+include_recipe "docker"
+include_recipe "git"
+include_recipe "ssl"
+
+ssl_certificate "community.openstreetmap.org" do
+  domains ["community.openstreetmap.org", "community.osm.org"]
+end
+
+# passwords = data_bag_item("community", "passwords")
+
+# postgresql_user "community_user" do
+#   cluster node[:db][:cluster]
+#   password passwords["database"]
+# end
+
+# postgresql_database "community_db" do
+#   cluster node[:db][:cluster]
+#   owner "community_user"
+# end
+
+# postgresql_extension "hstore" do
+#   cluster node[:db][:cluster]
+#   database "community_db"
+# end
+
+# postgresql_extension "pg_trgm" do
+#   cluster node[:db][:cluster]
+#   database "community_db"
+# end
+
+directory "/srv/community.openstreetmap.org" do
+  owner "root"
+  group "root"
+  mode "755"
+end
+
+directory "/srv/community.openstreetmap.org/shared" do
+  owner "community"
+  group "community"
+  mode "755"
+end
+
+git "/srv/community.openstreetmap.org/docker" do
+  action :sync
+  repository "https://github.com/discourse/discourse_docker.git"
+  revision "master"
+  depth 1
+  user "root"
+  group "root"
+end
+
+# TBC: discourse docker templates
+#   web.ssl.template.yml
+#   redis.template.yml
+# TBC: discourse launcher rebuild
diff --git a/roles/community.rb b/roles/community.rb
new file mode 100644 (file)
index 0000000..c24e40f
--- /dev/null
@@ -0,0 +1,17 @@
+name "community"
+description "Role applied to all community servers"
+
+default_attributes(
+  :accounts => {
+    :users => {
+      :community => {
+        :status => :role,
+        :members => [:grant, :tomh]
+      }
+    }
+  }
+)
+
+run_list(
+  "recipe[community]"
+)
index f920f60539a2f4024e966ec446706c5533d03c6b..beefb2a859aa3fc848e42fbe03bae6624f91b312 100644 (file)
@@ -31,5 +31,6 @@ default_attributes(
 )
 
 run_list(
 )
 
 run_list(
-  "role[equinix]"
+  "role[equinix]",
+  "role[community]"
 )
 )