From f26e363a55e55254e999db16be835242e9d89596 Mon Sep 17 00:00:00 2001 From: ezilber-akamai Date: Tue, 3 Feb 2026 14:23:47 -0500 Subject: [PATCH 1/3] Parse OBJ endpoint domain --- linodecli/plugins/obj/config.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/linodecli/plugins/obj/config.py b/linodecli/plugins/obj/config.py index f53806df5..3233edbcd 100644 --- a/linodecli/plugins/obj/config.py +++ b/linodecli/plugins/obj/config.py @@ -3,12 +3,24 @@ """ import shutil +import os +import re ENV_ACCESS_KEY_NAME = "LINODE_CLI_OBJ_ACCESS_KEY" ENV_SECRET_KEY_NAME = "LINODE_CLI_OBJ_SECRET_KEY" -# replace {} with the cluster name -BASE_URL_TEMPLATE = "https://{}.linodeobjects.com" -BASE_WEBSITE_TEMPLATE = "{bucket}.website-{cluster}.linodeobjects.com" + +API_HOST = os.getenv("LINODE_CLI_API_HOST", "") + +match = re.match(r"api\.([^.]+)\.linode\.com", API_HOST) + +OBJ_DOMAIN = ( + "linodeobjects.com" + if not match or match.group(1) == "linode" + else f"{match.group(1)}.linodeobjects.com" +) + +BASE_URL_TEMPLATE = f"https://{{}}.{OBJ_DOMAIN}" +BASE_WEBSITE_TEMPLATE = f"{{bucket}}.website-{{cluster}}.{OBJ_DOMAIN}" # for all date output DATE_FORMAT = "%Y-%m-%d %H:%M" From 8b47666afc61933adbcb2d455541f8201711c1d9 Mon Sep 17 00:00:00 2001 From: ezilber-akamai Date: Tue, 3 Feb 2026 14:30:37 -0500 Subject: [PATCH 2/3] Fix lint --- linodecli/plugins/obj/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linodecli/plugins/obj/config.py b/linodecli/plugins/obj/config.py index 3233edbcd..d5083af09 100644 --- a/linodecli/plugins/obj/config.py +++ b/linodecli/plugins/obj/config.py @@ -2,9 +2,9 @@ The config of the object storage plugin. """ -import shutil import os import re +import shutil ENV_ACCESS_KEY_NAME = "LINODE_CLI_OBJ_ACCESS_KEY" ENV_SECRET_KEY_NAME = "LINODE_CLI_OBJ_SECRET_KEY" From 07395a8f1418a0e5de3993ca0e19f796f7ce41ce Mon Sep 17 00:00:00 2001 From: ezilber-akamai Date: Wed, 4 Feb 2026 10:36:36 -0500 Subject: [PATCH 3/3] Address CoPilot suggestions to improve clarity --- linodecli/plugins/obj/config.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/linodecli/plugins/obj/config.py b/linodecli/plugins/obj/config.py index d5083af09..0e287f56c 100644 --- a/linodecli/plugins/obj/config.py +++ b/linodecli/plugins/obj/config.py @@ -11,13 +11,12 @@ API_HOST = os.getenv("LINODE_CLI_API_HOST", "") -match = re.match(r"api\.([^.]+)\.linode\.com", API_HOST) +OBJ_DOMAIN = "linodeobjects.com" -OBJ_DOMAIN = ( - "linodeobjects.com" - if not match or match.group(1) == "linode" - else f"{match.group(1)}.linodeobjects.com" -) +if API_HOST: + match = re.match(r"api\.([^.]+)\.linode\.com", API_HOST) + if match: + OBJ_DOMAIN = f"{match.group(1)}.linodeobjects.com" BASE_URL_TEMPLATE = f"https://{{}}.{OBJ_DOMAIN}" BASE_WEBSITE_TEMPLATE = f"{{bucket}}.website-{{cluster}}.{OBJ_DOMAIN}"