]> git.openstreetmap.org Git - chef.git/commitdiff
Introduce a node attribute for the ruby interpreter path
authorTom Hughes <tom@compton.nu>
Thu, 20 Feb 2025 18:59:55 +0000 (18:59 +0000)
committerTom Hughes <tom@compton.nu>
Fri, 21 Feb 2025 09:06:33 +0000 (09:06 +0000)
16 files changed:
cookbooks/letsencrypt/metadata.rb
cookbooks/letsencrypt/recipes/default.rb
cookbooks/letsencrypt/templates/default/check-certificate.erb [moved from cookbooks/letsencrypt/files/default/bin/check-certificate with 98% similarity, mode: 0644]
cookbooks/letsencrypt/templates/default/upload.erb [moved from cookbooks/letsencrypt/files/default/bin/upload with 92% similarity, mode: 0644]
cookbooks/overpass/templates/default/totp-filter.erb
cookbooks/passenger/templates/default/passenger.conf.erb
cookbooks/passenger/templates/default/ruby.erb
cookbooks/planet/recipes/replication.rb
cookbooks/planet/templates/default/planet-file-cleanup.erb
cookbooks/planet/templates/default/replicate-changesets.erb [moved from cookbooks/planet/files/default/replication-bin/replicate-changesets with 99% similarity]
cookbooks/prometheus/metadata.rb
cookbooks/prometheus/recipes/default.rb
cookbooks/ruby/attributes/default.rb
cookbooks/tile/templates/default/expire-tiles.erb
cookbooks/web/recipes/statistics.rb
cookbooks/web/templates/default/api-statistics.erb

index 52ef99f7ccb172343eefaa2df3b938e049557bf3..a826ce5e4534644aae5de424db07b23e98d04664 100644 (file)
@@ -9,3 +9,4 @@ supports          "ubuntu"
 depends           "accounts"
 depends           "apache"
 depends           "chef"
+depends           "ruby"
index 382a0a58cfb01b25a097f1fa3af639086dd05005..3e492f6afb7d9509d16f9fd84c0289b421b3b68e 100644 (file)
 include_recipe "accounts"
 include_recipe "apache"
 include_recipe "chef::knife"
+include_recipe "ruby"
 
 keys = data_bag_item("chef", "keys")
 
-package %w[
-  certbot
-  ruby
-]
+package "certbot"
 
 directory "/etc/letsencrypt" do
   owner "letsencrypt"
@@ -116,6 +114,13 @@ remote_directory "/srv/acme.openstreetmap.org/bin" do
   files_mode "755"
 end
 
+template "/srv/acme.openstreetmap.org/bin/upload" do
+  source "upload.erb"
+  owner "root"
+  group "root"
+  mode "755"
+end
+
 directory "/srv/acme.openstreetmap.org/requests" do
   owner "root"
   group "root"
@@ -168,6 +173,13 @@ Dir.glob("*", :base => "/srv/acme.openstreetmap.org/requests") do |name|
   end
 end
 
+template "/srv/acme.openstreetmap.org/bin/check-certificate" do
+  source "check-certificate.erb"
+  owner "root"
+  group "root"
+  mode "755"
+end
+
 template "/srv/acme.openstreetmap.org/bin/check-certificates" do
   source "check-certificates.erb"
   owner "root"
old mode 100755 (executable)
new mode 100644 (file)
similarity index 92%
rename from cookbooks/letsencrypt/files/default/bin/upload
rename to cookbooks/letsencrypt/templates/default/upload.erb
index a52f302..7700506
@@ -1,4 +1,4 @@
-#!/usr/bin/ruby
+#!<%= node[:ruby][:interpreter] %>
 
 require "json"
 require "tempfile"
index 8245f2ae3ace64ecf753526b3829313ca95e8675..78160cfe91e3cee5e6c91c8e553661e913986d0c 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/bin/ruby
+#!<%= node[:ruby][:interpreter] %>
 
 require "cgi"
 require "rotp"
index 97898cb67c2c1fceecc6d5a9664772115215d522..5533f8deb01b2a00ae02612e9566d3060afc1d50 100644 (file)
@@ -2,7 +2,7 @@
 
 <IfModule mod_passenger.c>
   PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
-  PassengerDefaultRuby /usr/bin/ruby
+  PassengerDefaultRuby <%= node[:ruby][:interpreter] %>
   PassengerRuby /usr/local/bin/passenger-ruby
   PassengerPreloadBundler on
   PassengerMaxPoolSize <%= node[:passenger][:max_pool_size] %>
