Add prometheus for home network
This commit is contained in:
parent
3b89194a8a
commit
d7483490cd
10 changed files with 331 additions and 21 deletions
|
|
@ -28,5 +28,6 @@
|
||||||
unifi-https.tcp = 8443;
|
unifi-https.tcp = 8443;
|
||||||
wireguard-public-ip-tunnel.udp = 51000;
|
wireguard-public-ip-tunnel.udp = 51000;
|
||||||
wireguard-esphome.udp = 51001;
|
wireguard-esphome.udp = 51001;
|
||||||
|
prometheus-vodafone-station-exporter.tcp = 9420;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,10 @@ mqtt-users:
|
||||||
valetudo: ENC[AES256_GCM,data:+HRz6X+A5dhmx43G99ka0u9VozuzOFWR,iv:SPw5yoiBqN7sBH5EofevacTtu45jmuTPqToKrar0aJ0=,tag:lf+usB/eNNP1yuWW/QyTqQ==,type:str]
|
valetudo: ENC[AES256_GCM,data:+HRz6X+A5dhmx43G99ka0u9VozuzOFWR,iv:SPw5yoiBqN7sBH5EofevacTtu45jmuTPqToKrar0aJ0=,tag:lf+usB/eNNP1yuWW/QyTqQ==,type:str]
|
||||||
photoprism:
|
photoprism:
|
||||||
oidc-secret: ENC[AES256_GCM,data:XTAiUiGZJfSZHNbz6fePl3iMDdbxFSE7+SQH2ECRFqlo7w8TAhLyNXBxlEfGvu+8vttbKdkEm0r7132Q4ftOtA==,iv:WGsQXolbtRWIq4EDgODWNmkXdOZCsA9A3Fqoo4lJyec=,tag:5zJftwB5If/RZB3hI0Ly8A==,type:str]
|
oidc-secret: ENC[AES256_GCM,data:XTAiUiGZJfSZHNbz6fePl3iMDdbxFSE7+SQH2ECRFqlo7w8TAhLyNXBxlEfGvu+8vttbKdkEm0r7132Q4ftOtA==,iv:WGsQXolbtRWIq4EDgODWNmkXdOZCsA9A3Fqoo4lJyec=,tag:5zJftwB5If/RZB3hI0Ly8A==,type:str]
|
||||||
|
prometheus:
|
||||||
|
exporters:
|
||||||
|
vodafone-station: ENC[AES256_GCM,data:eaFqYEuK3UU=,iv:BauymCkvj33TmZLyii367uVEc4Iq4GGcik4nbyT9Fpk=,tag:poB+qh5tAdv/dEt3WN6yVw==,type:str]
|
||||||
|
unpoller: ENC[AES256_GCM,data:WI1oUKHW4ef4pBk+mGM=,iv:C1LykPf1/ypUmy3ZCQzjfSjkpxhUukDNnfJnZLp2CJg=,tag:mSnZJKl9IHcx7I7GpFherw==,type:str]
|
||||||
sops:
|
sops:
|
||||||
age:
|
age:
|
||||||
- recipient: age1hx7fdu4mcha7kkxe7yevtvs6xgzgaafgenm3drhvr609wlj94sgqm497je
|
- recipient: age1hx7fdu4mcha7kkxe7yevtvs6xgzgaafgenm3drhvr609wlj94sgqm497je
|
||||||
|
|
@ -29,8 +33,8 @@ sops:
|
||||||
SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV
|
SU1USkxFUUY2NVhmUHBhZkdrNDR1Q0kKiXIicInELRjDR3tuyA+lnXeCcd9lYvbV
|
||||||
GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ==
|
GnBRGPM7BNO/6AA7HhAei48Kt+XE6+jQX66yTXyviKhK7Lpjrlb2YQ==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2025-06-11T22:17:21Z"
|
lastmodified: "2025-09-15T15:29:31Z"
|
||||||
mac: ENC[AES256_GCM,data:l785PSSvzb/C3n6QnUHc+YTKSRLP/FjGzi0EOersLEFd/XGDy0vzPv5RJzE6475zUt9hHko9324z2woficG84CenjB3+IF0GtTtM8654KlLN5C91n06OrInG2hvOp68j6mAg1x9+XS1OBuNLGXEr7Bt0lkqD31JH6NyWqirQ1/4=,iv:Nuurf42iuTmH4bJ790HbGgB3tThA2/EZQ9JOcns5QeA=,tag:Qh9tsPWiYJAIO3cP430ccg==,type:str]
|
mac: ENC[AES256_GCM,data:7clDIKf/lRxXaYpiJS8+j8MzUvPTZmf20M4xM2sto+DSh2h/rJTvQanbg4/2yNVmLCX6FZ6USJb7bqg7aBw7Yv7RMoEio/HO6BtKNcHiLLiCW0dXkIROO4s5rc1S/nwtSFpifhgN2KrjXyBq+PVFk61on7K861zimsHev/KmDKk=,iv:9S1KONQWBMJBQElvAQ+NAOn15BrN0IkIyjedwSUm7oY=,tag:Kc8N8F5rz0EVIHseT1x0Kw==,type:str]
|
||||||
pgp:
|
pgp:
|
||||||
- created_at: "2024-01-31T01:20:30Z"
|
- created_at: "2024-01-31T01:20:30Z"
|
||||||
enc: |-
|
enc: |-
|
||||||
|
|
|
||||||
|
|
@ -7,20 +7,21 @@
|
||||||
./esphome
|
./esphome
|
||||||
./home-assistant.nix
|
./home-assistant.nix
|
||||||
./jellyfin.nix
|
./jellyfin.nix
|
||||||
./wireguard-esphome.nix
|
|
||||||
./mail.nix
|
./mail.nix
|
||||||
./matrix.nix
|
./matrix.nix
|
||||||
./navidrome.nix
|
./navidrome.nix
|
||||||
./nginx.nix
|
./nginx.nix
|
||||||
./ntp.nix
|
./ntp.nix
|
||||||
./photoprism.nix
|
./photoprism.nix
|
||||||
|
./prometheus.nix
|
||||||
./public-ip-tunnel.nix
|
./public-ip-tunnel.nix
|
||||||
./radicale.nix
|
./radicale.nix
|
||||||
./remarkable.nix
|
./remarkable.nix
|
||||||
./snapcast
|
./snapcast
|
||||||
./sturzbach.nix
|
./sturzbach.nix
|
||||||
./tts.nix
|
./tts.nix
|
||||||
./unifi-controller.nix
|
./unifi-controller
|
||||||
./whatsapp.nix
|
./whatsapp.nix
|
||||||
|
./wireguard-esphome.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
207
hosts/iron/services/prometheus.nix
Normal file
207
hosts/iron/services/prometheus.nix
Normal file
|
|
@ -0,0 +1,207 @@
|
||||||
|
{ config
|
||||||
|
, lib
|
||||||
|
, pkgs
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
#domain = "";
|
||||||
|
cfg = config.services.prometheus;
|
||||||
|
mkStaticTargets = targets: lib.singleton { inherit targets; };
|
||||||
|
inherit (config.networking) ports;
|
||||||
|
blackboxRelabelConfig = [
|
||||||
|
{
|
||||||
|
source_labels = [ "__address__" ];
|
||||||
|
target_label = "__param_target";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
source_labels = [ "__param_target" ];
|
||||||
|
target_label = "instance";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
target_label = "__address__";
|
||||||
|
replacement = with config.services.prometheus.exporters.blackbox; "${listenAddress}:${toString port}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
#sops.secrets.prometheus-htpasswd = {
|
||||||
|
# owner = "nginx";
|
||||||
|
# sopsFile = ../secrets.yaml;
|
||||||
|
#};
|
||||||
|
|
||||||
|
services.prometheus = {
|
||||||
|
enable = true;
|
||||||
|
listenAddress = "127.0.0.1";
|
||||||
|
#webExternalUrl = "https://${domain}";
|
||||||
|
globalConfig = {
|
||||||
|
scrape_interval = "15s";
|
||||||
|
evaluation_interval = "15s";
|
||||||
|
};
|
||||||
|
extraFlags = [
|
||||||
|
"--storage.tsdb.retention.time=90d"
|
||||||
|
"--web.enable-admin-api"
|
||||||
|
];
|
||||||
|
scrapeConfigs = [
|
||||||
|
{
|
||||||
|
job_name = "node";
|
||||||
|
static_configs = [
|
||||||
|
{
|
||||||
|
targets = with config.services.prometheus.exporters.node; [
|
||||||
|
"${listenAddress}:${toString port}"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
relabel_configs = [
|
||||||
|
{
|
||||||
|
source_labels = [ "__address__" ];
|
||||||
|
target_label = "instance";
|
||||||
|
replacement = config.networking.hostName;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
job_name = "vodafone_station";
|
||||||
|
static_configs = mkStaticTargets [
|
||||||
|
"127.0.0.1:${toString ports.prometheus-vodafone-station-exporter.tcp}"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
job_name = "unifi";
|
||||||
|
static_configs = mkStaticTargets [
|
||||||
|
"${cfg.exporters.unpoller.listenAddress}:${toString cfg.exporters.unpoller.port}"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
{
|
||||||
|
job_name = "blackbox";
|
||||||
|
metrics_path = "/probe";
|
||||||
|
params.module = [ "http_2xx" ];
|
||||||
|
static_configs = [
|
||||||
|
{
|
||||||
|
targets = [
|
||||||
|
"https://c58r0l3wtmqltl4y.myfritz.net:44919/"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
relabel_configs = blackboxRelabelConfig;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
job_name = "internet_ip4";
|
||||||
|
static_configs = mkStaticTargets [ "1.1.1.1" "8.8.8.8" ];
|
||||||
|
metrics_path = "/probe";
|
||||||
|
params.module = [ "icmp_ip4" ];
|
||||||
|
relabel_configs = blackboxRelabelConfig;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
job_name = "internet_ip6";
|
||||||
|
static_configs = mkStaticTargets [ "2606:4700:4700::1111" "2001:4860:4860::8888" ];
|
||||||
|
metrics_path = "/probe";
|
||||||
|
params.module = [ "icmp_ip6" ];
|
||||||
|
relabel_configs = blackboxRelabelConfig;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
exporters = {
|
||||||
|
node.enable = true;
|
||||||
|
|
||||||
|
blackbox = {
|
||||||
|
enable = true;
|
||||||
|
listenAddress = "127.0.0.1";
|
||||||
|
|
||||||
|
# https://github.com/prometheus/blackbox_exporter/blob/master/CONFIGURATION.md
|
||||||
|
configFile = pkgs.writeText "prometheus-blackbox-config" (builtins.toJSON {
|
||||||
|
modules = {
|
||||||
|
icmp_ip4 = {
|
||||||
|
prober = "icmp";
|
||||||
|
timeout = "5s";
|
||||||
|
icmp = {
|
||||||
|
ip_protocol_fallback = false;
|
||||||
|
preferred_ip_protocol = "ip4";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
icmp_ip6 = {
|
||||||
|
prober = "icmp";
|
||||||
|
timeout = "5s";
|
||||||
|
icmp = {
|
||||||
|
ip_protocol_fallback = false;
|
||||||
|
preferred_ip_protocol = "ip6";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
http_2xx = {
|
||||||
|
prober = "http";
|
||||||
|
timeout = "5s";
|
||||||
|
http = {
|
||||||
|
valid_http_versions = [ "HTTP/1.1" "HTTP/2.0" ];
|
||||||
|
valid_status_codes = [ ]; # Defaults to 2xx
|
||||||
|
method = "GET";
|
||||||
|
follow_redirects = true;
|
||||||
|
fail_if_ssl = false;
|
||||||
|
fail_if_not_ssl = true;
|
||||||
|
tls_config = {
|
||||||
|
insecure_skip_verify = false;
|
||||||
|
};
|
||||||
|
preferred_ip_protocol = "ip4"; # defaults to "ip6"
|
||||||
|
ip_protocol_fallback = false; # no fallback to "ip6"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
*/
|
||||||
|
#
|
||||||
|
|
||||||
|
systemd.services.prometheus-vodafone-station-exporter =
|
||||||
|
let
|
||||||
|
unitName = "prometheus-vodafone-station-exporter";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
description = "Prometheus Vodafone Station exporter";
|
||||||
|
wants = [ "network.target" ];
|
||||||
|
after = [ "network.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
BindReadOnlyPaths = [
|
||||||
|
"/nix/store"
|
||||||
|
"/etc/resolv.conf"
|
||||||
|
];
|
||||||
|
DynamicUser = "yes";
|
||||||
|
ExecStart = lib.strings.concatStringsSep " " [
|
||||||
|
"${pkgs.vodafone-station-exporter}/bin/vodafone-station-exporter"
|
||||||
|
"-web.listen-address"
|
||||||
|
"127.0.0.1:${toString ports.prometheus-vodafone-station-exporter.tcp}"
|
||||||
|
"-vodafone.station-url"
|
||||||
|
"http://192.168.100.1"
|
||||||
|
"-vodafone.station-password-file"
|
||||||
|
"\${CREDENTIALS_DIRECTORY}/password"
|
||||||
|
];
|
||||||
|
LoadCredential = "password:${config.sops.secrets."prometheus/exporters/vodafone-station".path}";
|
||||||
|
NoNewPrivileges = true;
|
||||||
|
PrivateTmp = true;
|
||||||
|
ProtectControlGroups = true;
|
||||||
|
ProtectHome = true;
|
||||||
|
ProtectKernelModules = true;
|
||||||
|
ProtectKernelTunables = true;
|
||||||
|
RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX";
|
||||||
|
RestrictNamespaces = true;
|
||||||
|
RootDirectory = "%t/${unitName}";
|
||||||
|
RuntimeDirectory = [ unitName ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
services.nginx.virtualHosts."${domain}" = {
|
||||||
|
enableACME = true;
|
||||||
|
forceSSL = true;
|
||||||
|
|
||||||
|
#basicAuthFile = config.sops.secrets.prometheus-htpasswd.path;
|
||||||
|
|
||||||
|
locations = {
|
||||||
|
"/".proxyPass = "http://${cfg.listenAddress}:${toString cfg.port}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (config.networking) ports;
|
|
||||||
interfaces = import ../interfaces.nix;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
services.unifi = {
|
|
||||||
enable = true;
|
|
||||||
unifiPackage = pkgs.unifi;
|
|
||||||
mongodbPackage = pkgs.mongodb-7_0;
|
|
||||||
};
|
|
||||||
networking.firewall.interfaces."${interfaces.lan}".allowedTCPPorts = [
|
|
||||||
ports.unifi-http.tcp
|
|
||||||
ports.unifi-https.tcp
|
|
||||||
];
|
|
||||||
}
|
|
||||||
35
hosts/iron/services/unifi-controller/default.nix
Normal file
35
hosts/iron/services/unifi-controller/default.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
{ config, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (config.networking) ports;
|
||||||
|
interfaces = import ../../interfaces.nix;
|
||||||
|
#domain = "unifi.weinturm.de";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./unpoller.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
services.unifi.enable = true;
|
||||||
|
|
||||||
|
networking.firewall.interfaces."${interfaces.lan}".allowedTCPPorts = [
|
||||||
|
ports.unifi-http.tcp
|
||||||
|
ports.unifi-https.tcp
|
||||||
|
];
|
||||||
|
|
||||||
|
/*
|
||||||
|
services.nginx.virtualHosts = {
|
||||||
|
"${domain}" = {
|
||||||
|
enableACME = true;
|
||||||
|
forceSSL = true;
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "https://127.0.0.1:8443";
|
||||||
|
recommendedProxySettings = true;
|
||||||
|
extraConfig = ''
|
||||||
|
proxy_ssl_verify off;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
}
|
||||||
22
hosts/iron/services/unifi-controller/unpoller.nix
Normal file
22
hosts/iron/services/unifi-controller/unpoller.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
sops.secrets."prometheus/exporters/unpoller" = {
|
||||||
|
owner = config.services.prometheus.exporters.unpoller.user;
|
||||||
|
sopsFile = ../../secrets.yaml;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.prometheus.exporters.unpoller = {
|
||||||
|
enable = true;
|
||||||
|
controllers = [
|
||||||
|
{
|
||||||
|
user = "unpoller";
|
||||||
|
url = "https://127.0.0.1:8443";
|
||||||
|
pass = config.sops.secrets."prometheus/exporters/unpoller".path;
|
||||||
|
verify_ssl = false;
|
||||||
|
hash_pii = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
log.prometheusErrors = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -34,4 +34,7 @@ in
|
||||||
vim-fluid = callPackage ./vim-fluid { inherit (prev.vimUtils) buildVimPlugin; };
|
vim-fluid = callPackage ./vim-fluid { inherit (prev.vimUtils) buildVimPlugin; };
|
||||||
vim-typoscript = callPackage ./vim-typoscript { inherit (prev.vimUtils) buildVimPlugin; };
|
vim-typoscript = callPackage ./vim-typoscript { inherit (prev.vimUtils) buildVimPlugin; };
|
||||||
};
|
};
|
||||||
|
vodafone-station-exporter = callPackage ./vodafone-station-exporter {
|
||||||
|
inherit (inputs.gomod2nix.legacyPackages.${system}) buildGoApplication;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
12
pkgs/vodafone-station-exporter/default.nix
Normal file
12
pkgs/vodafone-station-exporter/default.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ buildGoApplication, fetchgit }:
|
||||||
|
|
||||||
|
buildGoApplication {
|
||||||
|
pname = "vodafone-station-exporter";
|
||||||
|
version = "0.0.1";
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://git.jalr.de/jalr/vodafone-station-exporter";
|
||||||
|
rev = "808564b940c3570e3b32ce60657bf83fda75ec3c";
|
||||||
|
hash = "sha256-A3Behy8Q7bhYXoGUsZXzIAQd/dTXH4d4wd+FDYuD7tE=";
|
||||||
|
};
|
||||||
|
modules = ./gomod2nix.toml;
|
||||||
|
}
|
||||||
42
pkgs/vodafone-station-exporter/gomod2nix.toml
Normal file
42
pkgs/vodafone-station-exporter/gomod2nix.toml
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
schema = 3
|
||||||
|
|
||||||
|
[mod]
|
||||||
|
[mod."github.com/beorn7/perks"]
|
||||||
|
version = "v1.0.1"
|
||||||
|
hash = "sha256-h75GUqfwJKngCJQVE5Ao5wnO3cfKD9lSIteoLp/3xJ4="
|
||||||
|
[mod."github.com/cespare/xxhash/v2"]
|
||||||
|
version = "v2.3.0"
|
||||||
|
hash = "sha256-7hRlwSR+fos1kx4VZmJ/7snR7zHh8ZFKX+qqqqGcQpY="
|
||||||
|
[mod."github.com/kr/text"]
|
||||||
|
version = "v0.2.0"
|
||||||
|
hash = "sha256-fadcWxZOORv44oak3jTxm6YcITcFxdGt4bpn869HxUE="
|
||||||
|
[mod."github.com/munnerz/goautoneg"]
|
||||||
|
version = "v0.0.0-20191010083416-a7dc8b61c822"
|
||||||
|
hash = "sha256-79URDDFenmGc9JZu+5AXHToMrtTREHb3BC84b/gym9Q="
|
||||||
|
[mod."github.com/prometheus/client_golang"]
|
||||||
|
version = "v1.23.2"
|
||||||
|
hash = "sha256-3GD4fBFa1tJu8MS4TNP6r2re2eViUE+kWUaieIOQXCg="
|
||||||
|
[mod."github.com/prometheus/client_model"]
|
||||||
|
version = "v0.6.2"
|
||||||
|
hash = "sha256-q6Fh6v8iNJN9ypD47LjWmx66YITa3FyRjZMRsuRTFeQ="
|
||||||
|
[mod."github.com/prometheus/common"]
|
||||||
|
version = "v0.66.1"
|
||||||
|
hash = "sha256-bqHPaV9IV70itx63wqwgy2PtxMN0sn5ThVxDmiD7+Tk="
|
||||||
|
[mod."github.com/prometheus/procfs"]
|
||||||
|
version = "v0.16.1"
|
||||||
|
hash = "sha256-OBCvKlLW2obct35p0L9Q+1ZrxZjpTmbgHMP2rng9hpo="
|
||||||
|
[mod."go.yaml.in/yaml/v2"]
|
||||||
|
version = "v2.4.2"
|
||||||
|
hash = "sha256-oC8RWdf1zbMYCtmR0ATy/kCkhIwPR9UqFZSMOKLVF/A="
|
||||||
|
[mod."golang.org/x/crypto"]
|
||||||
|
version = "v0.42.0"
|
||||||
|
hash = "sha256-qa6cGxZUhVnbkpVzfvLGQQsl/NCqNceJp9SIx5vkyiI="
|
||||||
|
[mod."golang.org/x/exp"]
|
||||||
|
version = "v0.0.0-20250911091902-df9299821621"
|
||||||
|
hash = "sha256-cSDirFex900mrckzB3fe18hW2Vk4/y4xKvlUWq3yoDA="
|
||||||
|
[mod."golang.org/x/sys"]
|
||||||
|
version = "v0.36.0"
|
||||||
|
hash = "sha256-9h4SHGnlJzmTENUp6226hC8fQ73QrQC3D85NNMxLuXg="
|
||||||
|
[mod."google.golang.org/protobuf"]
|
||||||
|
version = "v1.36.8"
|
||||||
|
hash = "sha256-yZN8ZON0b5HjUNUSubHst7zbvnMsOzd81tDPYQRtPgM="
|
||||||
Loading…
Add table
Add a link
Reference in a new issue