podgrab: drop (#569489)

This commit is contained in:
Peder Bergebakken Sundt
2026-10-08 15:47:10 +00:00
committed by GitHub
9 changed files with 9 additions and 165 deletions

View File

@@ -177,6 +177,8 @@
- `etcd_3_4` package was dropped, as it's gone EOL. Please upgrade to either 3.5 or 3.6. See [migration notes](https://etcd.io/docs/v3.6/upgrades/upgrade_3_6/) for incompatibilities and upgrade procedure.
- `podgrab` package was dropped, as it is unmaintained.
- `rke2` retires ingress-nginx and transitions to Traefik starting in `rke2_1_36`. Because ingress-nginx was retired upstream as of March 2026, Traefik is now the default
for new clusters starting in v1.36 (existing clusters will keep their current ingress upon upgrade to avoid breakage). This transition brings the following structural changes:
- Airgapped Environments: The rke2-images-core tarball now contains Traefik images instead of ingress-nginx. The standalone rke2-images-traefik tarball has been removed.

View File

@@ -265,6 +265,8 @@
- `services.pghero` has been removed because the `pghero` package was unmaintained and thus dropped from Nixpkgs.
- `services.podgrab` has been removed because the `podgrab` package was unmaintained and thus dropped from Nixpkgs.
- Apache Kafka has dropped support for ZooKeeper mode. The `apacheKafka_3_9` and `apacheKafka_4_0` packages have been removed, as every remaining packaged version is KRaft-only. The `services.apache-kafka.zookeeper` option (previously an alias for `services.apache-kafka.settings."zookeeper.connect"`) has been removed; migrate your cluster to [KRaft](#module-services-apache-kafka-kraft) mode instead.
- `virtualisation.containers.registries.block` / `insecure` / `search` were deprecated,

View File

@@ -977,7 +977,6 @@
./services/misc/pinnwand.nix
./services/misc/plex.nix
./services/misc/plikd.nix
./services/misc/podgrab.nix
./services/misc/polaris.nix
./services/misc/portunus.nix
./services/misc/pufferpanel.nix

View File

@@ -96,6 +96,10 @@ in
due to lack of usage and being broken since its introduction.
''
) # added 2025-11-29
(mkRemovedOptionModule [
"services"
"podgrab"
] "The corresponding package was removed from nixpkgs.") # added 2026-10-02
(mkRemovedOptionModule [
"programs"
"goldwarden"

View File

@@ -1,88 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.podgrab;
stateDir = "/var/lib/podgrab";
in
{
options.services.podgrab = with lib; {
enable = mkEnableOption "Podgrab, a self-hosted podcast manager";
passwordFile = mkOption {
type = with types; nullOr str;
default = null;
example = "/run/secrets/password.env";
description = ''
The path to a file containing the PASSWORD environment variable
definition for Podgrab's authentication.
'';
};
port = mkOption {
type = types.port;
default = 8080;
example = 4242;
description = "The port on which Podgrab will listen for incoming HTTP traffic.";
};
dataDirectory = mkOption {
type = types.path;
default = "${stateDir}/data";
example = "/mnt/podcasts";
description = "Directory to store downloads.";
};
user = mkOption {
type = types.str;
default = "podgrab";
description = "User under which Podgrab runs, and which owns the download directory.";
};
group = mkOption {
type = types.str;
default = "podgrab";
description = "Group under which Podgrab runs, and which owns the download directory.";
};
};
config = lib.mkIf cfg.enable {
systemd.tmpfiles.settings."10-pyload" = {
${cfg.dataDirectory}.d = { inherit (cfg) user group; };
};
systemd.services.podgrab = {
description = "Podgrab podcast manager";
wantedBy = [ "multi-user.target" ];
environment = {
CONFIG = "${stateDir}/config";
DATA = cfg.dataDirectory;
GIN_MODE = "release";
PORT = toString cfg.port;
};
serviceConfig = {
User = cfg.user;
Group = cfg.group;
EnvironmentFile = lib.optionals (cfg.passwordFile != null) [
cfg.passwordFile
];
ExecStart = "${pkgs.podgrab}/bin/podgrab";
WorkingDirectory = "${pkgs.podgrab}/share";
StateDirectory = [ "podgrab/config" ];
};
};
users.users.podgrab = lib.mkIf (cfg.user == "podgrab") {
isSystemUser = true;
group = cfg.group;
};
users.groups.podgrab = lib.mkIf (cfg.group == "podgrab") { };
};
meta.maintainers = with lib.maintainers; [ ambroisie ];
}

View File

@@ -1502,7 +1502,6 @@ in
plikd = runTest ./plikd.nix;
plotinus = runTest ./plotinus.nix;
pocket-id = runTest ./pocket-id.nix;
podgrab = runTest ./podgrab.nix;
podman = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./podman/default.nix { };
podman-tls-ghostunnel = handleTestOn [
"aarch64-linux"

View File

@@ -1,39 +0,0 @@
let
defaultPort = 8080;
customPort = 4242;
in
{ pkgs, ... }:
{
name = "podgrab";
nodes = {
default =
{ ... }:
{
services.podgrab.enable = true;
};
customized =
{ ... }:
{
services.podgrab = {
enable = true;
port = customPort;
};
};
};
testScript = ''
start_all()
default.wait_for_unit("podgrab")
default.wait_for_open_port(${toString defaultPort})
default.succeed("curl --fail http://localhost:${toString defaultPort}")
customized.wait_for_unit("podgrab")
customized.wait_for_open_port(${toString customPort})
customized.succeed("curl --fail http://localhost:${toString customPort}")
'';
meta.maintainers = with pkgs.lib.maintainers; [ ambroisie ];
}

View File

@@ -1,36 +0,0 @@
{
lib,
fetchFromGitHub,
buildGoModule,
nixosTests,
}:
buildGoModule {
pname = "podgrab";
version = "0-unstable-2021-04-14";
src = fetchFromGitHub {
owner = "akhilrex";
repo = "podgrab";
rev = "3179a875b8b638fb86d0e829d12a9761c1cd7f90";
sha256 = "sha256-vhxIm20ZUi+RusrAsSY54tv/D570/oMO5qLz9dNqgqo=";
};
vendorHash = "sha256-xY9xNuJhkWPgtqA/FBVIp7GuWOv+3nrz6l3vaZVLlIE=";
postInstall = ''
mkdir -p $out/share/
cp -r $src/client $out/share/
cp -r $src/webassets $out/share/
'';
passthru.tests = { inherit (nixosTests) podgrab; };
meta = {
description = "Self-hosted podcast manager to download episodes as soon as they become live";
mainProgram = "podgrab";
homepage = "https://github.com/akhilrex/podgrab";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ ambroisie ];
};
}

View File

@@ -2118,6 +2118,7 @@ mapAliases {
pnpm_9 = throw "'pnpm_9' was removed because it reached EOL on 2026-04-30"; # added 2026-08-03
poac = throw "'poac' has been renamed to/replaced by 'cabinpkg'"; # Converted to throw 2025-10-27
pocket-updater-utility = throw "'pocket-updater-utility' has been renamed to/replaced by 'pupdate'"; # Converted to throw 2025-10-27
podgrab = throw "'podgrab' has been removed because it it was unmaintained upstream"; # Added 20206-10-02
podofo010 = throw "'podofo010' has been renamed to 'podofo0'"; # Converted to throw 2025-10-27
podofo_0_9 = throw "'podofo_0_9' has been deprecated, it may be replaced by 'podofo0'"; # Added 2026-05-08
podofo_0_10 = warnAlias "'podofo_0_10' has been renamed to 'podofo0'" podofo0; # Added 2026-05-08