index f45fd210eaa6d2f11844bb75baab50b5ecd8df00..2af922032d22c147e597364d38ddafbbb0709b95 100644 (file)
@@ -4,4 +4,4 @@ export RUBY_GC_HEAP_INIT_SLOTS=500000
 export RUBY_GC_HEAP_FREE_SLOTS=100000
 export RUBY_GC_MALLOC_LIMIT=50000000
 
-exec /usr/bin/ruby<%= node[:ruby][:version] %> "$@"
+exec <%= node[:ruby][:interpreter] %> "$@"
index d719d11ae519c33800a36865f501f8f8c61ced1c..f7552ddf226bee77270e61869f0024f8dfe8a8ba 100644 (file)
@@ -32,14 +32,18 @@ db_passwords = data_bag_item("db", "passwords")
 
 package %w[
   postgresql-client
-  ruby-libxml
   make
   gcc
   libc6-dev
   libpq-dev
+  libxml2-dev
   osmdbt
 ]
 
+gem_package "libxml-ruby" do
+  gem_binary node[:ruby][:gem]
+end
+
 gem_package "pg" do
   gem_binary node[:ruby][:gem]
 end
@@ -91,6 +95,13 @@ template "/usr/local/bin/users-deleted" do
   mode "755"
 end
 
+template "/usr/local/bin/replicate-changesets" do
+  source "replicate-changesets.erb"
+  owner "root"
+  group "root"
+  mode "755"
+end
+
 ## Published deleted users directory
 
 remote_directory "/store/planet/users_deleted" do
index 52ce686232f2d53e71990753d210b92b92e5ff65..1df8eb595569daea5e248b0b9bccb04ddf12350b 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/bin/ruby
+#!<%= node[:ruby][:interpreter] %>
 
 require 'date'
 require 'optparse'
similarity index 99%
rename from cookbooks/planet/files/default/replication-bin/replicate-changesets
rename to cookbooks/planet/templates/default/replicate-changesets.erb
index bb4544f68f2eeba005634632f1d1f605665bf4cf..e2e5aca68425aa99833733051c8edcc14281d2d6 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/ruby
+#!<%= node[:ruby][:interpreter] %>
 
 require "rubygems"
 require "pg"
index 30f20802db98a616fef3d1bd6a21f002fc538f2a..6148979b9bd5282754c2741d4a473acfcf5d80f6 100644 (file)
@@ -12,4 +12,3 @@ depends           "awscli"
 depends           "git"
 depends           "hardware"
 depends           "networking"
-depends           "ruby"
index c6b609b0692f78f4c816f459b9ac14a92bdb21f0..df3ec2ea5fe3499f4918f0324a232b950aa2b409 100644 (file)
@@ -19,7 +19,8 @@
 
 include_recipe "git"
 include_recipe "networking"
-include_recipe "ruby"
+
+package "ruby"
 
 if node.internal_ipaddress
   node.default[:prometheus][:mode] = "internal"
index eefaf22470bfc4397761f340ebc9c6eed1eeb047..69e52acc9c6ad1658c0916e41f81624d96393d1a 100644 (file)
@@ -5,5 +5,6 @@ default[:ruby][:version] = if platform?("debian")
                            else
                              "3.0"
                            end
+default[:ruby][:interpreter] = "/usr/bin/ruby#{node[:ruby][:version]}"
 default[:ruby][:gem] = "/usr/bin/gem#{node[:ruby][:version]}"
 default[:ruby][:bundle] = "/usr/bin/bundle#{node[:ruby][:version]}"
index b3a790f6a3f880111377d0c9ff787db750a24cf1..5bc47808253aa66d3fe490c769c30c3e99bca3f8 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/bin/ruby
+#!<%= node[:ruby][:interpreter] %>
 
 # DO NOT EDIT - This file is being maintained by Chef
 
index 84848b0030eb2f67437b0aded36782fc2d1ae60c..88c85a6fe7ba4d0bacb40423d65f65ac2986718b 100644 (file)
@@ -19,7 +19,6 @@
 
 include_recipe "web::base"
 
-ruby = "ruby#{node[:ruby][:version]}"
 rails_directory = "#{node[:web][:base_directory]}/rails"
 
 template "/usr/local/bin/statistics" do
@@ -27,7 +26,7 @@ template "/usr/local/bin/statistics" do
   owner "root"
   group "root"
   mode "755"
-  variables :ruby => ruby, :directory => rails_directory
+  variables :ruby => node[:ruby][:interpreter], :directory => rails_directory
 end
 
 systemd_service "web-statistics" do
index ce3af0b3430275a258e413236220ea0680dfaa96..b6425ec887d820d16b60513397de99d2f4caaa0b 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/bin/ruby
+#!<%= node[:ruby][:interpreter] %>
 
 require "apache_log_regex"
 require "file-tail"