nixos/{object,toot}: Ensure postgres is accessible on service start
This commit is contained in:
		@@ -126,6 +126,15 @@ rec {
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  systemdAwaitPostgres = pkg: host: {
 | 
			
		||||
    after = [ "systemd-networkd-wait-online.service" ];
 | 
			
		||||
    preStart = ''
 | 
			
		||||
      until ${pkg}/bin/pg_isready -h ${host}; do
 | 
			
		||||
        sleep 0.5
 | 
			
		||||
      done
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  deploy-rs =
 | 
			
		||||
  with types;
 | 
			
		||||
  let
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@
 | 
			
		||||
    let
 | 
			
		||||
      inherit (lib) mkMerge mkIf;
 | 
			
		||||
      inherit (config.my.user.homeConfig.lib.file) mkOutOfStoreSymlink;
 | 
			
		||||
      inherit (lib.my) networkdAssignment;
 | 
			
		||||
      inherit (lib.my) networkdAssignment systemdAwaitPostgres;
 | 
			
		||||
    in
 | 
			
		||||
    {
 | 
			
		||||
      config = mkMerge [
 | 
			
		||||
@@ -63,6 +63,7 @@
 | 
			
		||||
                  MINIO_BROWSER_REDIRECT_URL = "https://minio.nul.ie";
 | 
			
		||||
                };
 | 
			
		||||
              };
 | 
			
		||||
              sharry = systemdAwaitPostgres pkgs.postgresql "colony-psql";
 | 
			
		||||
            };
 | 
			
		||||
          };
 | 
			
		||||
 | 
			
		||||
@@ -82,7 +83,6 @@
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            sharry = {
 | 
			
		||||
              # TODO: wait for postgres connection to succeed
 | 
			
		||||
              enable = true;
 | 
			
		||||
              configOverridesFile = config.age.secrets."object/sharry.conf".path;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,8 +17,8 @@
 | 
			
		||||
 | 
			
		||||
    configuration = { lib, pkgs, config, assignments, allAssignments, ... }:
 | 
			
		||||
    let
 | 
			
		||||
      inherit (lib) mkMerge mkIf genAttrs mkBefore;
 | 
			
		||||
      inherit (lib.my) networkdAssignment;
 | 
			
		||||
      inherit (lib) mkMerge mkIf genAttrs;
 | 
			
		||||
      inherit (lib.my) networkdAssignment systemdAwaitPostgres;
 | 
			
		||||
    in
 | 
			
		||||
    {
 | 
			
		||||
      config = mkMerge [
 | 
			
		||||
@@ -61,9 +61,7 @@
 | 
			
		||||
              mastodon-init-dirs.script = ''
 | 
			
		||||
                echo "AWS_SECRET_ACCESS_KEY=\""$(< ${config.age.secrets."toot/s3-secret-key.txt".path})"\"" >> /var/lib/mastodon/.secrets_env
 | 
			
		||||
              '';
 | 
			
		||||
              mastodon-init-db = {
 | 
			
		||||
                after = [ "systemd-networkd-wait-online.service" ];
 | 
			
		||||
              };
 | 
			
		||||
              mastodon-init-db = systemdAwaitPostgres pkgs.postgresql "colony-psql";
 | 
			
		||||
 | 
			
		||||
              # Can't use the extraConfig because these services expect a different format for the both family bind address...
 | 
			
		||||
              mastodon-streaming.environment.BIND = "::";
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user