diff --git a/Berksfile b/Berksfile index d5228b4..2256783 100644 --- a/Berksfile +++ b/Berksfile @@ -52,3 +52,4 @@ cookbook 'mariadb', '= 0.3.1' cookbook 'ipfs', git: 'https://github.com/67P/ipfs-cookbook.git', ref: 'v0.4.1' +cookbook 'elasticsearch', '= 4.2.0' diff --git a/Berksfile.lock b/Berksfile.lock index 78ada7a..fab450f 100644 --- a/Berksfile.lock +++ b/Berksfile.lock @@ -11,6 +11,7 @@ DEPENDENCIES chef_client_updater (= 1.1.1) compat_resource (= 12.19.0) composer (~> 2.6.1) + elasticsearch (= 4.2.0) firewall (~> 2.6.3) git (= 6.0.0) homebrew (= 3.0.0) @@ -89,6 +90,11 @@ GRAPH php (>= 0.0.0) windows (>= 0.0.0) dmg (4.1.1) + elasticsearch (4.2.0) + apt (>= 0.0.0) + ark (>= 0.0.0) + chef-sugar (>= 0.0.0) + yum (>= 0.0.0) firewall (2.6.5) chef-sugar (>= 0.0.0) git (6.0.0) diff --git a/site-cookbooks/kosmos-mastodon/metadata.rb b/site-cookbooks/kosmos-mastodon/metadata.rb index a718790..35695cb 100644 --- a/site-cookbooks/kosmos-mastodon/metadata.rb +++ b/site-cookbooks/kosmos-mastodon/metadata.rb @@ -4,7 +4,7 @@ maintainer_email 'mail@kosmos.org' license 'MIT' description 'Installs/Configures kosmos-mastodon' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '0.1.0' +version '0.2.0' depends "kosmos-nginx" depends "kosmos-nodejs" @@ -15,3 +15,4 @@ depends "application_javascript" depends "postgresql" depends "kosmos-postgresql" depends "backup" +depends "elasticsearch" diff --git a/site-cookbooks/kosmos-mastodon/recipes/default.rb b/site-cookbooks/kosmos-mastodon/recipes/default.rb index 99bd11d..f6a7f7d 100644 --- a/site-cookbooks/kosmos-mastodon/recipes/default.rb +++ b/site-cookbooks/kosmos-mastodon/recipes/default.rb @@ -28,6 +28,20 @@ include_recipe "kosmos-nodejs" include_recipe "kosmos-redis" include_recipe "kosmos-postgresql" +elasticsearch_user 'elasticsearch' + +elasticsearch_install 'elasticsearch' do + type 'package' + version '7.3.1' + download_checksum '570af7456603fd103408ed61ccec4473302976d46e1ff845b74a881122977e02' +end + +elasticsearch_configure 'elasticsearch' do + allocated_memory '512m' +end + +elasticsearch_service 'elasticsearch' + # TODO: Remove the condition once we have migrated mastodon to andromeda unless platform?('ubuntu') && node[:platform_version].to_f < 18.04 postgresql_data_bag_item = data_bag_item('credentials', 'postgresql') diff --git a/site-cookbooks/kosmos-mastodon/templates/default/env.production.erb b/site-cookbooks/kosmos-mastodon/templates/default/env.production.erb index d304c97..2c07e80 100644 --- a/site-cookbooks/kosmos-mastodon/templates/default/env.production.erb +++ b/site-cookbooks/kosmos-mastodon/templates/default/env.production.erb @@ -54,3 +54,8 @@ S3_REGION=<%= @s3_region %> # Web Push API VAPID_PRIVATE_KEY=<%= @vapid_private_key %> VAPID_PUBLIC_KEY=<%= @vapid_public_key %> + +# Elasticsearch +ES_ENABLED=true +ES_HOST=localhost +ES_PORT=9200