diff options
Diffstat (limited to 'nixos/modules/services/monitoring/cadvisor.nix')
-rw-r--r-- | nixos/modules/services/monitoring/cadvisor.nix | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/nixos/modules/services/monitoring/cadvisor.nix b/nixos/modules/services/monitoring/cadvisor.nix deleted file mode 100644 index dfbf07efcae..00000000000 --- a/nixos/modules/services/monitoring/cadvisor.nix +++ /dev/null @@ -1,142 +0,0 @@ -{ config, pkgs, lib, ... }: - -with lib; - -let - cfg = config.services.cadvisor; - -in { - options = { - services.cadvisor = { - enable = mkOption { - default = false; - type = types.bool; - description = "Whether to enable cadvisor service."; - }; - - listenAddress = mkOption { - default = "127.0.0.1"; - type = types.str; - description = "Cadvisor listening host"; - }; - - port = mkOption { - default = 8080; - type = types.int; - description = "Cadvisor listening port"; - }; - - storageDriver = mkOption { - default = null; - type = types.nullOr types.str; - example = "influxdb"; - description = "Cadvisor storage driver."; - }; - - storageDriverHost = mkOption { - default = "localhost:8086"; - type = types.str; - description = "Cadvisor storage driver host."; - }; - - storageDriverDb = mkOption { - default = "root"; - type = types.str; - description = "Cadvisord storage driver database name."; - }; - - storageDriverUser = mkOption { - default = "root"; - type = types.str; - description = "Cadvisor storage driver username."; - }; - - storageDriverPassword = mkOption { - default = "root"; - type = types.str; - description = '' - Cadvisor storage driver password. - - Warning: this password is stored in the world-readable Nix store. It's - recommended to use the <option>storageDriverPasswordFile</option> option - since that gives you control over the security of the password. - <option>storageDriverPasswordFile</option> also takes precedence over <option>storageDriverPassword</option>. - ''; - }; - - storageDriverPasswordFile = mkOption { - type = types.str; - description = '' - File that contains the cadvisor storage driver password. - - <option>storageDriverPasswordFile</option> takes precedence over <option>storageDriverPassword</option> - - Warning: when <option>storageDriverPassword</option> is non-empty this defaults to a file in the - world-readable Nix store that contains the value of <option>storageDriverPassword</option>. - - It's recommended to override this with a path not in the Nix store. - Tip: use <link xlink:href='https://nixos.org/nixops/manual/#idm140737318306400'>nixops key management</link> - ''; - }; - - storageDriverSecure = mkOption { - default = false; - type = types.bool; - description = "Cadvisor storage driver, enable secure communication."; - }; - - extraOptions = mkOption { - type = types.listOf types.str; - default = []; - description = '' - Additional cadvisor options. - - See <link xlink:href='https://github.com/google/cadvisor/blob/master/docs/runtime_options.md'/> for available options. - ''; - }; - }; - }; - - config = mkMerge [ - { services.cadvisor.storageDriverPasswordFile = mkIf (cfg.storageDriverPassword != "") ( - mkDefault (toString (pkgs.writeTextFile { - name = "cadvisor-storage-driver-password"; - text = cfg.storageDriverPassword; - })) - ); - } - - (mkIf cfg.enable { - systemd.services.cadvisor = { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" "docker.service" "influxdb.service" ]; - - path = optionals config.boot.zfs.enabled [ pkgs.zfs ]; - - postStart = mkBefore '' - until ${pkgs.curl.bin}/bin/curl -s -o /dev/null 'http://${cfg.listenAddress}:${toString cfg.port}/containers/'; do - sleep 1; - done - ''; - - script = '' - exec ${pkgs.cadvisor}/bin/cadvisor \ - -logtostderr=true \ - -listen_ip="${cfg.listenAddress}" \ - -port="${toString cfg.port}" \ - ${escapeShellArgs cfg.extraOptions} \ - ${optionalString (cfg.storageDriver != null) '' - -storage_driver "${cfg.storageDriver}" \ - -storage_driver_user "${cfg.storageDriverHost}" \ - -storage_driver_db "${cfg.storageDriverDb}" \ - -storage_driver_user "${cfg.storageDriverUser}" \ - -storage_driver_password "$(cat "${cfg.storageDriverPasswordFile}")" \ - ${optionalString cfg.storageDriverSecure "-storage_driver_secure"} - ''} - ''; - - serviceConfig.TimeoutStartSec=300; - }; - }) - ]; -} |