From a97118c489a59d723538292214efaa10dfcb96df Mon Sep 17 00:00:00 2001 From: =?utf8?q?Isma=C3=ABl=20Bouya?= Date: Tue, 16 Jun 2020 15:23:20 +0200 Subject: [PATCH] Add status engine website --- modules/private/default.nix | 2 + modules/private/environment.nix | 9 + modules/private/monitoring/default.nix | 4 +- modules/private/monitoring/objects_common.nix | 2 +- .../private/monitoring/plugins/check_command | 14 +- .../private/monitoring/plugins/check_emails | 6 +- .../private/monitoring/plugins/check_eriomem | 16 +- .../monitoring/plugins/check_ftp_database | 4 +- modules/private/monitoring/plugins/check_git | 17 +- .../monitoring/plugins/check_imap_connection | 4 +- .../monitoring/plugins/check_last_file_date | 6 +- .../plugins/check_mysql_replication | 6 +- .../plugins/check_openldap_replication | 6 +- .../private/monitoring/plugins/check_ovh_sms | 4 +- .../plugins/check_postgres_replication | 6 +- .../plugins/check_redis_replication | 6 +- modules/private/monitoring/status_engine.nix | 109 ++ modules/private/websites/default.nix | 1 + .../websites/tools/performance/default.nix | 89 + pkgs/default.nix | 6 + pkgs/gearmand/default.nix | 16 + pkgs/naemon/default.nix | 1 + pkgs/naemon/naemon.json | 6 +- pkgs/status_engine/host_perfdata.patch | 47 + pkgs/status_engine/interface.nix | 21 + pkgs/status_engine/interface_composer.lock | 1323 +++++++++++++++ pkgs/status_engine/interface_php_packages.nix | 217 +++ pkgs/status_engine/module.json | 15 + pkgs/status_engine/module.nix | 10 + pkgs/status_engine/worker.json | 15 + pkgs/status_engine/worker.nix | 25 + pkgs/status_engine/worker_composer.lock | 1457 +++++++++++++++++ pkgs/status_engine/worker_php_packages.nix | 217 +++ 33 files changed, 3643 insertions(+), 44 deletions(-) create mode 100644 modules/private/monitoring/status_engine.nix create mode 100644 modules/private/websites/tools/performance/default.nix create mode 100644 pkgs/gearmand/default.nix create mode 100644 pkgs/status_engine/host_perfdata.patch create mode 100644 pkgs/status_engine/interface.nix create mode 100644 pkgs/status_engine/interface_composer.lock create mode 100644 pkgs/status_engine/interface_php_packages.nix create mode 100644 pkgs/status_engine/module.json create mode 100644 pkgs/status_engine/module.nix create mode 100644 pkgs/status_engine/worker.json create mode 100644 pkgs/status_engine/worker.nix create mode 100644 pkgs/status_engine/worker_composer.lock create mode 100644 pkgs/status_engine/worker_php_packages.nix diff --git a/modules/private/default.nix b/modules/private/default.nix index 17dedd4..cf9dc85 100644 --- a/modules/private/default.nix +++ b/modules/private/default.nix @@ -84,6 +84,7 @@ set = { mastodonTool = ./websites/tools/mastodon; mgoblinTool = ./websites/tools/mgoblin; peertubeTool = ./websites/tools/peertube; + performanceTool = ./websites/tools/performance; toolsTool = ./websites/tools/tools; mailTool = ./websites/tools/mail; @@ -105,6 +106,7 @@ set = { ssh = ./ssh; monitoring = ./monitoring; status = ./monitoring/status.nix; + status_engine = ./monitoring/status_engine.nix; vpn = ./vpn; environment = ./environment.nix; diff --git a/modules/private/environment.nix b/modules/private/environment.nix index 82e3981..3a805c6 100644 --- a/modules/private/environment.nix +++ b/modules/private/environment.nix @@ -1020,6 +1020,15 @@ in }; }; }; + status_engine = mkOption { + description = "Status Engine configuration"; + type = submodule { + options = { + mysql = mkMysqlOptions "StatusEngine" {}; + ldap = mkLdapOptions "StatusEngine" {}; + }; + }; + }; task = mkOption { description = "Taskwarrior configuration"; type = submodule { diff --git a/modules/private/monitoring/default.nix b/modules/private/monitoring/default.nix index 349ba8a..8ae0b30 100644 --- a/modules/private/monitoring/default.nix +++ b/modules/private/monitoring/default.nix @@ -241,7 +241,6 @@ in services.naemon = { enable = true; extraConfig = '' - broker_module=${pkgs.naemon-livestatus}/lib/naemon-livestatus/livestatus.so ${config.services.naemon.runDir}/live use_syslog=1 log_initial_states=1 date_format=iso8601 @@ -249,6 +248,9 @@ in '' + lib.optionalString (!cfg.master) '' obsess_over_services=1 ocsp_command=notify-master + '' + lib.optionalString (cfg.master) '' + broker_module=${pkgs.naemon-livestatus}/lib/naemon-livestatus/livestatus.so ${config.services.naemon.runDir}/live + broker_module=${pkgs.status_engine.module}/lib/status-engine/naemon/statusengine-${pkgs.naemon.status_engine_version}.o use_service_perfdata=1 use_process_data=0 use_system_command_data=0 use_external_command_data=0 use_flapping_data=0 use_program_status_data=0 use_notification_data=0 use_contact_status_data=0 use_contact_notification_data=0 use_event_handler_data=0 use_object_data=0 ''; extraResource = '' $USER2$=${myplugins} diff --git a/modules/private/monitoring/objects_common.nix b/modules/private/monitoring/objects_common.nix index e9b1b51..2585c38 100644 --- a/modules/private/monitoring/objects_common.nix +++ b/modules/private/monitoring/objects_common.nix @@ -133,7 +133,7 @@ in notify-service-by-email = "ADMINEMAIL=\"$ADMINEMAIL$\" SERVICENOTIFICATIONID=\"$SERVICENOTIFICATIONID$\" SERVICEDESC=\"$SERVICEDESC$\" SERVICESTATE=\"$SERVICESTATE$\" SERVICEOUTPUT=\"$SERVICEOUTPUT$\" $USER2$/notify_by_email service \"$NOTIFICATIONTYPE$\" \"$HOSTALIAS$\" \"$LONGDATETIME$\" \"$CONTACTEMAIL$\" $OVE"; notify-by-slack = "HOST=\"$HOSTALIAS$\" SERVICESTATE=\"$SERVICESTATE$\" SERVICEDESC=\"$SERVICEDESC$\" SERVICEOUTPUT=\"$SERVICEOUTPUT$\" $USER2$/notify_by_slack \"$ARG1$\" \"$ARG2$\""; - notify-master = "$USER2$/send_nrdp.sh -u \"$USER200$\" -t \"$USER201$\" -H \"$HOSTADDRESS$\" -s \"$SERVICEDESC$\" -S \"$SERVICESTATEID$\" -o \"$SERVICEOUTPUT$\""; + notify-master = "$USER2$/send_nrdp.sh -u \"$USER200$\" -t \"$USER201$\" -H \"$HOSTADDRESS$\" -s \"$SERVICEDESC$\" -S \"$SERVICESTATEID$\" -o \"$SERVICEOUTPUT$ | $SERVICEPERFDATA$\""; }; timeperiod = { "24x7" = { diff --git a/modules/private/monitoring/plugins/check_command b/modules/private/monitoring/plugins/check_command index 55779fd..2b546c1 100755 --- a/modules/private/monitoring/plugins/check_command +++ b/modules/private/monitoring/plugins/check_command @@ -57,30 +57,30 @@ if ($other_command ne '') { chomp($cmd_result); if ($cmd_result =~ /sudo/i) { - print "$command CRITICAL - No sudo right to run the command\n"; + print "$command CRITICAL - No sudo right to run the command | result=1;;;;\n"; exit($STATE_UNKNOWN); } elsif ($expected_status ne '') { if ($? != $expected_status) { - print "$command CRITICAL - Response status $?\n"; + print "$command CRITICAL - Response status $? | result=1;;;;\n"; exit($STATE_CRITICAL); } else { - print "$command OK - Response status $?\n"; + print "$command OK - Response status $? | result=0;;;;\n"; exit($STATE_OK); } } elsif ($other_command ne '') { if ($cmd_result ne $other_cmd_result) { - print "$command CRITICAL - Expected output not matching other command output\n"; + print "$command CRITICAL - Expected output not matching other command output | result=1;;;;\n"; exit($STATE_CRITICAL); } else { - print "$command OK - Expected output matching other command output\n"; + print "$command OK - Expected output matching other command output | result=0;;;;\n"; exit($STATE_OK); } } else { if ($cmd_result !~ /$expected_output/) { - print "$command CRITICAL - Expected output not matching\n"; + print "$command CRITICAL - Expected output not matching | result=1;;;;\n"; exit($STATE_CRITICAL); } else { - print "$command OK - Expected output matching\n"; + print "$command OK - Expected output matching | result=0;;;;\n"; exit($STATE_OK); } } diff --git a/modules/private/monitoring/plugins/check_emails b/modules/private/monitoring/plugins/check_emails index 5a8453e..534e5a5 100755 --- a/modules/private/monitoring/plugins/check_emails +++ b/modules/private/monitoring/plugins/check_emails @@ -61,6 +61,7 @@ foreach my $line (@lines) { } my $output = ""; +my $old = 0; foreach my $email_from (@emails_to_expect) { my @email_split = split(/:/, $email_from); my $email = $email_split[0]; @@ -73,16 +74,17 @@ foreach my $email_from (@emails_to_expect) { if ($current_date - $email_date > 60*30) { $output = "$output$email ($found_emails{$email} from $from) "; } + $old = ($current_date - $email_date) > $old ? ($current_date - $email_date) : $old; } else { $output = "$output$email (missing) " } } if ($output ne '') { - print "Emails $host CRITICAL - expecting emails: $output\n"; + print "Emails $host CRITICAL - expecting emails: $output | timestamp=${old}s;;;;\n"; exit($STATE_CRITICAL); } else { - print "Emails $host OK\n"; + print "Emails $host OK | timestamp=${old}s;;;;\n"; exit($STATE_OK); } diff --git a/modules/private/monitoring/plugins/check_eriomem b/modules/private/monitoring/plugins/check_eriomem index f91d1e4..880b88a 100755 --- a/modules/private/monitoring/plugins/check_eriomem +++ b/modules/private/monitoring/plugins/check_eriomem @@ -47,7 +47,7 @@ def main(): for p in ps: os.kill(p.pid, signal.SIGTERM) output(STATE_UNKNOWN, - "eriomem UNKNOWN - Command timeout after 60 seconds!") + "Eriomem UNKNOWN - Command timeout after 60 seconds!") signal.alarm(0) @@ -57,20 +57,20 @@ def main(): use_percent = 100 * usage / max_size if use_percent > critical_percent: output(STATE_CRITICAL, - "eriomem CRITICAL - bucket usage: %s (%s%%);| size=%s;;;;" % - (sizeof_fmt(usage), use_percent, usage)) + "Eriomem CRITICAL - bucket usage: %s (%s%%);| size=%s;;;;" % + (sizeof_fmt(usage), use_percent, sizeof_fmt(usage))) elif use_percent > warning_percent: output(STATE_WARNING, - "eriomem WARNING - bucket usage: %s (%s%%);| size=%s;;;;" % - (sizeof_fmt(usage), use_percent, usage)) + "Eriomem WARNING - bucket usage: %s (%s%%);| size=%s;;;;" % + (sizeof_fmt(usage), use_percent, sizeof_fmt(usage))) else: output(STATE_OK, - "eriomem OK - bucket usage: %s (%d%%);| size=%s;;;;" % - (sizeof_fmt(usage), use_percent, usage)) + "Eriomem OK - bucket usage: %s (%d%%);| size=%s;;;;" % + (sizeof_fmt(usage), use_percent, sizeof_fmt(usage))) else: messages = "\n".join([out[0].decode() + out[1].decode() for out in outs]) output(STATE_UNKNOWN, - "eriomem Unknown - Error in command\n" + messages) + "Eriomem UNKNOWN - Error in command") def sizeof_fmt(num): for unit in ['','ko','Mo','Go','To','Po','Eo','Zo']: diff --git a/modules/private/monitoring/plugins/check_ftp_database b/modules/private/monitoring/plugins/check_ftp_database index 9a41424..f9cf579 100755 --- a/modules/private/monitoring/plugins/check_ftp_database +++ b/modules/private/monitoring/plugins/check_ftp_database @@ -3,9 +3,9 @@ OUT=$(echo "ls" | lftp -u test_ftp,test_ftp eldiron.immae.eu | grep it_works | wc -l) if [ "$OUT" -eq 1 ]; then - echo "ftp connection OK - access to ftp is working" + echo "ftp connection OK - access to ftp is working | ftp=1;;;;" exit 0 else - echo "ftp connection CRITICAL - no access to ftp" + echo "ftp connection CRITICAL - no access to ftp | ftp=0;;;;" exit 2 fi diff --git a/modules/private/monitoring/plugins/check_git b/modules/private/monitoring/plugins/check_git index 8c09925..e8fbb29 100755 --- a/modules/private/monitoring/plugins/check_git +++ b/modules/private/monitoring/plugins/check_git @@ -13,6 +13,7 @@ trap "rm -rf $TMPDIR" EXIT ERRORS="" OUTPUT="" +PERFS="" cd "$TMPDIR" OUT=$(git clone -q git://git.immae.eu/perso/Immae/Projets/Ruby/Monitor.git 2>&1) @@ -22,7 +23,10 @@ OUTPUT="$OUTPUT $OUT" fi if [ "$ERR" != 0 ]; then + PERFS="$PERFS git=0;;;;" ERRORS="$ERRORS git://" +else + PERFS="$PERFS git=1;;;;" fi rm -rf Monitor @@ -34,6 +38,9 @@ $OUT" fi if [ "$ERR" != 0 ]; then ERRORS="$ERRORS http://" + PERFS="$PERFS http=0;;;;" +else + PERFS="$PERFS http=1;;;;" fi rm -rf Monitor @@ -45,6 +52,9 @@ $OUT" fi if [ "$ERR" != 0 ]; then ERRORS="$ERRORS https://" + PERFS="$PERFS https=0;;;;" +else + PERFS="$PERFS https=1;;;;" fi rm -rf Monitor @@ -56,13 +66,16 @@ $OUT" fi if [ "$ERR" != 0 ]; then ERRORS="$ERRORS ssh" + PERFS="$PERFS ssh=0;;;;" +else + PERFS="$PERFS ssh=1;;;;" fi rm -rf Monitor if [ -n "$ERRORS" ]; then - echo "gitolite CRITICAL - impossible to clone via$ERRORS|$OUTPUT" + echo "gitolite CRITICAL - impossible to clone via$ERRORS | $PERFS" exit 2 else - echo "gitolite OK - ssh, git, http and https work|$OUTPUT" + echo "gitolite OK - ssh, git, http and https work | $PERFS" exit 0 fi diff --git a/modules/private/monitoring/plugins/check_imap_connection b/modules/private/monitoring/plugins/check_imap_connection index 304eae6..c1ab0dd 100755 --- a/modules/private/monitoring/plugins/check_imap_connection +++ b/modules/private/monitoring/plugins/check_imap_connection @@ -26,10 +26,10 @@ my $expected_result = "a OK Logged in"; chomp($cmd_result); if ($cmd_result !~ /$expected_result/) { - print "IMAP CRITICAL - Unable to connect via imaps\n"; + print "IMAP CRITICAL - Unable to connect via imaps | imap=0;;;;\n"; exit($STATE_CRITICAL); } else { - print "IMAP OK - imaps connected successfully\n"; + print "IMAP OK - imaps connected successfully | imap=1;;;;\n"; exit($STATE_OK); } diff --git a/modules/private/monitoring/plugins/check_last_file_date b/modules/private/monitoring/plugins/check_last_file_date index df45bbc..f51a258 100755 --- a/modules/private/monitoring/plugins/check_last_file_date +++ b/modules/private/monitoring/plugins/check_last_file_date @@ -15,12 +15,14 @@ if [ -z "$last_date" ]; then exit $STATE_UNKNOWN else LC_ALL=C last_date=$(printf "%.*f" 0 $last_date) + LC_ALL=C age=$(( $(date "+%s") - $last_date)) + max_age=$(( $hours * 60 * 60 )) min_date=$(date -d "$hours hours ago" "+%s") if [ "$min_date" -lt "$last_date" ]; then - echo "OK: Last file $(date -d @$last_date)" + echo "OK: Last file $(date -d @$last_date) | age=${age}s;;$max_age;;" exit $STATE_OK else - echo "CRITICAL: Last file $(date -d @$last_date)" + echo "CRITICAL: Last file $(date -d @$last_date) | age=${age}s;;$max_age;;" exit $STATE_CRITICAL fi fi diff --git a/modules/private/monitoring/plugins/check_mysql_replication b/modules/private/monitoring/plugins/check_mysql_replication index 8923928..4027f63 100755 --- a/modules/private/monitoring/plugins/check_mysql_replication +++ b/modules/private/monitoring/plugins/check_mysql_replication @@ -23,13 +23,13 @@ else LC_ALL=C lag=$(printf "%.*f" 0 $lag) if [[ $lag -lt 5 ]]; then - echo "OK - $output" + echo "OK - $output | time=${lag}s;5;10;;" exit $STATE_OK elif [[ $lag -lt 10 ]]; then - echo "WARNING - $output" + echo "WARNING - $output | time=${lag}s;5;10;;" exit $STATE_WARNING else - echo "CRITICAL - $output" + echo "CRITICAL - $output | time=${lag}s;5;10;;" exit $STATE_CRITICAL fi fi diff --git a/modules/private/monitoring/plugins/check_openldap_replication b/modules/private/monitoring/plugins/check_openldap_replication index b511ff2..7136ad5 100755 --- a/modules/private/monitoring/plugins/check_openldap_replication +++ b/modules/private/monitoring/plugins/check_openldap_replication @@ -42,13 +42,13 @@ else LC_ALL=C lag=$(printf "%.*f" 0 $lag) if [[ $offset -lt 5 ]]; then - echo "OK - $output" + echo "OK - $output | time=${offset}s;5;10;;" exit $STATE_OK elif [[ $offset -lt 10 ]]; then - echo "WARNING - $output" + echo "WARNING - $output | time=${offset}s;5;10;;" exit $STATE_WARNING else - echo "CRITICAL - $output" + echo "CRITICAL - $output | time=${offset}s;5;10;;" exit $STATE_CRITICAL fi fi diff --git a/modules/private/monitoring/plugins/check_ovh_sms b/modules/private/monitoring/plugins/check_ovh_sms index 141f82d..caf279c 100755 --- a/modules/private/monitoring/plugins/check_ovh_sms +++ b/modules/private/monitoring/plugins/check_ovh_sms @@ -15,10 +15,10 @@ try: result = client.get('/sms/{}'.format(account))["creditsLeft"] if result < 20: - print("SMS OVH Critical - Not enough sms left ({})|SMS {}".format(result, result)) + print("SMS OVH Critical - Not enough sms left ({})|SMS={};;;;".format(result, result)) sys.exit(2) else: - print("SMS OVH Ok - Enough sms left ({})|SMS {}".format(result, result)) + print("SMS OVH Ok - Enough sms left ({})|SMS={};;;;".format(result, result)) sys.exit(0) except Exception: print("SMS OVH UNKNOWN - Error during script") diff --git a/modules/private/monitoring/plugins/check_postgres_replication b/modules/private/monitoring/plugins/check_postgres_replication index 009b4d5..ff257a3 100755 --- a/modules/private/monitoring/plugins/check_postgres_replication +++ b/modules/private/monitoring/plugins/check_postgres_replication @@ -23,13 +23,13 @@ else LC_ALL=C lag=$(printf "%.*f" 0 $lag) if [[ $lag -lt 5 ]]; then - echo "OK - $output" + echo "OK - $output | time=${lag}s;5;10;0;" exit $STATE_OK elif [[ $lag -lt 10 ]]; then - echo "WARNING - $output" + echo "WARNING - $output | time=${lag}s;5;10;0;" exit $STATE_WARNING else - echo "CRITICAL - $output" + echo "CRITICAL - $output | time=${lag}s;5;10;0;" exit $STATE_CRITICAL fi fi diff --git a/modules/private/monitoring/plugins/check_redis_replication b/modules/private/monitoring/plugins/check_redis_replication index 7a884e1..6dbe4c4 100755 --- a/modules/private/monitoring/plugins/check_redis_replication +++ b/modules/private/monitoring/plugins/check_redis_replication @@ -26,13 +26,13 @@ else LC_ALL=C lag=$(printf "%.*f" 0 $lag) if [[ $lag -lt 5 && $offset -lt 5 ]]; then - echo "OK - $output" + echo "OK - $output | time=${lag}s;5;10;0; offset=${offset};5;10;0;" exit $STATE_OK elif [[ $lag -lt 10 && $offset -lt 10 ]]; then - echo "WARNING - $output" + echo "WARNING - $output | time=${lag}s;5;10;0; offset=${offset};5;10;0;" exit $STATE_WARNING else - echo "CRITICAL - $output" + echo "CRITICAL - $output | time=${lag}s;5;10;0; offset=${offset};5;10;0;" exit $STATE_CRITICAL fi fi diff --git a/modules/private/monitoring/status_engine.nix b/modules/private/monitoring/status_engine.nix new file mode 100644 index 0000000..c74a44d --- /dev/null +++ b/modules/private/monitoring/status_engine.nix @@ -0,0 +1,109 @@ +{ config, pkgs, lib, name, ... }: +let + package = pkgs.status_engine.worker.override { config_file = config.secrets.fullPaths."status_engine"; }; + env = config.myEnv.tools.status_engine; +in +{ + config = lib.mkIf config.myServices.status.enable { + systemd.services.gearmand = { + description = "Gearman daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + DynamicUser = true; + User = "gearmand"; + Type = "simple"; + ExecStart = "${pkgs.gearmand}/bin/gearmand --syslog -L 127.0.0.1 -q libsqlite3 --libsqlite3-db /var/lib/gearmand/gearmand.db --store-queue-on-shutdown -l stderr -P /run/gearmand/gearmand.pid"; + RuntimeDirectory = "gearmand"; + StateDirectory = "gearmand"; + }; + }; + + secrets.keys = [{ + dest = "status_engine"; + permissions = "0400"; + user = "naemon"; + group = "naemon"; + text = '' + node_name: ${name} + use_gearman: 1 + gearman: + address: 127.0.0.1 + port: 4730 + timeout: 1000 + use_rabbitmq: 0 + use_redis: 1 + redis: + address: 127.0.0.1 + port: 6379 + db: 0 + store_live_data_in_archive_backend: 1 + use_mysql: 1 + mysql: + host: ${env.mysql.remoteHost} + port: ${env.mysql.port} + username: ${env.mysql.user} + password: ${env.mysql.password} + database: ${env.mysql.database} + use_crate: 0 + number_of_bulk_records: 100 + max_bulk_delay: 5 + number_servicestatus_worker: 1 + number_hoststatus_worker: 1 + number_logentry_worker: 1 + number_statechange_worker: 1 + number_hostcheck_worker: 1 + number_servicecheck_worker: 1 + number_misc_worker: 1 + + process_perfdata: 1 + number_perfdata_worker: 1 + perfdata_backend: + - mysql + + check_for_commands: 1 + command_check_interval: 15 + external_command_file: /run/naemon/naemon.cmd + query_handler: /run/naemon/naemon.qh + submit_method: qh + + syslog_enabled: 1 + syslog_tag: statusengine-worker + + # Archive age + age_hostchecks: 5 + age_host_acknowledgements: 60 + age_host_notifications: 60 + age_host_statehistory: 365 + age_host_downtimes: 60 + age_servicechecks: 5 + age_service_acknowledgements: 60 + age_service_notifications: 60 + age_service_statehistory: 365 + age_service_downtimes: 60 + age_logentries: 5 + age_tasks: 1 + age_perfdata: 90 + + disable_http_proxy: 1 + ''; + }]; + + services.redis = rec { + enable = true; + bind = "127.0.0.1"; + }; + + systemd.services.status_engine_worker = { + description = "Status engine worker"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "simple"; + Restart = "on-failure"; + User = "naemon"; + ExecStart = "${package}/bin/StatusengineWorker.php"; + }; + }; + }; +} diff --git a/modules/private/websites/default.nix b/modules/private/websites/default.nix index 864d5d9..f84567e 100644 --- a/modules/private/websites/default.nix +++ b/modules/private/websites/default.nix @@ -295,6 +295,7 @@ in tools.mastodon.enable = true; tools.mediagoblin.enable = true; tools.peertube.enable = true; + tools.performance.enable = true; tools.tools.enable = true; tools.email.enable = true; diff --git a/modules/private/websites/tools/performance/default.nix b/modules/private/websites/tools/performance/default.nix new file mode 100644 index 0000000..df2b58d --- /dev/null +++ b/modules/private/websites/tools/performance/default.nix @@ -0,0 +1,89 @@ +{ pkgs, lib, config, ... }: +let + env = config.myEnv.tools.status_engine; + package = pkgs.status_engine.interface.override({ config_file = config.secrets.fullPaths."status_engine_ui"; }); + apacheRoot = "${package}/public"; + cfg = config.myServices.websites.tools.performance; +in +{ + options.myServices.websites.tools.performance = { + enable = lib.mkEnableOption "Enable performance website"; + }; + + config = lib.mkIf cfg.enable { + secrets.keys = [ + { + dest = "status_engine_ui"; + permissions = "0400"; + user = "wwwrun"; + group = "wwwrun"; + text = '' + allow_anonymous: 0 + anonymous_can_submit_commands: 0 + urls_without_login: + - login + - loginstate + auth_type: ldap + ldap_server: ${env.ldap.host} + ldap_use_ssl: 1 + ldap_port: 636 + ldap_bind_dn: ${env.ldap.dn} + ldap_bind_password: ${env.ldap.password} + ldap_base_dn: ${env.ldap.base} + ldap_filter: "${env.ldap.filter}" + ldap_attribute: + - memberOf + use_crate: 0 + use_mysql: 1 + mysql: + host: 127.0.0.1 + port: ${env.mysql.port} + username: ${env.mysql.user} + password: ${env.mysql.password} + database: ${env.mysql.database} + display_perfdata: 1 + perfdata_backend: mysql + ''; + } + ]; + + services.websites.env.tools.modules = [ "proxy_fcgi" ]; + + services.websites.env.tools.vhostConfs.performance = { + certName = "eldiron"; + addToCerts = true; + hosts = [ "performance.immae.eu" ]; + root = apacheRoot; + extraConfig = [ + '' + + DirectoryIndex index.html + AllowOverride None + Require all granted + + SetHandler "proxy:unix:${config.services.phpfpm.pools.status_engine.socket}|fcgi://localhost" + + + '' + ]; + }; + + services.phpfpm.pools.status_engine = { + user = "wwwrun"; + group = "wwwrun"; + settings = { + "listen.owner" = "wwwrun"; + "listen.group" = "wwwrun"; + "pm" = "dynamic"; + "pm.max_children" = "60"; + "pm.start_servers" = "2"; + "pm.min_spare_servers" = "1"; + "pm.max_spare_servers" = "10"; + + "php_admin_value[open_basedir]" = "${package}:/tmp:/var/secrets/status_engine_ui"; + }; + phpPackage = pkgs.php74; + }; + + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index 03fee4f..702f4cf 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -51,6 +51,12 @@ rec { monitoring-plugins = callPackage ./monitoring-plugins {}; naemon = callPackage ./naemon { inherit mylibs monitoring-plugins; }; naemon-livestatus = callPackage ./naemon-livestatus { inherit mylibs naemon; }; + gearmand = callPackage ./gearmand {}; + status_engine = { + module = callPackage ./status_engine/module.nix { inherit mylibs; }; + worker = callPackage ./status_engine/worker.nix { inherit mylibs composerEnv; }; + interface = callPackage ./status_engine/interface.nix { inherit composerEnv; }; + }; python3PackagesPlus = callPackage ./python-packages { python = python3; diff --git a/pkgs/gearmand/default.nix b/pkgs/gearmand/default.nix new file mode 100644 index 0000000..bb3be89 --- /dev/null +++ b/pkgs/gearmand/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl, boost, gperf, libevent, libmysqlclient, libuuid, python3, sqlite, hiredis, postgresql, openssl }: +stdenv.mkDerivation rec { + pname = "gearmand"; + version = "1.1.19.1"; + src = fetchurl { + url = "https://github.com/gearman/${pname}/releases/download/${version}/${pname}-${version}.tar.gz"; + sha256 = "1yvb2r3n89p43nchsi3d4nwl0f4xsiy8msnacmm4x4hcdb8y19lf"; + }; + buildInputs = [ boost gperf libevent openssl libmysqlclient libuuid sqlite hiredis postgresql ]; + configureFlags = [ + "--with-boost=${boost.dev}" + "--with-boost-libdir=${boost}/lib" + "--with-openssl=${openssl.dev}" + "--enable-ssl" + ]; +} diff --git a/pkgs/naemon/default.nix b/pkgs/naemon/default.nix index 080a226..0341296 100644 --- a/pkgs/naemon/default.nix +++ b/pkgs/naemon/default.nix @@ -9,6 +9,7 @@ group ? "naemon" }: stdenv.mkDerivation (mylibs.fetchedGithub ./naemon.json // { + passthru.status_engine_version = "1-1-0"; preConfigure = '' ./autogen.sh || true ''; diff --git a/pkgs/naemon/naemon.json b/pkgs/naemon/naemon.json index c68647f..2dc9809 100644 --- a/pkgs/naemon/naemon.json +++ b/pkgs/naemon/naemon.json @@ -1,5 +1,5 @@ { - "tag": "ba6fd20-master", + "tag": "d7ac1c8-master", "meta": { "name": "naemon", "url": "https://github.com/naemon/naemon-core", @@ -8,8 +8,8 @@ "github": { "owner": "naemon", "repo": "naemon-core", - "rev": "ba6fd20221fbdd5c99b4eb5dcf4ee5681c5a9495", - "sha256": "15rvqg985nn05rsgkch4ix8y2wg7a6pb70d63ckzy1inwqjp8z46", + "rev": "d7ac1c824e01dbb1c4a6bd0550b324e7cf165d54", + "sha256": "003grwciplnqfn9jh2km2pm6xxp8fxvmwihg3vmch8f0vfwcmv1m", "fetchSubmodules": true } } diff --git a/pkgs/status_engine/host_perfdata.patch b/pkgs/status_engine/host_perfdata.patch new file mode 100644 index 0000000..0c8a20b --- /dev/null +++ b/pkgs/status_engine/host_perfdata.patch @@ -0,0 +1,47 @@ +diff --git a/src/statusengine.c b/src/statusengine.c +index cc0b06e..2a18dec 100644 +--- a/src/statusengine.c ++++ b/src/statusengine.c +@@ -304,6 +304,7 @@ int enable_ocsp = 0; + + int use_restart_data=1; + int use_service_perfdata=0; ++int use_host_perfdata=0; + + int statusengine_process_config_var(char *arg); + int statusengine_process_module_args(char *args); +@@ -612,6 +613,9 @@ int statusengine_process_config_var(char *arg) { + } else if (!strcmp(var, "use_service_perfdata")) { + use_service_perfdata = atoi(val); + logswitch(NSLOG_INFO_MESSAGE, "start with enabled use_service_perfdata"); ++ } else if (!strcmp(var, "use_host_perfdata")) { ++ use_host_perfdata = atoi(val); ++ logswitch(NSLOG_INFO_MESSAGE, "start with enabled use_host_perfdata"); + } else { + return ERROR; + } +@@ -1067,6 +1071,24 @@ int statusengine_handle_data(int event_type, void *data){ + json_object_put(my_object); + free(raw_command); + ++ if(use_host_perfdata){ ++ my_object = json_object_new_object(); ++ json_object_object_add(my_object, "type", json_object_new_int(hostcheck->type)); ++ json_object_object_add(my_object, "flags", json_object_new_int(hostcheck->flags)); ++ json_object_object_add(my_object, "attr", json_object_new_int(hostcheck->attr)); ++ json_object_object_add(my_object, "timestamp", json_object_new_int(hostcheck->timestamp.tv_sec)); ++ ++ json_object *hostcheck_object = json_object_new_object(); ++ HOSTCHECKFIELD_STRING(host_name); ++ HOSTCHECKFIELD_STRING(perf_data); ++ json_object_object_add(hostcheck_object, "start_time", json_object_new_int64(nag_hostcheck->start_time.tv_sec)); ++ ++ json_object_object_add(my_object, "hostcheck", hostcheck_object); ++ const char* json_string = json_object_to_json_string(my_object); ++ statusengine_send_job("statusngin_host_perfdata", (void *)json_string); ++ ++ json_object_put(my_object); ++ } + } + break; + diff --git a/pkgs/status_engine/interface.nix b/pkgs/status_engine/interface.nix new file mode 100644 index 0000000..7ee4889 --- /dev/null +++ b/pkgs/status_engine/interface.nix @@ -0,0 +1,21 @@ +{ stdenv, composerEnv, fetchurl, callPackage, config_file ? "/var/lib/status_engine/interface.yml" }: +composerEnv.buildPackage ( + import ./interface_php_packages.nix { inherit composerEnv fetchurl; } // rec { + pname = "interface"; + version = "3.4.0"; + name = "${pname}-${version}"; + src = fetchurl { + url = "https://github.com/statusengine/${pname}/archive/${version}.tar.gz"; + sha256 = "1l11cskv740xvqs9a2yj9zkvgvxvymaq5qap36g2r4hkqbfbbjj2"; + }; + unpackPhase = null; + postUnpack = '' + src=$(pwd)/$sourceRoot + ''; + postInstall = '' + ln -s ${config_file} $out/etc/config.yml + ''; + preInstall = '' + cp ${./interface_composer.lock} $out/composer.lock + ''; + }) diff --git a/pkgs/status_engine/interface_composer.lock b/pkgs/status_engine/interface_composer.lock new file mode 100644 index 0000000..8911d9f --- /dev/null +++ b/pkgs/status_engine/interface_composer.lock @@ -0,0 +1,1323 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "668fd19407022566bb6a70398e2f954e", + "packages": [ + { + "name": "crate/crate-dbal", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/crate/crate-dbal.git", + "reference": "f5e3f5cb4f2d32f00d2dde2b91beae17f38ff417" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/crate/crate-dbal/zipball/f5e3f5cb4f2d32f00d2dde2b91beae17f38ff417", + "reference": "f5e3f5cb4f2d32f00d2dde2b91beae17f38ff417", + "shasum": "" + }, + "require": { + "crate/crate-pdo": "^1.0.0", + "doctrine/dbal": "^2.10.1", + "php": "^7.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.0", + "squizlabs/php_codesniffer": "~1.5.2" + }, + "type": "library", + "autoload": { + "psr-0": { + "Crate\\DBAL": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Crate.io", + "email": "office@crate.io", + "homepage": "https://crate.io", + "role": "maintainer" + } + ], + "description": "Doctrine Database Abstraction Layer (DBAL) adapter for CrateDB", + "homepage": "https://github.com/crate/crate-dbal", + "keywords": [ + "crate", + "database", + "dbal", + "doctrine" + ], + "time": "2020-01-08T08:31:16+00:00" + }, + { + "name": "crate/crate-pdo", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/crate/crate-pdo.git", + "reference": "33332cef1a27844e473265e584223f142c37317f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/crate/crate-pdo/zipball/33332cef1a27844e473265e584223f142c37317f", + "reference": "33332cef1a27844e473265e584223f142c37317f", + "shasum": "" + }, + "require": { + "ext-pdo": "*", + "guzzlehttp/guzzle": "~6.0", + "php": "^7.2" + }, + "require-dev": { + "phpstan/phpstan": "^0.9.2", + "phpunit/phpunit": "~7.0", + "squizlabs/php_codesniffer": "^2.8.1" + }, + "type": "library", + "autoload": { + "psr-0": { + "Crate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Crate.io", + "email": "office@crate.io", + "homepage": "https://crate.io", + "role": "maintainer" + } + ], + "description": "PDO adapter for CrateDB", + "homepage": "https://github.com/crate/crate-pdo", + "keywords": [ + "crate", + "database", + "pdo" + ], + "time": "2019-04-09T07:48:20+00:00" + }, + { + "name": "doctrine/cache", + "version": "1.10.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "35a4a70cd94e09e2259dfae7488afc6b474ecbd3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/35a4a70cd94e09e2259dfae7488afc6b474ecbd3", + "reference": "35a4a70cd94e09e2259dfae7488afc6b474ecbd3", + "shasum": "" + }, + "require": { + "php": "~7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "alcaeus/mongo-php-adapter": "^1.1", + "doctrine/coding-standard": "^6.0", + "mongodb/mongodb": "^1.1", + "phpunit/phpunit": "^7.0", + "predis/predis": "~1.0" + }, + "suggest": { + "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", + "homepage": "https://www.doctrine-project.org/projects/cache.html", + "keywords": [ + "abstraction", + "apcu", + "cache", + "caching", + "couchdb", + "memcached", + "php", + "redis", + "xcache" + ], + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", + "type": "tidelift" + } + ], + "time": "2020-05-27T16:24:54+00:00" + }, + { + "name": "doctrine/dbal", + "version": "2.10.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "aab745e7b6b2de3b47019da81e7225e14dcfdac8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/aab745e7b6b2de3b47019da81e7225e14dcfdac8", + "reference": "aab745e7b6b2de3b47019da81e7225e14dcfdac8", + "shasum": "" + }, + "require": { + "doctrine/cache": "^1.0", + "doctrine/event-manager": "^1.0", + "ext-pdo": "*", + "php": "^7.2" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "jetbrains/phpstorm-stubs": "^2019.1", + "nikic/php-parser": "^4.4", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^8.4.1", + "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", + "vimeo/psalm": "^3.11" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "bin": [ + "bin/doctrine-dbal" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.10.x-dev", + "dev-develop": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\DBAL\\": "lib/Doctrine/DBAL" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", + "homepage": "https://www.doctrine-project.org/projects/dbal.html", + "keywords": [ + "abstraction", + "database", + "db2", + "dbal", + "mariadb", + "mssql", + "mysql", + "oci8", + "oracle", + "pdo", + "pgsql", + "postgresql", + "queryobject", + "sasql", + "sql", + "sqlanywhere", + "sqlite", + "sqlserver", + "sqlsrv" + ], + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", + "type": "tidelift" + } + ], + "time": "2020-04-20T17:19:26+00:00" + }, + { + "name": "doctrine/event-manager", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/event-manager.git", + "reference": "629572819973f13486371cb611386eb17851e85c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/629572819973f13486371cb611386eb17851e85c", + "reference": "629572819973f13486371cb611386eb17851e85c", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "conflict": { + "doctrine/common": "<2.9@dev" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", + "homepage": "https://www.doctrine-project.org/projects/event-manager.html", + "keywords": [ + "event", + "event dispatcher", + "event manager", + "event system", + "events" + ], + "time": "2019-11-10T09:48:07+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.5.4", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "a4a1b6930528a8f7ee03518e6442ec7a44155d9d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a4a1b6930528a8f7ee03518e6442ec7a44155d9d", + "reference": "a4a1b6930528a8f7ee03518e6442ec7a44155d9d", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.6.1", + "php": ">=5.5", + "symfony/polyfill-intl-idn": "1.17.0" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "psr/log": "^1.1" + }, + "suggest": { + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.5-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2020-05-25T19:35:05+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.6.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "239400de7a173fe9901b9ac7c06497751f00727a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a", + "reference": "239400de7a173fe9901b9ac7c06497751f00727a", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-zlib": "*", + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" + }, + "suggest": { + "zendframework/zend-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2019-07-01T23:21:34+00:00" + }, + { + "name": "nikic/fast-route", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/FastRoute.git", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812", + "reference": "181d480e08d9476e61381e04a71b34dc0432e812", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|~5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "FastRoute\\": "src/" + }, + "files": [ + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov", + "email": "nikic@php.net" + } + ], + "description": "Fast request router for PHP", + "keywords": [ + "router", + "routing" + ], + "time": "2018-02-13T20:26:39+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v9.99.99", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "shasum": "" + }, + "require": { + "php": "^7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "time": "2018-07-02T15:55:56+00:00" + }, + { + "name": "pimple/pimple", + "version": "v3.3.0", + "source": { + "type": "git", + "url": "https://github.com/silexphp/Pimple.git", + "reference": "e55d12f9d6a0e7f9c85992b73df1267f46279930" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silexphp/Pimple/zipball/e55d12f9d6a0e7f9c85992b73df1267f46279930", + "reference": "e55d12f9d6a0e7f9c85992b73df1267f46279930", + "shasum": "" + }, + "require": { + "php": "^7.2.5", + "psr/container": "^1.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^3.4|^4.4|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Pimple": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Pimple, a simple Dependency Injection Container", + "homepage": "https://pimple.symfony.com", + "keywords": [ + "container", + "dependency injection" + ], + "time": "2020-03-03T09:12:48+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "slim/csrf", + "version": "0.8.3", + "source": { + "type": "git", + "url": "https://github.com/slimphp/Slim-Csrf.git", + "reference": "5f2bcf5d89adf86dc0455a32bea84d912ab466a7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/slimphp/Slim-Csrf/zipball/5f2bcf5d89adf86dc0455a32bea84d912ab466a7", + "reference": "5f2bcf5d89adf86dc0455a32bea84d912ab466a7", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "^1.1|^2.0|^9.99", + "php": ">=5.5.0", + "psr/http-message": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0", + "slim/slim": "~3.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Slim\\Csrf\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Josh Lockhart", + "email": "hello@joshlockhart.com", + "homepage": "http://joshlockhart.com" + } + ], + "description": "Slim Framework 3 CSRF protection middleware", + "homepage": "http://slimframework.com", + "keywords": [ + "csrf", + "framework", + "middleware", + "slim" + ], + "time": "2018-08-22T16:12:18+00:00" + }, + { + "name": "slim/slim", + "version": "3.12.3", + "source": { + "type": "git", + "url": "https://github.com/slimphp/Slim.git", + "reference": "1c9318a84ffb890900901136d620b4f03a59da38" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/slimphp/Slim/zipball/1c9318a84ffb890900901136d620b4f03a59da38", + "reference": "1c9318a84ffb890900901136d620b4f03a59da38", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-libxml": "*", + "ext-simplexml": "*", + "nikic/fast-route": "^1.0", + "php": ">=5.5.0", + "pimple/pimple": "^3.0", + "psr/container": "^1.0", + "psr/http-message": "^1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0", + "squizlabs/php_codesniffer": "^2.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Slim\\": "Slim" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Josh Lockhart", + "email": "hello@joshlockhart.com", + "homepage": "https://joshlockhart.com" + }, + { + "name": "Andrew Smith", + "email": "a.smith@silentworks.co.uk", + "homepage": "http://silentworks.co.uk" + }, + { + "name": "Rob Allen", + "email": "rob@akrabat.com", + "homepage": "http://akrabat.com" + }, + { + "name": "Gabriel Manricks", + "email": "gmanricks@me.com", + "homepage": "http://gabrielmanricks.com" + } + ], + "description": "Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs", + "homepage": "https://slimframework.com", + "keywords": [ + "api", + "framework", + "micro", + "router" + ], + "time": "2019-11-28T17:40:33+00:00" + }, + { + "name": "symfony/console", + "version": "v2.8.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "d232bfc100dfd32b18ccbcab4bcc8f28697b7e41" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/d232bfc100dfd32b18ccbcab4bcc8f28697b7e41", + "reference": "d232bfc100dfd32b18ccbcab4bcc8f28697b7e41", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.1|~3.0.0", + "symfony/process": "~2.1|~3.0.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2015-11-30T12:35:10+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "3bff59ea7047e925be6b7f2059d60af31bb46d6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3bff59ea7047e925be6b7f2059d60af31bb46d6a", + "reference": "3bff59ea7047e925be6b7f2059d60af31bb46d6a", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/polyfill-mbstring": "^1.3", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:47:27+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "fa79b11539418b02fc5e1897267673ba2c19419c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fa79b11539418b02fc5e1897267673ba2c19419c", + "reference": "fa79b11539418b02fc5e1897267673ba2c19419c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:47:27+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "f048e612a3905f34931127360bdd2def19a5e582" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/f048e612a3905f34931127360bdd2def19a5e582", + "reference": "f048e612a3905f34931127360bdd2def19a5e582", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:47:27+00:00" + }, + { + "name": "symfony/yaml", + "version": "v2.8.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "f79824187de95064a2f5038904c4d7f0227fedb5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/f79824187de95064a2f5038904c4d7f0227fedb5", + "reference": "f79824187de95064a2f5038904c4d7f0227fedb5", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2015-11-30T12:35:10+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=5.5.9", + "ext-ldap": "*" + }, + "platform-dev": [], + "plugin-api-version": "1.1.0" +} diff --git a/pkgs/status_engine/interface_php_packages.nix b/pkgs/status_engine/interface_php_packages.nix new file mode 100644 index 0000000..d81e83c --- /dev/null +++ b/pkgs/status_engine/interface_php_packages.nix @@ -0,0 +1,217 @@ +# Generated with composer2nix and adapted to return only the list of +# packages +{ composerEnv, fetchurl }: +{ + packages = { + "crate/crate-dbal" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "crate-crate-dbal-f5e3f5cb4f2d32f00d2dde2b91beae17f38ff417"; + src = fetchurl { + url = https://api.github.com/repos/crate/crate-dbal/zipball/f5e3f5cb4f2d32f00d2dde2b91beae17f38ff417; + sha256 = "0778m29av1nj6596b7x6xz6frd41nrswn20r327lpdfw7y6b19ni"; + }; + }; + }; + "crate/crate-pdo" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "crate-crate-pdo-33332cef1a27844e473265e584223f142c37317f"; + src = fetchurl { + url = https://api.github.com/repos/crate/crate-pdo/zipball/33332cef1a27844e473265e584223f142c37317f; + sha256 = "11w30hyr0lfw800aakl0ii8pwdv7vzpbjklw0z96hzsky788hfa7"; + }; + }; + }; + "doctrine/cache" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-cache-35a4a70cd94e09e2259dfae7488afc6b474ecbd3"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/cache/zipball/35a4a70cd94e09e2259dfae7488afc6b474ecbd3; + sha256 = "1fk0c8vhjgl7j4b2vd4k7sshdrqysqwcp9mlxbapf8x7nmpa6i9b"; + }; + }; + }; + "doctrine/dbal" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-dbal-aab745e7b6b2de3b47019da81e7225e14dcfdac8"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/dbal/zipball/aab745e7b6b2de3b47019da81e7225e14dcfdac8; + sha256 = "04c6r4p1b0iknjk95hpc4fsyxg8s2x1skfmnx2g11z64jvldzs62"; + }; + }; + }; + "doctrine/event-manager" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-event-manager-629572819973f13486371cb611386eb17851e85c"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/event-manager/zipball/629572819973f13486371cb611386eb17851e85c; + sha256 = "02zglsk2zfnpabs83an7zg18h2k31h00vzk6qpawvmy35r1vmrfn"; + }; + }; + }; + "guzzlehttp/guzzle" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "guzzlehttp-guzzle-a4a1b6930528a8f7ee03518e6442ec7a44155d9d"; + src = fetchurl { + url = https://api.github.com/repos/guzzle/guzzle/zipball/a4a1b6930528a8f7ee03518e6442ec7a44155d9d; + sha256 = "0midln6ji6b990vkc0syn631nf6r94lv5600dcc26lcivz8c4gk3"; + }; + }; + }; + "guzzlehttp/promises" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "guzzlehttp-promises-a59da6cf61d80060647ff4d3eb2c03a2bc694646"; + src = fetchurl { + url = https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646; + sha256 = "1kpl91fzalcgkcs16lpakvzcnbkry3id4ynx6xhq477p4fipdciz"; + }; + }; + }; + "guzzlehttp/psr7" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "guzzlehttp-psr7-239400de7a173fe9901b9ac7c06497751f00727a"; + src = fetchurl { + url = https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a; + sha256 = "0mfq93x7ayix6l3v5jkk40a9hnmrxaqr9vk1r26q39d1s6292ma7"; + }; + }; + }; + "nikic/fast-route" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "nikic-fast-route-181d480e08d9476e61381e04a71b34dc0432e812"; + src = fetchurl { + url = https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812; + sha256 = "0sjqivm0gp6d6nal58n4r5wzyi21r4hdzn4v31ydgjgni7877p4i"; + }; + }; + }; + "paragonie/random_compat" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "paragonie-random_compat-84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95"; + src = fetchurl { + url = https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95; + sha256 = "03nsccdvcb79l64b7lsmx0n8ldf5z3v8niqr7bpp6wg401qp9p09"; + }; + }; + }; + "pimple/pimple" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "pimple-pimple-e55d12f9d6a0e7f9c85992b73df1267f46279930"; + src = fetchurl { + url = https://api.github.com/repos/silexphp/Pimple/zipball/e55d12f9d6a0e7f9c85992b73df1267f46279930; + sha256 = "0xmx8jc9shh2a63wg6574g6qc63w3nvr7w4062d97sbgnn62r6hw"; + }; + }; + }; + "psr/container" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-container-b7ce3b176482dbbc1245ebf52b181af44c2cf55f"; + src = fetchurl { + url = https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f; + sha256 = "0rkz64vgwb0gfi09klvgay4qnw993l1dc03vyip7d7m2zxi6cy4j"; + }; + }; + }; + "psr/http-message" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-http-message-f6561bf28d520154e4b0ec72be95418abe6d9363"; + src = fetchurl { + url = https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363; + sha256 = "195dd67hva9bmr52iadr4kyp2gw2f5l51lplfiay2pv6l9y4cf45"; + }; + }; + }; + "ralouphie/getallheaders" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "ralouphie-getallheaders-120b605dfeb996808c31b6477290a714d356e822"; + src = fetchurl { + url = https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822; + sha256 = "1bv7ndkkankrqlr2b4kw7qp3fl0dxi6bp26bnim6dnlhavd6a0gg"; + }; + }; + }; + "slim/csrf" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "slim-csrf-5f2bcf5d89adf86dc0455a32bea84d912ab466a7"; + src = fetchurl { + url = https://api.github.com/repos/slimphp/Slim-Csrf/zipball/5f2bcf5d89adf86dc0455a32bea84d912ab466a7; + sha256 = "1n8q8cgc2y60z7waqw9xyq9pl9dvww85rbdcnap55d5a55api8j5"; + }; + }; + }; + "slim/slim" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "slim-slim-1c9318a84ffb890900901136d620b4f03a59da38"; + src = fetchurl { + url = https://api.github.com/repos/slimphp/Slim/zipball/1c9318a84ffb890900901136d620b4f03a59da38; + sha256 = "08s7y7apz609vg745wr61nn0ji029zvnd0435fn3kmn57f8lgq7x"; + }; + }; + }; + "symfony/console" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-console-d232bfc100dfd32b18ccbcab4bcc8f28697b7e41"; + src = fetchurl { + url = https://api.github.com/repos/symfony/console/zipball/d232bfc100dfd32b18ccbcab4bcc8f28697b7e41; + sha256 = "16kgs7x60y3vj0bbmljj80hq1x8fb6w1g0fd1j2hc1cbphgj8x67"; + }; + }; + }; + "symfony/polyfill-intl-idn" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-intl-idn-3bff59ea7047e925be6b7f2059d60af31bb46d6a"; + src = fetchurl { + url = https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3bff59ea7047e925be6b7f2059d60af31bb46d6a; + sha256 = "0c26v3xpchyiqckp663n7i3hgswbzy56r0jdwjizrsgqq731h6fp"; + }; + }; + }; + "symfony/polyfill-mbstring" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-mbstring-fa79b11539418b02fc5e1897267673ba2c19419c"; + src = fetchurl { + url = https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fa79b11539418b02fc5e1897267673ba2c19419c; + sha256 = "17m46mkkcv7fsxf71si0cq8xdf6b1k272mc5bfwgl00h8s9bk0rs"; + }; + }; + }; + "symfony/polyfill-php72" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-php72-f048e612a3905f34931127360bdd2def19a5e582"; + src = fetchurl { + url = https://api.github.com/repos/symfony/polyfill-php72/zipball/f048e612a3905f34931127360bdd2def19a5e582; + sha256 = "1lkjxh17nfaglh7v2m3zw2fy6b2w8nmxr7jb1gqqpvg74yqqz83f"; + }; + }; + }; + "symfony/yaml" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-yaml-f79824187de95064a2f5038904c4d7f0227fedb5"; + src = fetchurl { + url = https://api.github.com/repos/symfony/yaml/zipball/f79824187de95064a2f5038904c4d7f0227fedb5; + sha256 = "1pwx4bckfjz0afz62q02vl0i4wmg3c6f963jrhlx247b1z6isram"; + }; + }; + }; + }; +} diff --git a/pkgs/status_engine/module.json b/pkgs/status_engine/module.json new file mode 100644 index 0000000..5ed06d2 --- /dev/null +++ b/pkgs/status_engine/module.json @@ -0,0 +1,15 @@ +{ + "tag": "d461e95-master", + "meta": { + "name": "statusengine-module", + "url": "https://github.com/statusengine/module", + "branch": "master" + }, + "github": { + "owner": "statusengine", + "repo": "module", + "rev": "d461e95a11fffaac604d11ac42d237b5e13071bc", + "sha256": "1awmq9rck9xy82pambnd2wh66ndif8x8jpk4qbbghs9f2sd48x1n", + "fetchSubmodules": true + } +} diff --git a/pkgs/status_engine/module.nix b/pkgs/status_engine/module.nix new file mode 100644 index 0000000..43d2b09 --- /dev/null +++ b/pkgs/status_engine/module.nix @@ -0,0 +1,10 @@ +{ stdenv, mylibs, gearmand, json_c, libuuid, libevent, pkgconfig, glib }: +stdenv.mkDerivation (mylibs.fetchedGithub ./module.json // { + patches = [ ./host_perfdata.patch ]; + buildInputs = [ gearmand json_c libuuid libevent pkgconfig glib ]; + makeFlags = "all"; + installPhase = '' + mkdir -p $out/lib/status-engine + cp -a src/bin/* $out/lib/status-engine + ''; +}) diff --git a/pkgs/status_engine/worker.json b/pkgs/status_engine/worker.json new file mode 100644 index 0000000..301bab5 --- /dev/null +++ b/pkgs/status_engine/worker.json @@ -0,0 +1,15 @@ +{ + "tag": "02267d4-master", + "meta": { + "name": "worker", + "url": "https://github.com/statusengine/worker", + "branch": "master" + }, + "github": { + "owner": "statusengine", + "repo": "worker", + "rev": "02267d495ae69137d6765dc6b0f453f80216f1cf", + "sha256": "06ci4mkmifdf1z15yc8rxl44ppi45vjz4s136yaccq9d8vk9iyd4", + "fetchSubmodules": true + } +} diff --git a/pkgs/status_engine/worker.nix b/pkgs/status_engine/worker.nix new file mode 100644 index 0000000..6c14449 --- /dev/null +++ b/pkgs/status_engine/worker.nix @@ -0,0 +1,25 @@ +{ stdenv, mylibs, composerEnv, fetchurl, gearmand, callPackage, php73, php73base, config_file ? "/var/lib/status_engine/ui.yml" }: +let + # FIXME: present in php73.buildPecl in latest nixpkgs-unstable + gearman = (callPackage { php = php73base; }) rec { + version = "2.0.6"; + pname = "gearman"; + src = fetchurl { + url = "https://github.com/wcgallego/pecl-gearman/archive/${pname}-${version}.tar.gz"; + sha256 = "0bliga4j41xkvdfh6bqi6k8x6mfxbi5sl9gix97axs7w0ncyfprz"; + }; + configureFlags = [ "--with-gearman=${gearmand}" ]; + nativeBuildInputs = [ gearmand ]; + }; +in +(composerEnv.override { + php = php73.withExtensions(e: php73.enabledExtensions ++ (with php73.extensions; [gearman redis mbstring bcmath json iconv])); +}).buildPackage (mylibs.fetchedGithub ./worker.json // + import ./worker_php_packages.nix { inherit composerEnv fetchurl; } // rec { + postInstall = '' + ln -s ${config_file} $out/etc/config.yml + ''; + preInstall = '' + cp ${./worker_composer.lock} $out/composer.lock + ''; +}) diff --git a/pkgs/status_engine/worker_composer.lock b/pkgs/status_engine/worker_composer.lock new file mode 100644 index 0000000..63f2646 --- /dev/null +++ b/pkgs/status_engine/worker_composer.lock @@ -0,0 +1,1457 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "0b9940904a72531dd233d2c1b0ea28a0", + "packages": [ + { + "name": "crate/crate-dbal", + "version": "0.3.1", + "source": { + "type": "git", + "url": "https://github.com/crate/crate-dbal.git", + "reference": "3329f19d39f648bdd7613e5c8dc7e230f45814d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/crate/crate-dbal/zipball/3329f19d39f648bdd7613e5c8dc7e230f45814d9", + "reference": "3329f19d39f648bdd7613e5c8dc7e230f45814d9", + "shasum": "" + }, + "require": { + "crate/crate-pdo": "~0.6.0", + "doctrine/dbal": "~2.5.5", + "php": "~5.5|~7.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~1.5.2" + }, + "type": "library", + "autoload": { + "psr-0": { + "Crate\\DBAL": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache2" + ], + "description": "A Doctrine Database Abstraction Layer for the Crate.io DBMS", + "homepage": "https://github.com/crate/crate-dbal", + "keywords": [ + "crate", + "database", + "dbal", + "doctrine" + ], + "time": "2017-04-07T13:26:54+00:00" + }, + { + "name": "crate/crate-pdo", + "version": "0.6.3", + "source": { + "type": "git", + "url": "https://github.com/crate/crate-pdo.git", + "reference": "31a88d1004235327a4651a10a5b98a7803b3cde3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/crate/crate-pdo/zipball/31a88d1004235327a4651a10a5b98a7803b3cde3", + "reference": "31a88d1004235327a4651a10a5b98a7803b3cde3", + "shasum": "" + }, + "require": { + "ext-pdo": "*", + "guzzlehttp/guzzle": "~6.0", + "php": "~5.5|~7.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~1.5.2" + }, + "type": "library", + "autoload": { + "psr-0": { + "Crate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache2" + ], + "description": "A PDO adapter for interacting with the Crate.io DBMS", + "homepage": "https://github.com/crate/crate-pdo", + "keywords": [ + "crate", + "database", + "pdo" + ], + "time": "2017-07-17T12:50:03+00:00" + }, + { + "name": "doctrine/annotations", + "version": "1.10.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "5db60a4969eba0e0c197a19c077780aadbc43c5d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/5db60a4969eba0e0c197a19c077780aadbc43c5d", + "reference": "5db60a4969eba0e0c197a19c077780aadbc43c5d", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "ext-tokenizer": "*", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "^7.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2020-05-25T17:24:27+00:00" + }, + { + "name": "doctrine/cache", + "version": "1.10.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "35a4a70cd94e09e2259dfae7488afc6b474ecbd3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/35a4a70cd94e09e2259dfae7488afc6b474ecbd3", + "reference": "35a4a70cd94e09e2259dfae7488afc6b474ecbd3", + "shasum": "" + }, + "require": { + "php": "~7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "alcaeus/mongo-php-adapter": "^1.1", + "doctrine/coding-standard": "^6.0", + "mongodb/mongodb": "^1.1", + "phpunit/phpunit": "^7.0", + "predis/predis": "~1.0" + }, + "suggest": { + "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", + "homepage": "https://www.doctrine-project.org/projects/cache.html", + "keywords": [ + "abstraction", + "apcu", + "cache", + "caching", + "couchdb", + "memcached", + "php", + "redis", + "xcache" + ], + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", + "type": "tidelift" + } + ], + "time": "2020-05-27T16:24:54+00:00" + }, + { + "name": "doctrine/collections", + "version": "1.6.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "fc0206348e17e530d09463fef07ba8968406cd6d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/fc0206348e17e530d09463fef07ba8968406cd6d", + "reference": "fc0206348e17e530d09463fef07ba8968406cd6d", + "shasum": "" + }, + "require": { + "php": "^7.1.3 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan-shim": "^0.9.2", + "phpunit/phpunit": "^7.0", + "vimeo/psalm": "^3.8.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.", + "homepage": "https://www.doctrine-project.org/projects/collections.html", + "keywords": [ + "array", + "collections", + "iterators", + "php" + ], + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcollections", + "type": "tidelift" + } + ], + "time": "2020-05-25T19:24:35+00:00" + }, + { + "name": "doctrine/common", + "version": "v2.7.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "4acb8f89626baafede6ee5475bc5844096eba8a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/4acb8f89626baafede6ee5475bc5844096eba8a9", + "reference": "4acb8f89626baafede6ee5475bc5844096eba8a9", + "shasum": "" + }, + "require": { + "doctrine/annotations": "1.*", + "doctrine/cache": "1.*", + "doctrine/collections": "1.*", + "doctrine/inflector": "1.*", + "doctrine/lexer": "1.*", + "php": "~5.6|~7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common Library for Doctrine projects", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "collections", + "eventmanager", + "persistence", + "spl" + ], + "time": "2017-07-22T08:35:12+00:00" + }, + { + "name": "doctrine/dbal", + "version": "v2.5.13", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "729340d8d1eec8f01bff708e12e449a3415af873" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/729340d8d1eec8f01bff708e12e449a3415af873", + "reference": "729340d8d1eec8f01bff708e12e449a3415af873", + "shasum": "" + }, + "require": { + "doctrine/common": ">=2.4,<2.8-dev", + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "4.*", + "symfony/console": "2.*||^3.0" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "bin": [ + "bin/doctrine-dbal" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\DBAL\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Database Abstraction Layer", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "dbal", + "persistence", + "queryobject" + ], + "time": "2017-07-22T20:44:48+00:00" + }, + { + "name": "doctrine/inflector", + "version": "1.4.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "4650c8b30c753a76bf44fb2ed00117d6f367490c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/4650c8b30c753a76bf44fb2ed00117d6f367490c", + "reference": "4650c8b30c753a76bf44fb2ed00117d6f367490c", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^7.0", + "phpstan/phpstan": "^0.11", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-strict-rules": "^0.11", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector", + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2020-05-29T07:19:59+00:00" + }, + { + "name": "doctrine/lexer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan": "^0.11.8", + "phpunit/phpunit": "^8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2020-05-25T17:44:05+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.5.4", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "a4a1b6930528a8f7ee03518e6442ec7a44155d9d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a4a1b6930528a8f7ee03518e6442ec7a44155d9d", + "reference": "a4a1b6930528a8f7ee03518e6442ec7a44155d9d", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.6.1", + "php": ">=5.5", + "symfony/polyfill-intl-idn": "1.17.0" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "psr/log": "^1.1" + }, + "suggest": { + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.5-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2020-05-25T19:35:05+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.6.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "239400de7a173fe9901b9ac7c06497751f00727a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a", + "reference": "239400de7a173fe9901b9ac7c06497751f00727a", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-zlib": "*", + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" + }, + "suggest": { + "zendframework/zend-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2019-07-01T23:21:34+00:00" + }, + { + "name": "php-amqplib/php-amqplib", + "version": "v2.11.3", + "source": { + "type": "git", + "url": "https://github.com/php-amqplib/php-amqplib.git", + "reference": "6353c5d2d3021a301914bc6566e695c99cfeb742" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/6353c5d2d3021a301914bc6566e695c99cfeb742", + "reference": "6353c5d2d3021a301914bc6566e695c99cfeb742", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "ext-sockets": "*", + "php": ">=5.6.3", + "phpseclib/phpseclib": "^2.0.0" + }, + "conflict": { + "php": "7.4.0 - 7.4.1" + }, + "replace": { + "videlalvaro/php-amqplib": "self.version" + }, + "require-dev": { + "ext-curl": "*", + "nategood/httpful": "^0.2.20", + "phpunit/phpunit": "^5.7|^6.5|^7.0", + "squizlabs/php_codesniffer": "^2.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.11-dev" + } + }, + "autoload": { + "psr-4": { + "PhpAmqpLib\\": "PhpAmqpLib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "Alvaro Videla", + "role": "Original Maintainer" + }, + { + "name": "Raúl Araya", + "email": "nubeiro@gmail.com", + "role": "Maintainer" + }, + { + "name": "Luke Bakken", + "email": "luke@bakken.io", + "role": "Maintainer" + }, + { + "name": "Ramūnas Dronga", + "email": "github@ramuno.lt", + "role": "Maintainer" + } + ], + "description": "Formerly videlalvaro/php-amqplib. This library is a pure PHP implementation of the AMQP protocol. It's been tested against RabbitMQ.", + "homepage": "https://github.com/php-amqplib/php-amqplib/", + "keywords": [ + "message", + "queue", + "rabbitmq" + ], + "time": "2020-05-13T13:56:11+00:00" + }, + { + "name": "phpseclib/phpseclib", + "version": "2.0.27", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "34620af4df7d1988d8f0d7e91f6c8a3bf931d8dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/34620af4df7d1988d8f0d7e91f6c8a3bf931d8dc", + "reference": "34620af4df7d1988d8f0d7e91f6c8a3bf931d8dc", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phing/phing": "~2.7", + "phpunit/phpunit": "^4.8.35|^5.7|^6.0", + "sami/sami": "~2.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "suggest": { + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + }, + "type": "library", + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib\\": "phpseclib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], + "funding": [ + { + "url": "https://github.com/terrafrost", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpseclib", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", + "type": "tidelift" + } + ], + "time": "2020-04-04T23:17:33+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "symfony/console", + "version": "v2.8.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "d232bfc100dfd32b18ccbcab4bcc8f28697b7e41" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/d232bfc100dfd32b18ccbcab4bcc8f28697b7e41", + "reference": "d232bfc100dfd32b18ccbcab4bcc8f28697b7e41", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.1|~3.0.0", + "symfony/process": "~2.1|~3.0.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2015-11-30T12:35:10+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "3bff59ea7047e925be6b7f2059d60af31bb46d6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3bff59ea7047e925be6b7f2059d60af31bb46d6a", + "reference": "3bff59ea7047e925be6b7f2059d60af31bb46d6a", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/polyfill-mbstring": "^1.3", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:47:27+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "fa79b11539418b02fc5e1897267673ba2c19419c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fa79b11539418b02fc5e1897267673ba2c19419c", + "reference": "fa79b11539418b02fc5e1897267673ba2c19419c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:47:27+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "f048e612a3905f34931127360bdd2def19a5e582" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/f048e612a3905f34931127360bdd2def19a5e582", + "reference": "f048e612a3905f34931127360bdd2def19a5e582", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:47:27+00:00" + }, + { + "name": "symfony/yaml", + "version": "v2.8.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "f79824187de95064a2f5038904c4d7f0227fedb5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/f79824187de95064a2f5038904c4d7f0227fedb5", + "reference": "f79824187de95064a2f5038904c4d7f0227fedb5", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2015-11-30T12:35:10+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=5.5.9", + "ext-redis": "*", + "ext-gearman": "*", + "ext-mbstring": "*", + "ext-bcmath": "*", + "ext-json": "*", + "ext-iconv": "*" + }, + "platform-dev": [], + "plugin-api-version": "1.1.0" +} diff --git a/pkgs/status_engine/worker_php_packages.nix b/pkgs/status_engine/worker_php_packages.nix new file mode 100644 index 0000000..1d956ad --- /dev/null +++ b/pkgs/status_engine/worker_php_packages.nix @@ -0,0 +1,217 @@ +# Generated with composer2nix and adapted to return only the list of +# packages +{ composerEnv, fetchurl }: +{ + packages = { + "crate/crate-dbal" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "crate-crate-dbal-3329f19d39f648bdd7613e5c8dc7e230f45814d9"; + src = fetchurl { + url = https://api.github.com/repos/crate/crate-dbal/zipball/3329f19d39f648bdd7613e5c8dc7e230f45814d9; + sha256 = "013z63zcvrnmxphdm6qqy0if1397lmbb0g3yrpjbka98pg8zm99g"; + }; + }; + }; + "crate/crate-pdo" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "crate-crate-pdo-31a88d1004235327a4651a10a5b98a7803b3cde3"; + src = fetchurl { + url = https://api.github.com/repos/crate/crate-pdo/zipball/31a88d1004235327a4651a10a5b98a7803b3cde3; + sha256 = "194f6daj9ghlwyplp86nazh1av6jadqznwqijqgr1g3dfmgb3y16"; + }; + }; + }; + "doctrine/annotations" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-annotations-5db60a4969eba0e0c197a19c077780aadbc43c5d"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/annotations/zipball/5db60a4969eba0e0c197a19c077780aadbc43c5d; + sha256 = "1a8psmvs90x4nflfvjvp6j9yjmq6z9jgsb3plrp5c7iy7snkq1v2"; + }; + }; + }; + "doctrine/cache" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-cache-35a4a70cd94e09e2259dfae7488afc6b474ecbd3"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/cache/zipball/35a4a70cd94e09e2259dfae7488afc6b474ecbd3; + sha256 = "1fk0c8vhjgl7j4b2vd4k7sshdrqysqwcp9mlxbapf8x7nmpa6i9b"; + }; + }; + }; + "doctrine/collections" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-collections-fc0206348e17e530d09463fef07ba8968406cd6d"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/collections/zipball/fc0206348e17e530d09463fef07ba8968406cd6d; + sha256 = "1aqnjna5cc5hyy6wypmayvl5lgz2qbym6innmr3qaq9nff6r9qlf"; + }; + }; + }; + "doctrine/common" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-common-4acb8f89626baafede6ee5475bc5844096eba8a9"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/common/zipball/4acb8f89626baafede6ee5475bc5844096eba8a9; + sha256 = "0qjqframvg81z3lwqaj5haanqj9v3dfbj170pxmwlgmrfsbr16zh"; + }; + }; + }; + "doctrine/dbal" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-dbal-729340d8d1eec8f01bff708e12e449a3415af873"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/dbal/zipball/729340d8d1eec8f01bff708e12e449a3415af873; + sha256 = "184p8h0n6mcm0y6vfyh0z6qcxmmf8h5z4vdvxd4ycmx0531lnhj3"; + }; + }; + }; + "doctrine/inflector" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-inflector-4650c8b30c753a76bf44fb2ed00117d6f367490c"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/inflector/zipball/4650c8b30c753a76bf44fb2ed00117d6f367490c; + sha256 = "13jnzwpzz63i6zipmhb22lv35l5gq6wmji0532c94331wcq5bvv9"; + }; + }; + }; + "doctrine/lexer" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "doctrine-lexer-e864bbf5904cb8f5bb334f99209b48018522f042"; + src = fetchurl { + url = https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042; + sha256 = "11lg9fcy0crb8inklajhx3kyffdbx7xzdj8kwl21xsgq9nm9iwvv"; + }; + }; + }; + "guzzlehttp/guzzle" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "guzzlehttp-guzzle-a4a1b6930528a8f7ee03518e6442ec7a44155d9d"; + src = fetchurl { + url = https://api.github.com/repos/guzzle/guzzle/zipball/a4a1b6930528a8f7ee03518e6442ec7a44155d9d; + sha256 = "0midln6ji6b990vkc0syn631nf6r94lv5600dcc26lcivz8c4gk3"; + }; + }; + }; + "guzzlehttp/promises" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "guzzlehttp-promises-a59da6cf61d80060647ff4d3eb2c03a2bc694646"; + src = fetchurl { + url = https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646; + sha256 = "1kpl91fzalcgkcs16lpakvzcnbkry3id4ynx6xhq477p4fipdciz"; + }; + }; + }; + "guzzlehttp/psr7" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "guzzlehttp-psr7-239400de7a173fe9901b9ac7c06497751f00727a"; + src = fetchurl { + url = https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a; + sha256 = "0mfq93x7ayix6l3v5jkk40a9hnmrxaqr9vk1r26q39d1s6292ma7"; + }; + }; + }; + "php-amqplib/php-amqplib" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "php-amqplib-php-amqplib-6353c5d2d3021a301914bc6566e695c99cfeb742"; + src = fetchurl { + url = https://api.github.com/repos/php-amqplib/php-amqplib/zipball/6353c5d2d3021a301914bc6566e695c99cfeb742; + sha256 = "1nadc5afkn1fiws2w1wh0n032pr5b4dzfg1dcqyf2jnh0nsgq0xp"; + }; + }; + }; + "phpseclib/phpseclib" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "phpseclib-phpseclib-34620af4df7d1988d8f0d7e91f6c8a3bf931d8dc"; + src = fetchurl { + url = https://api.github.com/repos/phpseclib/phpseclib/zipball/34620af4df7d1988d8f0d7e91f6c8a3bf931d8dc; + sha256 = "1jlc8plx0v0rq3zqhc19a01r7xx7a2p6gl7mkzf2hn0kss50plz5"; + }; + }; + }; + "psr/http-message" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "psr-http-message-f6561bf28d520154e4b0ec72be95418abe6d9363"; + src = fetchurl { + url = https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363; + sha256 = "195dd67hva9bmr52iadr4kyp2gw2f5l51lplfiay2pv6l9y4cf45"; + }; + }; + }; + "ralouphie/getallheaders" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "ralouphie-getallheaders-120b605dfeb996808c31b6477290a714d356e822"; + src = fetchurl { + url = https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822; + sha256 = "1bv7ndkkankrqlr2b4kw7qp3fl0dxi6bp26bnim6dnlhavd6a0gg"; + }; + }; + }; + "symfony/console" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-console-d232bfc100dfd32b18ccbcab4bcc8f28697b7e41"; + src = fetchurl { + url = https://api.github.com/repos/symfony/console/zipball/d232bfc100dfd32b18ccbcab4bcc8f28697b7e41; + sha256 = "16kgs7x60y3vj0bbmljj80hq1x8fb6w1g0fd1j2hc1cbphgj8x67"; + }; + }; + }; + "symfony/polyfill-intl-idn" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-intl-idn-3bff59ea7047e925be6b7f2059d60af31bb46d6a"; + src = fetchurl { + url = https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/3bff59ea7047e925be6b7f2059d60af31bb46d6a; + sha256 = "0c26v3xpchyiqckp663n7i3hgswbzy56r0jdwjizrsgqq731h6fp"; + }; + }; + }; + "symfony/polyfill-mbstring" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-mbstring-fa79b11539418b02fc5e1897267673ba2c19419c"; + src = fetchurl { + url = https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fa79b11539418b02fc5e1897267673ba2c19419c; + sha256 = "17m46mkkcv7fsxf71si0cq8xdf6b1k272mc5bfwgl00h8s9bk0rs"; + }; + }; + }; + "symfony/polyfill-php72" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-polyfill-php72-f048e612a3905f34931127360bdd2def19a5e582"; + src = fetchurl { + url = https://api.github.com/repos/symfony/polyfill-php72/zipball/f048e612a3905f34931127360bdd2def19a5e582; + sha256 = "1lkjxh17nfaglh7v2m3zw2fy6b2w8nmxr7jb1gqqpvg74yqqz83f"; + }; + }; + }; + "symfony/yaml" = { + targetDir = ""; + src = composerEnv.buildZipPackage { + name = "symfony-yaml-f79824187de95064a2f5038904c4d7f0227fedb5"; + src = fetchurl { + url = https://api.github.com/repos/symfony/yaml/zipball/f79824187de95064a2f5038904c4d7f0227fedb5; + sha256 = "1pwx4bckfjz0afz62q02vl0i4wmg3c6f963jrhlx247b1z6isram"; + }; + }; + }; + }; +} -- 2.41.0