fix: allow to override catwalk url

Andrey Nering created

Change summary

internal/config/load.go     | 2 +-
internal/config/provider.go | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)

Detailed changes

internal/config/load.go 🔗

@@ -17,7 +17,7 @@ import (
 	"github.com/charmbracelet/crush/internal/log"
 )
 
-const catwalkURL = "https://catwalk.charm.sh"
+const defaultCatwalkURL = "https://catwalk.charm.sh"
 
 // LoadReader config via io.Reader.
 func LoadReader(fd io.Reader) (*Config, error) {

internal/config/provider.go 🔗

@@ -1,6 +1,7 @@
 package config
 
 import (
+	"cmp"
 	"encoding/json"
 	"fmt"
 	"log/slog"
@@ -74,6 +75,7 @@ func loadProvidersFromCache(path string) ([]catwalk.Provider, error) {
 }
 
 func Providers() ([]catwalk.Provider, error) {
+	catwalkURL := cmp.Or(os.Getenv("CATWALK_URL"), defaultCatwalkURL)
 	client := catwalk.NewWithURL(catwalkURL)
 	path := providerCacheFileData()
 	return loadProvidersOnce(client, path)