]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/prometheus/recipes/server.rb
Extend chef discourse/community management
[chef.git] / cookbooks / prometheus / recipes / server.rb
index 2e3ab53ade82e05141d0145f53a79b0bda709e61..0b6e2a0d2d13a6dfc7a3ef11aa255b5c510e966a 100644 (file)
@@ -103,7 +103,8 @@ package %w[
   prometheus-alertmanager
 ]
 
-promscale_version = "0.6.2"
+promscale_version = "0.10.0"
+promscale_extension_version = "0.3.2"
 
 database_version = node[:timescaledb][:database_version]
 database_cluster = "#{database_version}/main"
@@ -124,11 +125,17 @@ directory "/opt/promscale" do
   mode "755"
 end
 
-cookbook_file "/usr/lib/postgresql/#{database_version}/lib/promscale.so" do
-  source "postgresql-#{database_version}-promscale.so"
+remote_file "#{cache_dir}/promscale_extension.pg#{database_version}.x86_64.deb" do
+  source "https://github.com/timescale/promscale_extension/releases/download/#{promscale_extension_version}/promscale_extension-#{promscale_extension_version}.pg#{database_version}.x86_64.deb"
   owner "root"
   group "root"
   mode "644"
+  backup false
+end
+
+dpkg_package "promscale-extension-postgresql-#{database_version}" do
+  source "#{cache_dir}/promscale_extension.pg#{database_version}.x86_64.deb"
+  version "#{promscale_extension_version}-1"
 end
 
 directory "/opt/promscale/bin" do
@@ -149,8 +156,7 @@ systemd_service "promscale" do
   description "Promscale Connector"
   type "simple"
   user "prometheus"
-  exec_start "/opt/promscale/bin/promscale --db-uri postgresql:///promscale?host=/run/postgresql&port=5432 --db-connections-max 400"
-  # exec_start lazy { "/opt/promscale/bin/promscale --db-host /run/postgresql --db-port #{node[:postgresql][:clusters][database_cluster][:port]} --db-user prometheus --db-name promscale --db-max-connections 400" }
+  exec_start "/opt/promscale/bin/promscale --db.uri postgresql:///promscale?host=/run/postgresql&port=5432 --db.connections-max 400"
   limit_nofile 16384
   private_tmp true
   protect_system "strict"
@@ -301,6 +307,7 @@ service "prometheus" do
   action [:enable, :start]
   subscribes :reload, "template[/etc/prometheus/prometheus.yml]"
   subscribes :reload, "template[/etc/prometheus/alert_rules.yml]"
+  subscribes :restart, "archive_file[#{cache_dir}/prometheus.linux-amd64.tar.gz]"
 end
 
 systemd_service "prometheus-alertmanager-executable" do
@@ -320,6 +327,7 @@ end
 service "prometheus-alertmanager" do
   action [:enable, :start]
   subscribes :reload, "template[/etc/prometheus/alertmanager.yml]"
+  subscribes :restart, "archive_file[#{cache_dir}/alertmanager.linux-amd64.tar.gz]"
 end
 
 template "/etc/prometheus/amtool.yml" do
@@ -351,6 +359,7 @@ end
 service "prometheus-karma" do
   action [:enable, :start]
   subscribes :reload, "template[/etc/prometheus/karma.yml]"
+  subscribes :restart, "archive_file[#{cache_dir}/karma-linux-amd64.tar.gz]"
 end
 
 package "grafana-enterprise"