Merge staging-next into staging

authored by github-actions[bot] and committed by GitHub cd9d1feb 12bd815a

+203 -48
+1
nixos/modules/module-list.nix
··· 737 737 ./services/networking/blocky.nix 738 738 ./services/networking/charybdis.nix 739 739 ./services/networking/cjdns.nix 740 + ./services/networking/cloudflare-dyndns.nix 740 741 ./services/networking/cntlm.nix 741 742 ./services/networking/connman.nix 742 743 ./services/networking/consul.nix
+93
nixos/modules/services/networking/cloudflare-dyndns.nix
··· 1 + { config, pkgs, lib, ... }: 2 + 3 + with lib; 4 + 5 + let 6 + cfg = config.services.cloudflare-dyndns; 7 + in 8 + { 9 + options = { 10 + services.cloudflare-dyndns = { 11 + enable = mkEnableOption "Cloudflare Dynamic DNS Client"; 12 + 13 + apiTokenFile = mkOption { 14 + type = types.nullOr types.str; 15 + default = null; 16 + description = '' 17 + The path to a file containing the CloudFlare API token. 18 + 19 + The file must have the form `CLOUDFLARE_API_TOKEN=...` 20 + ''; 21 + }; 22 + 23 + domains = mkOption { 24 + type = types.listOf types.str; 25 + default = [ ]; 26 + description = '' 27 + List of domain names to update records for. 28 + ''; 29 + }; 30 + 31 + proxied = mkOption { 32 + type = types.bool; 33 + default = false; 34 + description = '' 35 + Whether this is a DNS-only record, or also being proxied through CloudFlare. 36 + ''; 37 + }; 38 + 39 + ipv4 = mkOption { 40 + type = types.bool; 41 + default = true; 42 + description = '' 43 + Whether to enable setting IPv4 A records. 44 + ''; 45 + }; 46 + 47 + ipv6 = mkOption { 48 + type = types.bool; 49 + default = false; 50 + description = '' 51 + Whether to enable setting IPv6 AAAA records. 52 + ''; 53 + }; 54 + 55 + deleteMissing = mkOption { 56 + type = types.bool; 57 + default = false; 58 + description = '' 59 + Whether to delete the record when no IP address is found. 60 + ''; 61 + }; 62 + }; 63 + }; 64 + 65 + config = mkIf cfg.enable { 66 + systemd.services.cloudflare-dyndns = { 67 + description = "CloudFlare Dynamic DNS Client"; 68 + after = [ "network.target" ]; 69 + wantedBy = [ "multi-user.target" ]; 70 + startAt = "*:0/5"; 71 + 72 + environment = { 73 + CLOUDFLARE_DOMAINS = toString cfg.domains; 74 + }; 75 + 76 + serviceConfig = { 77 + Type = "simple"; 78 + DynamicUser = true; 79 + StateDirectory = "cloudflare-dyndns"; 80 + EnvironmentFile = cfg.apiTokenFile; 81 + ExecStart = 82 + let 83 + args = [ "--cache-file /var/lib/cloudflare-dyndns/ip.cache" ] 84 + ++ (if cfg.ipv4 then [ "-4" ] else [ "-no-4" ]) 85 + ++ (if cfg.ipv6 then [ "-6" ] else [ "-no-6" ]) 86 + ++ optional cfg.deleteMissing "--delete-missing" 87 + ++ optional cfg.proxied "--proxied"; 88 + in 89 + "${pkgs.cloudflare-dyndns}/bin/cloudflare-dyndns ${toString args}"; 90 + }; 91 + }; 92 + }; 93 + }
+53
pkgs/applications/networking/cloudflare-dyndns/default.nix
··· 1 + { buildPythonApplication 2 + , attrs 3 + , click 4 + , cloudflare 5 + , fetchFromGitHub 6 + , lib 7 + , poetry 8 + , pydantic 9 + , pytestCheckHook 10 + , requests 11 + }: 12 + 13 + buildPythonApplication rec { 14 + pname = "cloudflare-dyndns"; 15 + version = "4.1"; 16 + 17 + src = fetchFromGitHub { 18 + owner = "kissgyorgy"; 19 + repo = pname; 20 + rev = "v${version}"; 21 + hash = "sha256-6Q5fpJ+HuQ+hc3xTtB5tR43pn9WZ0nZZR723iLAkpis="; 22 + }; 23 + 24 + format = "pyproject"; 25 + 26 + nativeBuildInputs = [ poetry ]; 27 + 28 + propagatedBuildInputs = [ 29 + attrs 30 + click 31 + cloudflare 32 + pydantic 33 + requests 34 + ]; 35 + 36 + postPatch = '' 37 + substituteInPlace pyproject.toml \ 38 + --replace 'click = "^7.0"' 'click = "*"' 39 + ''; 40 + 41 + checkInputs = [ pytestCheckHook ]; 42 + 43 + disabledTests = [ 44 + "test_get_ipv4" 45 + ]; 46 + 47 + meta = with lib; { 48 + description = " CloudFlare Dynamic DNS client "; 49 + homepage = "https://github.com/kissgyorgy/cloudflare-dyndns"; 50 + license = licenses.mit; 51 + maintainers = with maintainers; [ lovesegfault ]; 52 + }; 53 + }
+35 -35
pkgs/applications/networking/cluster/terraform-providers/providers.json
··· 39 39 "owner": "akamai", 40 40 "provider-source-address": "registry.terraform.io/akamai/akamai", 41 41 "repo": "terraform-provider-akamai", 42 - "rev": "v1.12.1", 43 - "sha256": "sha256-UQD1RiXIRcP0CvVO8Tx/qkBhRD3LFj/KI3WP/yKeBek=", 44 - "vendorSha256": "sha256-GZFLnKHk6YaMwFGgy79ric388EMIH6NUVw4JVLNxWZY=", 45 - "version": "1.12.1" 42 + "rev": "v2.0.0", 43 + "sha256": "sha256-LcqP4gO1dhNaLkpaZIRxmC8B7DUTLC1fPZutohBqKSQ=", 44 + "vendorSha256": "sha256-Vu5vyCEkZNf8TXryDalI5RKM/hjWeEkXbnYLhGwc2y8=", 45 + "version": "2.0.0" 46 46 }, 47 47 "alicloud": { 48 48 "deleteVendor": true, ··· 103 103 "owner": "hashicorp", 104 104 "provider-source-address": "registry.terraform.io/hashicorp/aws", 105 105 "repo": "terraform-provider-aws", 106 - "rev": "v4.11.0", 107 - "sha256": "sha256-d7edKXwjktpHGMxL/sAowOjiGdsAk9cdGVMgj0uIVIg=", 108 - "vendorSha256": "sha256-xQ9EbzwLfRZuBzytJ4SpoEIYJ9DuN+eWPy7RRg4jPkU=", 109 - "version": "4.11.0" 106 + "rev": "v4.12.1", 107 + "sha256": "sha256-z19DTiio6dXIgTmOxehOjIno6XhSUIS/YFtXKocq2Kk=", 108 + "vendorSha256": "sha256-zxOiLStuGuylsKTJteR/9Xs/XcVgDlihCBmnMNLTTd4=", 109 + "version": "4.12.1" 110 110 }, 111 111 "azuread": { 112 112 "owner": "hashicorp", 113 113 "provider-source-address": "registry.terraform.io/hashicorp/azuread", 114 114 "repo": "terraform-provider-azuread", 115 - "rev": "v2.21.0", 116 - "sha256": "sha256-H2G9n9pvDF1VKXC773ubRFzGYZJeAj+t/V89omxmcps=", 115 + "rev": "v2.22.0", 116 + "sha256": "sha256-x3SRTGCokEZGoG2l46PSelI8+FkHp5sbDdd14Iyei54=", 117 117 "vendorSha256": null, 118 - "version": "2.21.0" 118 + "version": "2.22.0" 119 119 }, 120 120 "azurerm": { 121 121 "owner": "hashicorp", 122 122 "provider-source-address": "registry.terraform.io/hashicorp/azurerm", 123 123 "repo": "terraform-provider-azurerm", 124 - "rev": "v3.3.0", 125 - "sha256": "sha256-ZkyuZ2q9V2CKuXGUcDI5X3O21y8xtZiYGPnl5mIjuZc=", 124 + "rev": "v3.4.0", 125 + "sha256": "sha256-hfjwlW7tbs/b7mvtbmFnNXr82b2exCRC4WxfCdZ6bbw=", 126 126 "vendorSha256": null, 127 - "version": "3.3.0" 127 + "version": "3.4.0" 128 128 }, 129 129 "azurestack": { 130 130 "owner": "hashicorp", ··· 375 375 "owner": "fastly", 376 376 "provider-source-address": "registry.terraform.io/fastly/fastly", 377 377 "repo": "terraform-provider-fastly", 378 - "rev": "v1.1.3", 379 - "sha256": "sha256-zkZ3ZORky0OmM5YvDU30lqpIhO7f49imW+pWjndXSwQ=", 378 + "rev": "v1.1.4", 379 + "sha256": "sha256-sLVeVXVCvhSx51B4unYEOs0UpNsChF9guB22gpsratw=", 380 380 "vendorSha256": null, 381 - "version": "1.1.3" 381 + "version": "1.1.4" 382 382 }, 383 383 "flexibleengine": { 384 384 "owner": "FlexibleEngineCloud", 385 385 "provider-source-address": "registry.terraform.io/FlexibleEngineCloud/flexibleengine", 386 386 "repo": "terraform-provider-flexibleengine", 387 - "rev": "v1.28.0", 388 - "sha256": "sha256-UeRgbPHwKZ6HfoHOG3yYLFhv6GqzGhLB3fETYWq6k7A=", 389 - "vendorSha256": "sha256-/Z8VbNtwBYROyzvhwFwpmyGMWF1LeWEKxgwbFd9M+Gw=", 390 - "version": "1.28.0" 387 + "rev": "v1.29.0", 388 + "sha256": "sha256-HPcJRLP20fDt3qr2edkol2jXSsWLotJkx13ZV7n7w8g=", 389 + "vendorSha256": "sha256-De4NRWTdE4QutQkB0m0YlJg6LNysxi4bSSIxYY6lRP0=", 390 + "version": "1.29.0" 391 391 }, 392 392 "fortios": { 393 393 "owner": "fortinetdev", ··· 411 411 "owner": "integrations", 412 412 "provider-source-address": "registry.terraform.io/integrations/github", 413 413 "repo": "terraform-provider-github", 414 - "rev": "v4.23.0", 415 - "sha256": "sha256-N7PFLh7qr8OPB92ePLS1B/KexipKV5LFRWvrxdS8cGk=", 414 + "rev": "v4.24.1", 415 + "sha256": "sha256-1fwHMN2HIVl+8ZL7OtP1U5ORc41e7Tm3qEpMqIgWL20=", 416 416 "vendorSha256": null, 417 - "version": "4.23.0" 417 + "version": "4.24.1" 418 418 }, 419 419 "gitlab": { 420 420 "owner": "gitlabhq", ··· 665 665 "owner": "logicmonitor", 666 666 "provider-source-address": "registry.terraform.io/logicmonitor/logicmonitor", 667 667 "repo": "terraform-provider-logicmonitor", 668 - "rev": "v2.0.0", 669 - "sha256": "sha256-wamP36zV5HZ1qQlNZWIZyAYx/jOiRO1ODQpcd10Sl4w=", 668 + "rev": "v2.0.1", 669 + "sha256": "sha256-LW88NTWwzGrpOpliVqc1AOjxaZ4p/8gq9twEpjY3FzE=", 670 670 "vendorSha256": null, 671 - "version": "2.0.0" 671 + "version": "2.0.1" 672 672 }, 673 673 "lxd": { 674 674 "owner": "terraform-lxd", ··· 1026 1026 "owner": "splunk-terraform", 1027 1027 "provider-source-address": "registry.terraform.io/splunk-terraform/signalfx", 1028 1028 "repo": "terraform-provider-signalfx", 1029 - "rev": "v6.12.1", 1030 - "sha256": "sha256-JmkuYv3vDCSUuD69+dw8fG4EvuDMhfImlfmZslp8AfQ=", 1031 - "vendorSha256": "sha256-hI0yz796+xxAFQg+O/2g5ueNx/wrx/40DlQyxtx11aQ=", 1032 - "version": "6.12.1" 1029 + "rev": "v6.13.0", 1030 + "sha256": "sha256-te5+WjbvU7RV22o22iWu8rGEnBfPkZNzkigziOlxMQg=", 1031 + "vendorSha256": "sha256-yWqUsObvABwmA6V9ecz8SFtk1Bhdq2/dUpnNLKQtuNM=", 1032 + "version": "6.13.0" 1033 1033 }, 1034 1034 "skytap": { 1035 1035 "owner": "skytap", ··· 1062 1062 "owner": "spotinst", 1063 1063 "provider-source-address": "registry.terraform.io/spotinst/spotinst", 1064 1064 "repo": "terraform-provider-spotinst", 1065 - "rev": "v1.73.1", 1066 - "sha256": "sha256-tA80gL0IJVO0g+sXdXLYgW1a0hLP0rnQCUtLAS9Y614=", 1067 - "vendorSha256": "sha256-25h8VMeXKWth06+5ZBibDWvjWyJmKM64k0zhkUsIYeM=", 1068 - "version": "1.73.1" 1065 + "rev": "v1.73.2", 1066 + "sha256": "sha256-Q5DNFJ1g6jfHQVYF5Xf5Phx/4b2nbUvE651JNp/zgJg=", 1067 + "vendorSha256": "sha256-szdzI/42RExYQlHnm178RM3wlKOLax+nwgRVzonxXoI=", 1068 + "version": "1.73.2" 1069 1069 }, 1070 1070 "stackpath": { 1071 1071 "owner": "stackpath",
+2 -2
pkgs/development/python-modules/s3-credentials/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "s3-credentials"; 15 - version = "0.10"; 15 + version = "0.11"; 16 16 format = "setuptools"; 17 17 18 18 disabled = pythonOlder "3.6"; ··· 21 21 owner = "simonw"; 22 22 repo = pname; 23 23 rev = version; 24 - hash = "sha256-JgqKmZG3K4JwQ1Bzw2oll/LQ1njA9wFhX0/uYr9XjAU="; 24 + hash = "sha256-t6Q+/2k93cEk+eeFm9aOvZNb1IcUzt66iApfH2FvHbw="; 25 25 }; 26 26 27 27 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/twitch-python/default.nix
··· 2 2 3 3 buildPythonPackage rec { 4 4 pname = "twitch-python"; 5 - version = "0.0.19"; 5 + version = "0.0.20"; 6 6 7 7 src = fetchPypi { 8 8 inherit pname version; 9 - sha256 = "b0b02abdd33458e4ffabc632aa6a6779f3599e188819632551353b6c5553f5c5"; 9 + sha256 = "sha256-bgnXIQuOCrtoknZ9ciB56zWxTCnncM2032TVaey6oXw="; 10 10 }; 11 11 12 12 disabled = !isPy3k;
+8 -6
pkgs/development/tools/go-toml/default.nix
··· 1 - { lib, buildGoPackage, fetchFromGitHub }: 1 + { lib, buildGoModule, fetchFromGitHub }: 2 2 3 - buildGoPackage rec { 3 + buildGoModule rec { 4 4 pname = "go-toml"; 5 - version = "1.9.4"; 5 + version = "2.0.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "pelletier"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-1ENmSeo3TtTvhgwtbmq+O9n9fD/FqSUiCrSplkJNTTg="; 11 + sha256 = "sha256-NdUD+QpqKU5CaY2vBEop6hoK6z1Ok4Dn+W9eUHaGFb4="; 12 12 }; 13 13 14 - goPackagePath = "github.com/pelletier/go-toml"; 14 + vendorSha256 = "sha256-TuyrtUAbT++S3glpCD603KV6QMkOFv5FgnPpYcMjy1I="; 15 + 16 + excludedPackages = [ "cmd/gotoml-test-decoder" "cmd/tomltestgen" ]; 15 17 16 - excludedPackages = [ "cmd/tomltestgen" ]; 18 + ldflags = [ "-s" "-w" ]; 17 19 18 20 meta = with lib; { 19 21 description = "Go library for the TOML language";
+5 -3
pkgs/tools/misc/pouf/default.nix
··· 6 6 7 7 rustPlatform.buildRustPackage rec { 8 8 pname = "pouf"; 9 - version = "0.4.1"; 9 + version = "0.4.3"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "mothsart"; 13 13 repo = pname; 14 14 rev = version; 15 - sha256 = "0q7kj6x61xci8piax6vg3bsm9di11li7pm84vj13iwahdydhs1hn"; 15 + sha256 = "1dgk2g13hz64vdx9sqkixl0321cnfnhrm7hxp68vwfcfx3gvfjv8"; 16 16 }; 17 17 18 - cargoSha256 = "128fgdp74lyv5k054cdjxzwmyb5cyy0jq0a9l4bsc34122mznnq7"; 18 + cargoSha256 = "0ipyc9l9kr7izh3dmvczq1i7al56yiaz20yaarz8bpsfcrmgwy3s"; 19 + 20 + postInstall = "make PREFIX=$out copy-data"; 19 21 20 22 meta = with lib; { 21 23 description = "A cli program for produce fake datas.";
+2
pkgs/top-level/all-packages.nix
··· 2961 2961 2962 2962 cloudflared = callPackage ../applications/networking/cloudflared { }; 2963 2963 2964 + cloudflare-dyndns = python3Packages.cloudflare-dyndns; 2965 + 2964 2966 cloudmonkey = callPackage ../tools/virtualization/cloudmonkey { }; 2965 2967 2966 2968 clib = callPackage ../tools/package-management/clib { };
+2
pkgs/top-level/python-packages.nix
··· 1736 1736 1737 1737 cloudflare = callPackage ../development/python-modules/cloudflare { }; 1738 1738 1739 + cloudflare-dyndns = callPackage ../applications/networking/cloudflare-dyndns { }; 1740 + 1739 1741 cloudpickle = callPackage ../development/python-modules/cloudpickle { }; 1740 1742 1741 1743 cloudscraper = callPackage ../development/python-modules/cloudscraper { };