mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-10 16:45:51 +03:00
Merge pull request #140904 from dpausp/discourse-new-plugins
Discourse: add plugins: assign, chat-integration, docs, prometheus, saved-searches
This commit is contained in:
commit
b4ef544bcd
@ -3,16 +3,22 @@ let
|
|||||||
callPackage = newScope args;
|
callPackage = newScope args;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
discourse-assign = callPackage ./discourse-assign {};
|
||||||
discourse-calendar = callPackage ./discourse-calendar {};
|
discourse-calendar = callPackage ./discourse-calendar {};
|
||||||
discourse-canned-replies = callPackage ./discourse-canned-replies {};
|
discourse-canned-replies = callPackage ./discourse-canned-replies {};
|
||||||
|
discourse-chat-integration = callPackage ./discourse-chat-integration {};
|
||||||
discourse-checklist = callPackage ./discourse-checklist {};
|
discourse-checklist = callPackage ./discourse-checklist {};
|
||||||
discourse-data-explorer = callPackage ./discourse-data-explorer {};
|
discourse-data-explorer = callPackage ./discourse-data-explorer {};
|
||||||
|
discourse-docs = callPackage ./discourse-docs {};
|
||||||
discourse-github = callPackage ./discourse-github {};
|
discourse-github = callPackage ./discourse-github {};
|
||||||
discourse-ldap-auth = callPackage ./discourse-ldap-auth {};
|
discourse-ldap-auth = callPackage ./discourse-ldap-auth {};
|
||||||
discourse-math = callPackage ./discourse-math {};
|
discourse-math = callPackage ./discourse-math {};
|
||||||
discourse-migratepassword = callPackage ./discourse-migratepassword {};
|
discourse-migratepassword = callPackage ./discourse-migratepassword {};
|
||||||
discourse-openid-connect = callPackage ./discourse-openid-connect {};
|
discourse-openid-connect = callPackage ./discourse-openid-connect {};
|
||||||
|
discourse-prometheus = callPackage ./discourse-prometheus {};
|
||||||
|
discourse-saved-searches = callPackage ./discourse-saved-searches {};
|
||||||
discourse-solved = callPackage ./discourse-solved {};
|
discourse-solved = callPackage ./discourse-solved {};
|
||||||
discourse-spoiler-alert = callPackage ./discourse-spoiler-alert {};
|
discourse-spoiler-alert = callPackage ./discourse-spoiler-alert {};
|
||||||
|
discourse-voting = callPackage ./discourse-voting {};
|
||||||
discourse-yearly-review = callPackage ./discourse-yearly-review {};
|
discourse-yearly-review = callPackage ./discourse-yearly-review {};
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,17 @@
|
|||||||
|
{ lib, mkDiscoursePlugin, fetchFromGitHub }:
|
||||||
|
|
||||||
|
mkDiscoursePlugin {
|
||||||
|
name = "discourse-assign";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "discourse";
|
||||||
|
repo = "discourse-assign";
|
||||||
|
rev = "5124ba0f67e26a075f0a0fc8993273f1211d1c28";
|
||||||
|
sha256 = "1zd2irp5siza0vd5rlwzmjfvcdfw785988jc526xc741flazk1lr";
|
||||||
|
};
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/discourse/discourse-docs";
|
||||||
|
maintainers = with maintainers; [ dpausp ];
|
||||||
|
license = licenses.mit;
|
||||||
|
description = "Discourse Plugin for assigning users to a topic";
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
{ lib, mkDiscoursePlugin, fetchFromGitHub }:
|
||||||
|
|
||||||
|
mkDiscoursePlugin {
|
||||||
|
name = "discourse-chat-integration";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "discourse";
|
||||||
|
repo = "discourse-chat-integration";
|
||||||
|
rev = "8ade892b387f0ce843d5e78ef4a271b0d35847ff";
|
||||||
|
sha256 = "1qn1bm09i9gzmh74ws32zgc89hrqzyhmh63qvmv0h00r52rmgxvx";
|
||||||
|
};
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/discourse/discourse-chat-integration";
|
||||||
|
maintainers = with maintainers; [ dpausp ];
|
||||||
|
license = licenses.mit;
|
||||||
|
description = "This plugin integrates Discourse with a number of external chatroom systems";
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
{ lib, mkDiscoursePlugin, fetchFromGitHub }:
|
||||||
|
|
||||||
|
mkDiscoursePlugin {
|
||||||
|
name = "discourse-docs";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "discourse";
|
||||||
|
repo = "discourse-docs";
|
||||||
|
rev = "72cdd8d415ae3f797c0d5e2c857370714a42c54a";
|
||||||
|
sha256 = "07hvw8lpg8873vhwh8rrbml3s5hq606b7sw93r2xv38gxfhmx5lq";
|
||||||
|
};
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/discourse/discourse-docs";
|
||||||
|
maintainers = with maintainers; [ dpausp ];
|
||||||
|
license = licenses.mit;
|
||||||
|
description = "Find and filter knowledge base topics";
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
source "https://rubygems.org"
|
||||||
|
|
||||||
|
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
|
||||||
|
|
||||||
|
# gem "rails"
|
||||||
|
gem 'prometheus_exporter', '0.5.0'
|
@ -0,0 +1,13 @@
|
|||||||
|
GEM
|
||||||
|
remote: https://rubygems.org/
|
||||||
|
specs:
|
||||||
|
prometheus_exporter (0.5.0)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
ruby
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
prometheus_exporter (= 0.5.0)
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
2.1.4
|
@ -0,0 +1,26 @@
|
|||||||
|
{ lib, stdenv, mkDiscoursePlugin, fetchFromGitHub }:
|
||||||
|
|
||||||
|
mkDiscoursePlugin {
|
||||||
|
bundlerEnvArgs.gemdir = ./.;
|
||||||
|
name = "discourse-prometheus";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "discourse";
|
||||||
|
repo = "discourse-prometheus";
|
||||||
|
rev = "46260710e8770344af438f86b47409d864a1c499";
|
||||||
|
sha256 = "0nmpi0nysp59x4hyn1c3niypvxw1jkz86acb6m8acacw0c6682k2";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# The metrics collector tries to run git to get the commit id but fails
|
||||||
|
# because we don't run Discourse from a Git repository.
|
||||||
|
./no-git-version.patch
|
||||||
|
./spec-import-fix-abi-version.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/discourse/discourse-prometheus";
|
||||||
|
maintainers = with maintainers; [ dpausp ];
|
||||||
|
license = licenses.mit;
|
||||||
|
description = "Official Discourse Plugin for Prometheus Monitoring";
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
prometheus_exporter = {
|
||||||
|
groups = ["default"];
|
||||||
|
platforms = [];
|
||||||
|
source = {
|
||||||
|
remotes = ["https://rubygems.org"];
|
||||||
|
sha256 = "1kmabnxz466zqnyqlzc693ny4l7i0rxvmc0znswvizc0zg4pri80";
|
||||||
|
type = "gem";
|
||||||
|
};
|
||||||
|
version = "0.5.0";
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
diff --git a/lib/internal_metric/global.rb b/lib/internal_metric/global.rb
|
||||||
|
index 682571b..7bdd431 100644
|
||||||
|
--- a/lib/internal_metric/global.rb
|
||||||
|
+++ b/lib/internal_metric/global.rb
|
||||||
|
@@ -30,30 +30,7 @@ module DiscoursePrometheus::InternalMetric
|
||||||
|
@active_app_reqs = 0
|
||||||
|
@queued_app_reqs = 0
|
||||||
|
@fault_logged = {}
|
||||||
|
-
|
||||||
|
- begin
|
||||||
|
- @@version = nil
|
||||||
|
-
|
||||||
|
- out, error, status = Open3.capture3('git rev-parse HEAD')
|
||||||
|
-
|
||||||
|
- if status.success?
|
||||||
|
- @@version ||= out.chomp
|
||||||
|
- else
|
||||||
|
- raise error
|
||||||
|
- end
|
||||||
|
- rescue => e
|
||||||
|
- if defined?(::Discourse)
|
||||||
|
- Discourse.warn_exception(e, message: "Failed to calculate discourse_version_info metric")
|
||||||
|
- else
|
||||||
|
- STDERR.puts "Failed to calculate discourse_version_info metric: #{e}\n#{e.backtrace.join("\n")}"
|
||||||
|
- end
|
||||||
|
-
|
||||||
|
- @@retries ||= 10
|
||||||
|
- @@retries -= 1
|
||||||
|
- if @@retries < 0
|
||||||
|
- @@version = -1
|
||||||
|
- end
|
||||||
|
- end
|
||||||
|
+ @@version = -1
|
||||||
|
end
|
||||||
|
|
||||||
|
def collect
|
@ -0,0 +1,16 @@
|
|||||||
|
diff --git a/bin/collector b/bin/collector
|
||||||
|
index 4fec65e..e59eac7 100755
|
||||||
|
--- a/bin/collector
|
||||||
|
+++ b/bin/collector
|
||||||
|
@@ -3,8 +3,10 @@
|
||||||
|
|
||||||
|
Process.setproctitle("discourse prometheus-collector")
|
||||||
|
|
||||||
|
+# We need the ABI version {MAJOR}.{MINOR}.0 here.
|
||||||
|
+abi_version = ENV['GEM_PATH'].split("/")[-1]
|
||||||
|
version = File.read(File.expand_path("../../prometheus_exporter_version", __FILE__)).strip
|
||||||
|
-spec_file = File.expand_path("../../gems/#{RUBY_VERSION}/specifications/prometheus_exporter-#{version}.gemspec", __FILE__)
|
||||||
|
+spec_file = File.expand_path("../../gems/#{abi_version}/specifications/prometheus_exporter-#{version}.gemspec", __FILE__)
|
||||||
|
|
||||||
|
spec = Gem::Specification.load spec_file
|
||||||
|
spec.activate
|
@ -0,0 +1,17 @@
|
|||||||
|
{ lib, mkDiscoursePlugin, fetchFromGitHub }:
|
||||||
|
|
||||||
|
mkDiscoursePlugin {
|
||||||
|
name = "discourse-saved-searches";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "discourse";
|
||||||
|
repo = "discourse-saved-searches";
|
||||||
|
rev = "b59e0b60afdd5133e60c5cc6169f42f1edd746be";
|
||||||
|
sha256 = "0yhr7gx35q2nshvfxkplplkq73l7sgqlm8r3g1apniqicpk5flqy";
|
||||||
|
};
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/discourse/discourse-saved-searches";
|
||||||
|
maintainers = with maintainers; [ dpausp ];
|
||||||
|
license = licenses.mit;
|
||||||
|
description = "Allow users to save searches and be notified of new results";
|
||||||
|
};
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
{ lib, mkDiscoursePlugin, fetchFromGitHub }:
|
||||||
|
|
||||||
|
mkDiscoursePlugin {
|
||||||
|
name = "discourse-voting";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "discourse";
|
||||||
|
repo = "discourse-voting";
|
||||||
|
rev = "fc4d23174eba1a57ddcba93eaf4a4e75d469d4a4";
|
||||||
|
sha256 = "07mj667qn387kaafg475f36pgnannsrb2bdqi0zj487av43252qb";
|
||||||
|
};
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/discourse/discourse-voting";
|
||||||
|
maintainers = with maintainers; [ dpausp ];
|
||||||
|
license = licenses.gpl2Only;
|
||||||
|
description = "Adds the ability for voting on a topic within a specified category in Discourse";
|
||||||
|
};
|
||||||
|
}
|
@ -201,16 +201,24 @@ def update_plugins():
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
plugins = [
|
plugins = [
|
||||||
|
{'name': 'discourse-assign'},
|
||||||
{'name': 'discourse-calendar'},
|
{'name': 'discourse-calendar'},
|
||||||
{'name': 'discourse-canned-replies'},
|
{'name': 'discourse-canned-replies'},
|
||||||
|
{'name': 'discourse-chat-integration'},
|
||||||
{'name': 'discourse-checklist'},
|
{'name': 'discourse-checklist'},
|
||||||
{'name': 'discourse-data-explorer'},
|
{'name': 'discourse-data-explorer'},
|
||||||
|
{'name': 'discourse-docs'},
|
||||||
{'name': 'discourse-github'},
|
{'name': 'discourse-github'},
|
||||||
{'name': 'discourse-ldap-auth', 'owner': 'jonmbake'},
|
{'name': 'discourse-ldap-auth', 'owner': 'jonmbake'},
|
||||||
{'name': 'discourse-math'},
|
{'name': 'discourse-math'},
|
||||||
{'name': 'discourse-migratepassword', 'owner': 'discoursehosting'},
|
{'name': 'discourse-migratepassword', 'owner': 'discoursehosting'},
|
||||||
|
# We can't update this automatically at the moment because the plugin.rb
|
||||||
|
# tries to load a version number which breaks bundler called by this script.
|
||||||
|
# {'name': 'discourse-prometheus'},
|
||||||
|
{'name': 'discourse-saved-searches'},
|
||||||
{'name': 'discourse-solved'},
|
{'name': 'discourse-solved'},
|
||||||
{'name': 'discourse-spoiler-alert'},
|
{'name': 'discourse-spoiler-alert'},
|
||||||
|
{'name': 'discourse-voting'},
|
||||||
{'name': 'discourse-yearly-review'},
|
{'name': 'discourse-yearly-review'},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user