@@ -921,7 +921,8 @@ func Server(vip *viper.Viper, newAPI func(context.Context, *coderd.Options) (*co
921
921
},
922
922
}
923
923
924
- root .AddCommand (& cobra.Command {
924
+ var pgRawURL bool
925
+ postgresBuiltinURLCmd := & cobra.Command {
925
926
Use : "postgres-builtin-url" ,
926
927
Short : "Output the connection URL for the built-in PostgreSQL deployment." ,
927
928
RunE : func (cmd * cobra.Command , _ []string ) error {
@@ -930,37 +931,49 @@ func Server(vip *viper.Viper, newAPI func(context.Context, *coderd.Options) (*co
930
931
if err != nil {
931
932
return err
932
933
}
933
- _ , _ = fmt .Fprintf (cmd .OutOrStdout (), "psql %q\n " , url )
934
+ if pgRawURL {
935
+ _ , _ = fmt .Fprintf (cmd .OutOrStdout (), "%s\n " , url )
936
+ } else {
937
+ _ , _ = fmt .Fprintf (cmd .OutOrStdout (), "%s\n " , cliui .Styles .Code .Render (fmt .Sprintf ("psql %q" , url )))
938
+ }
934
939
return nil
935
940
},
936
- })
937
-
938
- root .AddCommand (& cobra.Command {
941
+ }
942
+ postgresBuiltinServeCmd := & cobra.Command {
939
943
Use : "postgres-builtin-serve" ,
940
944
Short : "Run the built-in PostgreSQL deployment." ,
941
945
RunE : func (cmd * cobra.Command , args []string ) error {
946
+ ctx := cmd .Context ()
947
+
942
948
cfg := createConfig (cmd )
943
949
logger := slog .Make (sloghuman .Sink (cmd .ErrOrStderr ()))
944
950
if ok , _ := cmd .Flags ().GetBool (varVerbose ); ok {
945
951
logger = logger .Leveled (slog .LevelDebug )
946
952
}
947
953
948
- url , closePg , err := startBuiltinPostgres (cmd .Context (), cfg , logger )
954
+ ctx , cancel := signal .NotifyContext (ctx , InterruptSignals ... )
955
+ defer cancel ()
956
+
957
+ url , closePg , err := startBuiltinPostgres (ctx , cfg , logger )
949
958
if err != nil {
950
959
return err
951
960
}
952
961
defer func () { _ = closePg () }()
953
962
954
- cmd . Println ( cliui . Styles . Code . Render ( "psql \" " + url + " \" " ))
955
-
956
- stopChan := make ( chan os. Signal , 1 )
957
- defer signal . Stop ( stopChan )
958
- signal . Notify ( stopChan , os . Interrupt )
963
+ if pgRawURL {
964
+ _ , _ = fmt . Fprintf ( cmd . OutOrStdout (), "%s \n " , url )
965
+ } else {
966
+ _ , _ = fmt . Fprintf ( cmd . OutOrStdout (), "%s \n " , cliui . Styles . Code . Render ( fmt . Sprintf ( "psql %q" , url )) )
967
+ }
959
968
960
- <- stopChan
969
+ <- ctx . Done ()
961
970
return nil
962
971
},
963
- })
972
+ }
973
+ postgresBuiltinURLCmd .Flags ().BoolVar (& pgRawURL , "raw-url" , false , "Output the raw connection URL instead of a psql command." )
974
+ postgresBuiltinServeCmd .Flags ().BoolVar (& pgRawURL , "raw-url" , false , "Output the raw connection URL instead of a psql command." )
975
+
976
+ root .AddCommand (postgresBuiltinURLCmd , postgresBuiltinServeCmd )
964
977
965
978
deployment .AttachFlags (root .Flags (), vip , false )
966
979
0 commit comments