diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
index 1e6b46fcdf4..550dddfaf35 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
@@ -257,6 +257,16 @@
maintainer to update the package.
+
+
+ The services.graphite.api and
+ services.graphite.beacon NixOS options, and
+ the python3.pkgs.graphite_api,
+ python3.pkgs.graphite_beacon and
+ python3.pkgs.influxgraph packages, have
+ been removed due to lack of upstream maintenance.
+
+
(Neo)Vim can not be configured with
diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md
index c4740866220..b652419bcf1 100644
--- a/nixos/doc/manual/release-notes/rl-2211.section.md
+++ b/nixos/doc/manual/release-notes/rl-2211.section.md
@@ -99,6 +99,11 @@ In addition to numerous new and upgraded packages, this release has the followin
- riak package removed along with `services.riak` module, due to lack of maintainer to update the package.
+- The `services.graphite.api` and `services.graphite.beacon` NixOS options, and
+ the `python3.pkgs.graphite_api`, `python3.pkgs.graphite_beacon` and
+ `python3.pkgs.influxgraph` packages, have been removed due to lack of upstream
+ maintenance.
+
- (Neo)Vim can not be configured with `configure.pathogen` anymore to reduce maintainance burden.
Use `configure.packages` instead.
diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix
index baa943302a0..1dc2cee479a 100644
--- a/nixos/modules/services/monitoring/graphite.nix
+++ b/nixos/modules/services/monitoring/graphite.nix
@@ -24,16 +24,6 @@ let
+ cfg.web.extraConfig
);
- graphiteApiConfig = pkgs.writeText "graphite-api.yaml" ''
- search_index: ${dataDir}/index
- ${optionalString (config.time.timeZone != null) "time_zone: ${config.time.timeZone}"}
- ${optionalString (cfg.api.finders != []) "finders:"}
- ${concatMapStringsSep "\n" (f: " - " + f.moduleName) cfg.api.finders}
- ${optionalString (cfg.api.functions != []) "functions:"}
- ${concatMapStringsSep "\n" (f: " - " + f) cfg.api.functions}
- ${cfg.api.extraConfig}
- '';
-
seyrenConfig = {
SEYREN_URL = cfg.seyren.seyrenUrl;
MONGO_URL = cfg.seyren.mongoUrl;
@@ -72,6 +62,8 @@ let
in {
imports = [
+ (mkRemovedOptionModule ["services" "graphite" "api"] "")
+ (mkRemovedOptionModule ["services" "graphite" "beacon"] "")
(mkRemovedOptionModule ["services" "graphite" "pager"] "")
];
@@ -115,88 +107,6 @@ in {
};
};
- api = {
- enable = mkOption {
- description = ''
- Whether to enable graphite api. Graphite api is lightweight alternative
- to graphite web, with api and without dashboard. It's advised to use
- grafana as alternative dashboard and influxdb as alternative to
- graphite carbon.
-
- For more information visit
-
- '';
- default = false;
- type = types.bool;
- };
-
- finders = mkOption {
- description = "List of finder plugins to load.";
- default = [];
- example = literalExpression "[ pkgs.python3Packages.influxgraph ]";
- type = types.listOf types.package;
- };
-
- functions = mkOption {
- description = "List of functions to load.";
- default = [
- "graphite_api.functions.SeriesFunctions"
- "graphite_api.functions.PieFunctions"
- ];
- type = types.listOf types.str;
- };
-
- listenAddress = mkOption {
- description = "Graphite web service listen address.";
- default = "127.0.0.1";
- type = types.str;
- };
-
- port = mkOption {
- description = "Graphite api service port.";
- default = 8080;
- type = types.int;
- };
-
- package = mkOption {
- description = "Package to use for graphite api.";
- default = pkgs.python3Packages.graphite_api;
- defaultText = literalExpression "pkgs.python3Packages.graphite_api";
- type = types.package;
- };
-
- extraConfig = mkOption {
- description = "Extra configuration for graphite api.";
- default = ''
- whisper:
- directories:
- - ${dataDir}/whisper
- '';
- defaultText = literalExpression ''
- '''
- whisper:
- directories:
- - ''${config.${opt.dataDir}}/whisper
- '''
- '';
- example = ''
- allowed_origins:
- - dashboard.example.com
- cheat_times: true
- influxdb:
- host: localhost
- port: 8086
- user: influxdb
- pass: influxdb
- db: metrics
- cache:
- CACHE_TYPE: 'filesystem'
- CACHE_DIR: '/tmp/graphite-api-cache'
- '';
- type = types.lines;
- };
- };
-
carbon = {
config = mkOption {
description = "Content of carbon configuration file.";
@@ -354,16 +264,6 @@ in {
'';
};
};
-
- beacon = {
- enable = mkEnableOption "graphite beacon";
-
- config = mkOption {
- description = "Graphite beacon configuration.";
- default = {};
- type = types.attrs;
- };
- };
};
###### implementation
@@ -489,44 +389,6 @@ in {
environment.systemPackages = [ pkgs.python3Packages.graphite-web ];
}))
- (mkIf cfg.api.enable {
- systemd.services.graphiteApi = {
- description = "Graphite Api Interface";
- wantedBy = [ "multi-user.target" ];
- after = [ "network.target" ];
- environment = {
- PYTHONPATH = let
- aenv = pkgs.python3.buildEnv.override {
- extraLibs = [ cfg.api.package pkgs.cairo pkgs.python3Packages.cffi ] ++ cfg.api.finders;
- };
- in "${aenv}/${pkgs.python3.sitePackages}";
- GRAPHITE_API_CONFIG = graphiteApiConfig;
- LD_LIBRARY_PATH = "${pkgs.cairo.out}/lib";
- };
- serviceConfig = {
- ExecStart = ''
- ${pkgs.python3Packages.waitress}/bin/waitress-serve \
- --host=${cfg.api.listenAddress} --port=${toString cfg.api.port} \
- graphite_api.app:app
- '';
- User = "graphite";
- Group = "graphite";
- PermissionsStartOnly = true;
- };
- preStart = ''
- if ! test -e ${dataDir}/db-created; then
- mkdir -p ${dataDir}/cache/
- chmod 0700 ${dataDir}/cache/
-
- chown graphite:graphite ${cfg.dataDir}
- chown -R graphite:graphite ${cfg.dataDir}/cache
-
- touch ${dataDir}/db-created
- fi
- '';
- };
- })
-
(mkIf cfg.seyren.enable {
systemd.services.seyren = {
description = "Graphite Alerting Dashboard";
@@ -550,25 +412,9 @@ in {
services.mongodb.enable = mkDefault true;
})
- (mkIf cfg.beacon.enable {
- systemd.services.graphite-beacon = {
- description = "Grpahite Beacon Alerting Daemon";
- wantedBy = [ "multi-user.target" ];
- serviceConfig = {
- ExecStart = ''
- ${pkgs.python3Packages.graphite_beacon}/bin/graphite-beacon \
- --config=${pkgs.writeText "graphite-beacon.json" (builtins.toJSON cfg.beacon.config)}
- '';
- User = "graphite";
- Group = "graphite";
- };
- };
- })
-
(mkIf (
cfg.carbon.enableCache || cfg.carbon.enableAggregator || cfg.carbon.enableRelay ||
- cfg.web.enable || cfg.api.enable ||
- cfg.seyren.enable || cfg.beacon.enable
+ cfg.web.enable || cfg.seyren.enable
) {
users.users.graphite = {
uid = config.ids.uids.graphite;
diff --git a/nixos/tests/graphite.nix b/nixos/tests/graphite.nix
index 496f16846ea..c534d45428e 100644
--- a/nixos/tests/graphite.nix
+++ b/nixos/tests/graphite.nix
@@ -12,14 +12,8 @@ import ./make-test-python.nix ({ pkgs, ... } :
SECRET_KEY = "abcd";
'';
};
- api = {
- enable = true;
- port = 8082;
- finders = [ ];
- };
carbon.enableCache = true;
seyren.enable = false; # Implicitely requires openssl-1.0.2u which is marked insecure
- beacon.enable = true;
};
};
};
@@ -28,21 +22,15 @@ import ./make-test-python.nix ({ pkgs, ... } :
start_all()
one.wait_for_unit("default.target")
one.wait_for_unit("graphiteWeb.service")
- one.wait_for_unit("graphiteApi.service")
- one.wait_for_unit("graphite-beacon.service")
one.wait_for_unit("carbonCache.service")
# The services above are of type "simple". systemd considers them active immediately
# even if they're still in preStart (which takes quite long for graphiteWeb).
# Wait for ports to open so we're sure the services are up and listening.
one.wait_for_open_port(8080)
- one.wait_for_open_port(8082)
one.wait_for_open_port(2003)
one.succeed('echo "foo 1 `date +%s`" | nc -N localhost 2003')
one.wait_until_succeeds(
"curl 'http://localhost:8080/metrics/find/?query=foo&format=treejson' --silent | grep foo >&2"
)
- one.wait_until_succeeds(
- "curl 'http://localhost:8082/metrics/find/?query=foo&format=treejson' --silent | grep foo >&2"
- )
'';
})
diff --git a/pkgs/development/python-modules/graphite-api/default.nix b/pkgs/development/python-modules/graphite-api/default.nix
deleted file mode 100644
index 34b8c271d93..00000000000
--- a/pkgs/development/python-modules/graphite-api/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub, lib, flask, flask-caching, cairocffi, pyparsing, pytz, pyyaml
-, raven, six, structlog, tzlocal, nose, mock, cairo, isPyPy
-}:
-
-buildPythonPackage rec {
- pname = "graphite-api";
- version = "1.1.3";
-
- disabled = isPyPy;
-
- src = fetchFromGitHub {
- owner = "brutasse";
- repo = "graphite-api";
- rev = version;
- sha256 = "0sz3kav2024ms2z4q03pigcf080gsr5v774z9bp3zw29k2p47ass";
- };
-
- # https://github.com/brutasse/graphite-api/pull/239 rebased onto 1.1.3
- patches = [ ./flask-caching-rebased.patch ];
-
- checkPhase = "nosetests";
-
- propagatedBuildInputs = [
- flask
- flask-caching
- cairocffi
- pyparsing
- pytz
- pyyaml
- raven
- six
- structlog
- tzlocal
- ];
-
- checkInputs = [ nose mock ];
-
- LD_LIBRARY_PATH = "${cairo.out}/lib";
-
- meta = with lib; {
- broken = stdenv.isDarwin;
- description = "Graphite-web, without the interface. Just the rendering HTTP API";
- homepage = "https://github.com/brutasse/graphite-api";
- license = licenses.asl20;
- };
-}
diff --git a/pkgs/development/python-modules/graphite-api/flask-caching-rebased.patch b/pkgs/development/python-modules/graphite-api/flask-caching-rebased.patch
deleted file mode 100644
index 2d4a2f29bc4..00000000000
--- a/pkgs/development/python-modules/graphite-api/flask-caching-rebased.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-diff --git a/graphite_api/config.py b/graphite_api/config.py
-index 5e1e382..dc033a8 100644
---- a/graphite_api/config.py
-+++ b/graphite_api/config.py
-@@ -112,11 +112,11 @@ def configure(app):
- app.cache = None
- if 'cache' in config:
- try:
-- from flask.ext.cache import Cache
-+ from flask_caching import Cache
- except ImportError:
- warnings.warn("'cache' is provided in the configuration but "
-- "Flask-Cache is not installed. Please `pip install "
-- "Flask-Cache`.")
-+ "flask-caching is not installed. Please `pip "
-+ "install flask-caching`.")
- else:
- cache_conf = {'CACHE_DEFAULT_TIMEOUT': 60,
- 'CACHE_KEY_PREFIX': 'graphite-api:'}
-diff --git a/requirements.txt b/requirements.txt
-index c68b446..7826b0c 100644
---- a/requirements.txt
-+++ b/requirements.txt
-@@ -1,5 +1,5 @@
- Flask
--Flask-Cache
-+Flask-Caching
- cairocffi
- pyparsing>=1.5.7
- pytz
-diff --git a/setup.py b/setup.py
-index 0337cbe..df07989 100644
---- a/setup.py
-+++ b/setup.py
-@@ -38,7 +38,7 @@ setup(
- extras_require={
- 'sentry': ['raven[flask]'],
- 'cyanite': ['cyanite'],
-- 'cache': ['Flask-Cache'],
-+ 'cache': ['Flask-Caching'],
- 'statsd': ['statsd'],
- },
- zip_safe=False,
-diff --git a/tests/test_render.py b/tests/test_render.py
-index be5609d..a0e7190 100644
---- a/tests/test_render.py
-+++ b/tests/test_render.py
-@@ -8,7 +8,7 @@ from graphite_api._vendor import whisper
- from . import TestCase, WHISPER_DIR
-
- try:
-- from flask.ext.cache import Cache
-+ from flask_caching import Cache
- except ImportError:
- Cache = None
-
-diff --git a/tox.ini b/tox.ini
-index 85a0abb..c820393 100644
---- a/tox.ini
-+++ b/tox.ini
-@@ -47,7 +47,7 @@ basepython = python2.7
- deps =
- {[testenv]deps}
- Flask
-- Flask-Cache
-+ Flask-Caching
- pyparsing
- mock
-
-@@ -56,7 +56,7 @@ basepython = python3.3
- deps =
- {[testenv]deps}
- Flask
-- Flask-Cache
-+ Flask-Caching
- pyparsing
-
- [testenv:py34]
-@@ -66,7 +66,7 @@ commands =
- deps =
- {[testenv]deps}
- Flask
-- Flask-Cache
-+ Flask-Caching
- pyparsing
-
- [testenv:py35]
-@@ -76,7 +76,7 @@ commands =
- deps =
- {[testenv]deps}
- Flask
-- Flask-Cache
-+ Flask-Caching
- pyparsing
-
- [testenv:pyparsing1]
-@@ -84,7 +84,7 @@ basepython = python2.7
- deps =
- {[testenv]deps}
- Flask
-- Flask-Cache
-+ Flask-Caching
- pyparsing==1.5.7
- mock
-
-@@ -93,7 +93,7 @@ basepython = pypy
- deps =
- {[testenv]deps}
- Flask
-- Flask-Cache
-+ Flask-Caching
- pyparsing
- mock
-
-@@ -102,7 +102,7 @@ basepython = python2.7
- deps =
- {[testenv]deps}
- Flask<0.9
-- Flask-Cache
-+ Flask-Caching
- pyparsing
- mock
-
-@@ -111,7 +111,7 @@ basepython = python2.7
- deps =
- {[testenv]deps}
- Flask<0.10
-- Flask-Cache
-+ Flask-Caching
- pyparsing
- mock
-
diff --git a/pkgs/development/python-modules/graphite_beacon/default.nix b/pkgs/development/python-modules/graphite_beacon/default.nix
deleted file mode 100644
index 20522d28304..00000000000
--- a/pkgs/development/python-modules/graphite_beacon/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi
-, tornado_5, pyyaml, funcparserlib
-, nixosTests
-}:
-
-buildPythonPackage rec {
- pname = "graphite_beacon";
- version = "0.27.0";
-
- src = fetchPypi {
- inherit pname version;
- sha256 = "03bp4wyfn3xhcqyvs5hnk1n87m4smsmm1p7qp459m7j8hwpbq2ks";
- };
-
- propagatedBuildInputs = [ tornado_5 pyyaml funcparserlib ];
-
- postPatch = ''
- substituteInPlace requirements.txt --replace "==" ">="
- '';
-
- pythonImportsCheck = [ "graphite_beacon" ];
-
- passthru.tests = {
- nixos = nixosTests.graphite;
- };
-
- meta = with lib; {
- description = "A simple alerting application for Graphite metrics";
- homepage = "https://github.com/klen/graphite-beacon";
- maintainers = [ maintainers.offline ];
- license = licenses.mit;
- };
-}
diff --git a/pkgs/development/python-modules/influxgraph/default.nix b/pkgs/development/python-modules/influxgraph/default.nix
deleted file mode 100644
index 7f24e1fd87e..00000000000
--- a/pkgs/development/python-modules/influxgraph/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k
-, influxdb, graphite_api, python-memcached
-}:
-
-buildPythonPackage rec {
- pname = "influxgraph";
- version = "1.5.0";
-
- src = fetchPypi {
- inherit pname version;
- sha256 = "0l33sfwdh4bfprmzp2kx0d9098g6yxbnhyyx9qr3kzczpm0jg9vy";
- };
-
- propagatedBuildInputs = [ influxdb graphite_api python-memcached ];
-
- passthru.moduleName = "influxgraph.InfluxDBFinder";
-
- meta = with lib; {
- description = "InfluxDB storage plugin for Graphite-API";
- homepage = "https://github.com/InfluxGraph/influxgraph";
- license = licenses.asl20;
- maintainers = with maintainers; [ basvandijk ];
- };
-}
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index c1e4d27d3ff..087417c9fb3 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -79,6 +79,8 @@ mapAliases ({
glances = throw "glances has moved to pkgs.glances"; # added 2020-20-28
google_api_python_client = google-api-python-client; # added 2021-03-19
googleapis_common_protos = googleapis-common-protos; # added 2021-03-19
+ graphite_api = throw "graphite_api was removed, because it is no longer maintained"; # added 2022-07-10
+ graphite_beacon = throw "graphite_beacon was removed, because it is no longer maintained"; # added 2022-07-09
grpc_google_iam_v1 = grpc-google-iam-v1; # added 2021-08-21
ha-av = throw "ha-av was removed, because it is no longer maintained"; # added 2022-04-06
HAP-python = hap-python; # added 2021-06-01
@@ -87,6 +89,7 @@ mapAliases ({
hyperkitty = throw "Please use pkgs.mailmanPackages.hyperkitty"; # added 2022-04-29
IMAPClient = imapclient; # added 2021-10-28
ipaddress = throw "ipaddress has been removed because it is no longer required since python 2.7."; # added 2022-05-30
+ influxgraph = throw "influxgraph has been removed because it is no longer maintained"; # added 2022-07-10
jupyter_client = jupyter-client; # added 2021-10-15
Keras = keras; # added 2021-11-25
lammps-cython = throw "lammps-cython no longer builds and is unmaintained"; # added 2021-07-04
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index dfc9daa0894..34cced4ec22 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -3759,10 +3759,6 @@ in {
grapheme = callPackage ../development/python-modules/grapheme { };
- graphite_api = callPackage ../development/python-modules/graphite-api { };
-
- graphite_beacon = callPackage ../development/python-modules/graphite_beacon { };
-
graphite-web = callPackage ../development/python-modules/graphite-web { };
graphene = callPackage ../development/python-modules/graphene { };
@@ -4284,8 +4280,6 @@ in {
influxdb-client = callPackage ../development/python-modules/influxdb-client { };
- influxgraph = callPackage ../development/python-modules/influxgraph { };
-
inform = callPackage ../development/python-modules/inform { };
iniconfig = callPackage ../development/python-modules/iniconfig { };
@@ -10666,7 +10660,7 @@ in {
# Used by circus and grab-site, 2020-08-29
tornado_4 = callPackage ../development/python-modules/tornado/4.nix { };
- # Used by streamlit, graphite_beacon, 2021-01-29
+ # Used by streamlit, 2021-01-29
tornado_5 = callPackage ../development/python-modules/tornado/5.nix { };
torrequest = callPackage ../development/python-modules/torrequest { };