From 0464ce51df599f3fe9db4ffd425db973563772c5 Mon Sep 17 00:00:00 2001 From: Samuel K Date: Sat, 11 Jul 2026 05:22:20 -0500 Subject: [PATCH] feat(assets): serve provider and IDE icons from dl.devsy.sh Repoint provider and IDE icon URLs to the Cloudflare R2 object storage host (dl.devsy.sh/assets) instead of the previously dead devsy.sh/assets and raw.githubusercontent.com paths. - Add config.DownloadBaseURL and point WebsiteAssetsURL at it, fixing all IDE icons that resolved through the old host. - Make the Bob IDE parse its icon via WebsiteAssetsURL like every other IDE, and add its dark variant. - Repoint built-in provider icons (docker, kubernetes, podman, pro) and the Pro fallback provider. --- cmd/pro/login.go | 2 +- hack/pro/provider.yaml | 2 +- pkg/config/repo.go | 5 ++++- pkg/ide/ideparse/parse.go | 5 +++-- providers/docker/provider.yaml | 2 +- providers/kubernetes/provider.yaml | 2 +- providers/podman/provider.yaml | 2 +- providers/pro/provider.yaml | 2 +- 8 files changed, 13 insertions(+), 9 deletions(-) diff --git a/cmd/pro/login.go b/cmd/pro/login.go index e81dcd763..aa507a2dd 100644 --- a/cmd/pro/login.go +++ b/cmd/pro/login.go @@ -362,7 +362,7 @@ func login( var fallbackProvider = `name: devsy-pro version: v0.0.0 -icon: https://devsy.sh/assets/devsy.svg +icon: https://dl.devsy.sh/assets/devsy.svg description: Devsy Pro options: DEVSY_CONFIG: diff --git a/hack/pro/provider.yaml b/hack/pro/provider.yaml index f21416024..29e18e3bc 100644 --- a/hack/pro/provider.yaml +++ b/hack/pro/provider.yaml @@ -1,6 +1,6 @@ name: devsy-pro version: ##VERSION## -icon: https://devsy.sh/assets/devsy.svg +icon: https://dl.devsy.sh/assets/devsy.svg description: Devsy Pro options: DEVSY_CONFIG: diff --git a/pkg/config/repo.go b/pkg/config/repo.go index 4a821845f..13d9b693d 100644 --- a/pkg/config/repo.go +++ b/pkg/config/repo.go @@ -28,8 +28,11 @@ const ( // WebsiteBaseURL is the project website used for asset URLs. WebsiteBaseURL = "https://" + RepoName + ".sh" + // DownloadBaseURL is the object storage host serving release artifacts and image assets. + DownloadBaseURL = "https://dl." + RepoName + ".sh" + // WebsiteAssetsURL is the base URL for icon/image assets. - WebsiteAssetsURL = WebsiteBaseURL + "/assets" + WebsiteAssetsURL = DownloadBaseURL + "/assets" // AgentDownloadBaseURL is the prefix under which versioned agent binaries are published. AgentDownloadBaseURL = GitHubReleasesURL + "/download/" diff --git a/pkg/ide/ideparse/parse.go b/pkg/ide/ideparse/parse.go index 2f460adda..705f5ffd7 100644 --- a/pkg/ide/ideparse/parse.go +++ b/pkg/ide/ideparse/parse.go @@ -65,7 +65,7 @@ var AllowedIDEs = []AllowedIDE{ Name: config.IDECodeServer, DisplayName: "code-server", Options: codeserver.Options, - Icon: "https://raw.githubusercontent.com/coder/code-server/main/src/browser/media/favicon.svg", + Icon: config.WebsiteAssetsURL + "/code-server.svg", Group: config.IDEGroupPrimary, }, { @@ -228,7 +228,8 @@ var AllowedIDEs = []AllowedIDE{ Name: config.IDEBob, DisplayName: "IBM Bob", Options: vscode.Options, - Icon: "https://devsy.sh/assets/bob.svg", + Icon: config.WebsiteAssetsURL + "/bob.svg", + IconDark: config.WebsiteAssetsURL + "/bob_dark.svg", Group: config.IDEGroupPrimary, }, } diff --git a/providers/docker/provider.yaml b/providers/docker/provider.yaml index 75085908c..b2056e0b1 100644 --- a/providers/docker/provider.yaml +++ b/providers/docker/provider.yaml @@ -1,6 +1,6 @@ name: docker version: v1.0.0 -icon: https://devsy.sh/assets/docker.svg +icon: https://dl.devsy.sh/assets/docker.svg home: https://github.com/devsy-org/devsy description: |- Devsy on Docker diff --git a/providers/kubernetes/provider.yaml b/providers/kubernetes/provider.yaml index 965c968cd..33c29a37f 100644 --- a/providers/kubernetes/provider.yaml +++ b/providers/kubernetes/provider.yaml @@ -1,6 +1,6 @@ name: kubernetes version: v1.0.0 -icon: https://devsy.sh/assets/kubernetes.svg +icon: https://dl.devsy.sh/assets/kubernetes.svg home: https://github.com/devsy-org/devsy description: |- Devsy on Kubernetes diff --git a/providers/podman/provider.yaml b/providers/podman/provider.yaml index 60ba8f810..be4f1f185 100644 --- a/providers/podman/provider.yaml +++ b/providers/podman/provider.yaml @@ -1,6 +1,6 @@ name: podman version: v1.0.0 -icon: https://devsy.sh/assets/podman.svg +icon: https://dl.devsy.sh/assets/podman.svg home: https://github.com/devsy-org/devsy description: |- Devsy on Podman diff --git a/providers/pro/provider.yaml b/providers/pro/provider.yaml index fbe4401bc..7f2216463 100644 --- a/providers/pro/provider.yaml +++ b/providers/pro/provider.yaml @@ -1,6 +1,6 @@ name: devsy-pro version: v1.0.0 -icon: https://devsy.sh/assets/devsy.svg +icon: https://dl.devsy.sh/assets/devsy.svg home: https://github.com/devsy-org/devsy description: Devsy Pro options: