Unverified Commit bcd6066a authored by Ivan Trubach's avatar Ivan Trubach Committed by GitHub
Browse files

centrifugo: 5.4.9 -> 6.1.0 (#396824)

parents 60852fa7 ffcc12d1
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -112,6 +112,8 @@

- `pkgs.nextcloud28` has been removed since it's out of support upstream.

- `centrifugo` was updated to v6, which uses a new config format. See [upstream documentation](https://centrifugal.dev/docs/getting-started/migration_v6) for migration.

- `teleport` has been upgraded from major version 16 to major version 17.
  Refer to [upstream upgrade instructions](https://goteleport.com/docs/upgrading/overview/)
  and [release notes for v17](https://goteleport.com/docs/changelog/#1701-11152024).
+8 −0
Original line number Diff line number Diff line
@@ -65,6 +65,14 @@ in
  };

  config = lib.mkIf cfg.enable {
    assertions = [
      {
        assertion =
          (lib.versionAtLeast cfg.package.version "6") -> (!(cfg.settings ? name) && !(cfg.settings ? port));
        message = "`services.centrifugo.settings` is v5 config, must be compatible with centrifugo v6 config format";
      }
    ];

    systemd.services.centrifugo = {
      description = "Centrifugo messaging server";
      wantedBy = [ "multi-user.target" ];
+13 −9
Original line number Diff line number Diff line
@@ -10,7 +10,10 @@ in
{ lib, ... }:
{
  name = "centrifugo";
  meta.maintainers = [ lib.maintainers.tie ];
  meta.maintainers = [
    lib.maintainers.tie
    lib.maintainers.valodim
  ];

  nodes = lib.listToAttrs (
    lib.imap0 (index: name: {
@@ -21,12 +24,15 @@ in
          services.centrifugo = {
            enable = true;
            settings = {
              node = {
                inherit name;
              port = centrifugoPort;
              # See https://centrifugal.dev/docs/server/engines#redis-sharding
              engine = "redis";
              # Connect to local Redis shard via Unix socket.
              redis_address =
              };
              http_server.port = centrifugoPort;
              http_api.insecure = true;
              usage_stats.disabled = true;

              engine.type = "redis";
              engine.redis.address =
                let
                  toRedisAddresses = map (name: "${name}:${toString redisPort}");
                in
@@ -35,8 +41,6 @@ in
                  "unix://${config.services.redis.servers.centrifugo.unixSocket}"
                ]
                ++ toRedisAddresses (lib.drop (index + 1) nodes);
              usage_stats_disable = true;
              api_insecure = true;
            };
            extraGroups = [
              config.services.redis.servers.centrifugo.user
+10 −7
Original line number Diff line number Diff line
@@ -16,23 +16,23 @@ let
in
buildGoModule rec {
  pname = "centrifugo";
  version = "5.4.9";
  version = "6.1.0";

  src = fetchFromGitHub {
    owner = "centrifugal";
    repo = "centrifugo";
    rev = "v${version}";
    hash = "sha256-FDtAkoN1bdqVUEP0obbXBfQfVRpZN5YXbU1KT1yXWuI=";
    hash = "sha256-7hh9wcM9cMfQ2W2PlDitTdJD9ftZt/KO/B+wV/c588U=";
  };

  vendorHash = "sha256-WfYN7bhtOPDp2UeB/WqtN3dD3+WO9lIxnXe2iTqn000=";
  vendorHash = "sha256-hl1BznajnaOXMrlSqksqPdJih29yRDYW9IsyV9mSN20=";

  ldflags = [
    "-s"
    "-w"
    "-X=github.com/centrifugal/centrifugo/v5/internal/build.Version=${version}"
    "-X=github.com/centrifugal/centrifugo/v5/internal/build.UsageStatsEndpoint=${statsEndpoint}"
    "-X=github.com/centrifugal/centrifugo/v5/internal/build.UsageStatsToken=${statsToken}"
    "-X=github.com/centrifugal/centrifugo/v6/internal/build.Version=${version}"
    "-X=github.com/centrifugal/centrifugo/v6/internal/build.UsageStatsEndpoint=${statsEndpoint}"
    "-X=github.com/centrifugal/centrifugo/v6/internal/build.UsageStatsToken=${statsToken}"
  ];

  excludedPackages = [
@@ -56,7 +56,10 @@ buildGoModule rec {
    homepage = "https://centrifugal.dev";
    changelog = "https://github.com/centrifugal/centrifugo/releases/tag/v${version}";
    license = lib.licenses.asl20;
    maintainers = [ lib.maintainers.tie ];
    maintainers = [
      lib.maintainers.tie
      lib.maintainers.valodim
    ];
    mainProgram = "centrifugo";
  };
}