From 3c0f89c66a28e1712b4d3aa075b167cb4aea2783 Mon Sep 17 00:00:00 2001 From: Victor Date: Sun, 25 Dec 2022 17:35:14 +0100 Subject: [PATCH] downgrade minio, need to migrate --- nixos/hosts/hades/minio/configuration.nix | 6 +-- nixos/hosts/olympus/minio/configuration.nix | 4 +- nixos/pkgs/default.nix | 3 ++ nixos/pkgs/minio-old/default.nix | 51 +++++++++++++++++++++ 4 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 nixos/pkgs/minio-old/default.nix diff --git a/nixos/hosts/hades/minio/configuration.nix b/nixos/hosts/hades/minio/configuration.nix index 503d35b..00039c3 100644 --- a/nixos/hosts/hades/minio/configuration.nix +++ b/nixos/hosts/hades/minio/configuration.nix @@ -1,8 +1,7 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: let vs = config.vault-secrets.secrets; -in -{ +in { system.stateVersion = "22.11"; networking.firewall.allowedTCPPorts = [ 9000 9001 ]; @@ -14,5 +13,6 @@ in services.minio = { enable = true; rootCredentialsFile = "${vs.minio}/environment"; + package = pkgs.v.minio-old; }; } diff --git a/nixos/hosts/olympus/minio/configuration.nix b/nixos/hosts/olympus/minio/configuration.nix index a73bf0b..5e45019 100644 --- a/nixos/hosts/olympus/minio/configuration.nix +++ b/nixos/hosts/olympus/minio/configuration.nix @@ -2,8 +2,8 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). -{ config, pkgs, ... }: -let +{ config, pkgs, lib, ... }: +let vs = config.vault-secrets.secrets; listenPort = 9000; consolePort = 9001; diff --git a/nixos/pkgs/default.nix b/nixos/pkgs/default.nix index 3a5edee..3e7f642 100644 --- a/nixos/pkgs/default.nix +++ b/nixos/pkgs/default.nix @@ -1,6 +1,9 @@ # nix-build -E 'with import {}; callPackage ./default.nix {}' final: prev: { v = { + # nixos 22.11 version of minio, need to upgrade backend from fs to xl + minio-old = prev.callPackage ./minio-old { }; + glitch-soc = prev.callPackage ./glitch-soc { }; deemix-gui = prev.callPackage ./deemix-gui { }; diff --git a/nixos/pkgs/minio-old/default.nix b/nixos/pkgs/minio-old/default.nix new file mode 100644 index 0000000..13c29ac --- /dev/null +++ b/nixos/pkgs/minio-old/default.nix @@ -0,0 +1,51 @@ +{ lib, buildGoModule, fetchFromGitHub, nixosTests }: + +let + # The web client verifies, that the server version is a valid datetime string: + # https://github.com/minio/minio/blob/3a0e7347cad25c60b2e51ff3194588b34d9e424c/browser/app/js/web.js#L51-L53 + # + # Example: + # versionToTimestamp "2021-04-22T15-44-28Z" + # => "2021-04-22T15:44:28Z" + versionToTimestamp = version: + let + splitTS = builtins.elemAt (builtins.split "(.*)(T.*)" version) 1; + in + builtins.concatStringsSep "" [ (builtins.elemAt splitTS 0) (builtins.replaceStrings [ "-" ] [ ":" ] (builtins.elemAt splitTS 1)) ]; +in +buildGoModule rec { + pname = "minio"; + version = "2022-10-24T18-35-07Z"; + + src = fetchFromGitHub { + owner = "minio"; + repo = "minio"; + rev = "RELEASE.${version}"; + sha256 = "sha256-sABNzhyfBNU5pWyE/VWHUzuSyKsx0glj01ectJPakV8="; + }; + + vendorSha256 = "sha256-wB3UiuptT6D0CIUlHC1d5k0rjIxNeh5yAWOmYpyLGmA="; + + doCheck = false; + + subPackages = [ "." ]; + + CGO_ENABLED = 0; + + tags = [ "kqueue" ]; + + ldflags = let t = "github.com/minio/minio/cmd"; in [ + "-s" "-w" "-X ${t}.Version=${versionToTimestamp version}" "-X ${t}.ReleaseTag=RELEASE.${version}" "-X ${t}.CommitID=${src.rev}" + ]; + + passthru.tests.minio = nixosTests.minio; + + meta = with lib; { + homepage = "https://www.minio.io/"; + description = "An S3-compatible object storage server"; + changelog = "https://github.com/minio/minio/releases/tag/RELEASE.${version}"; + maintainers = with maintainers; [ eelco bachp ]; + platforms = platforms.unix; + license = licenses.agpl3Plus; + }; +}