From 4befe2a252754d35a0c5e54790a1fc47474139ef Mon Sep 17 00:00:00 2001 From: AliDatadog <125997632+AliDatadog@users.noreply.github.com> Date: Tue, 1 Oct 2024 11:27:46 +0200 Subject: [PATCH] Set Registry to Azure if using us3 (#1438) --- api/datadoghq/v2alpha1/const.go | 1 + api/datadoghq/v2alpha1/datadogagent_default.go | 3 +++ .../v2alpha1/datadogagent_default_test.go | 15 +++++++++++++++ api/datadoghq/v2alpha1/datadogagent_types.go | 4 ++++ .../crd/bases/v1/datadoghq.com_datadogagents.yaml | 4 ++++ docs/configuration.v2alpha1.md | 2 +- 6 files changed, 28 insertions(+), 1 deletion(-) diff --git a/api/datadoghq/v2alpha1/const.go b/api/datadoghq/v2alpha1/const.go index 346c5c978..7fe87e8f9 100644 --- a/api/datadoghq/v2alpha1/const.go +++ b/api/datadoghq/v2alpha1/const.go @@ -108,6 +108,7 @@ const ( DefaultAgentImageName string = "agent" DefaultClusterAgentImageName string = "cluster-agent" DefaultImageRegistry string = "gcr.io/datadoghq" + DefaultAzureImageRegistry string = "datadoghq.azurecr.io" DefaultEuropeImageRegistry string = "eu.gcr.io/datadoghq" DefaultAsiaImageRegistry string = "asia.gcr.io/datadoghq" DefaultGovImageRegistry string = "public.ecr.aws/datadog" diff --git a/api/datadoghq/v2alpha1/datadogagent_default.go b/api/datadoghq/v2alpha1/datadogagent_default.go index cfc4194d6..c4f4bb59a 100644 --- a/api/datadoghq/v2alpha1/datadogagent_default.go +++ b/api/datadoghq/v2alpha1/datadogagent_default.go @@ -16,6 +16,7 @@ const ( defaultSite string = "datadoghq.com" defaultEuropeSite string = "datadoghq.eu" defaultAsiaSite string = "ap1.datadoghq.com" + defaultAzureSite string = "us3.datadoghq.com" defaultGovSite string = "ddog-gov.com" defaultLogLevel string = "info" @@ -140,6 +141,8 @@ func defaultGlobalConfig(ddaSpec *DatadogAgentSpec) { ddaSpec.Global.Registry = apiutils.NewStringPointer(DefaultEuropeImageRegistry) case defaultAsiaSite: ddaSpec.Global.Registry = apiutils.NewStringPointer(DefaultAsiaImageRegistry) + case defaultAzureSite: + ddaSpec.Global.Registry = apiutils.NewStringPointer(DefaultAzureImageRegistry) case defaultGovSite: ddaSpec.Global.Registry = apiutils.NewStringPointer(DefaultGovImageRegistry) default: diff --git a/api/datadoghq/v2alpha1/datadogagent_default_test.go b/api/datadoghq/v2alpha1/datadogagent_default_test.go index 02a7ecc01..0bd4e3bd6 100644 --- a/api/datadoghq/v2alpha1/datadogagent_default_test.go +++ b/api/datadoghq/v2alpha1/datadogagent_default_test.go @@ -68,6 +68,21 @@ func Test_defaultGlobal(t *testing.T) { }, }, }, + { + name: "test registry defaulting based on site - Azure", + ddaSpec: &DatadogAgentSpec{ + Global: &GlobalConfig{ + Site: apiutils.NewStringPointer(defaultAzureSite), + }, + }, + want: &DatadogAgentSpec{ + Global: &GlobalConfig{ + Site: apiutils.NewStringPointer(defaultAzureSite), + Registry: apiutils.NewStringPointer(DefaultAzureImageRegistry), + LogLevel: apiutils.NewStringPointer(defaultLogLevel), + }, + }, + }, { name: "test registry defaulting based on site - Gov", ddaSpec: &DatadogAgentSpec{ diff --git a/api/datadoghq/v2alpha1/datadogagent_types.go b/api/datadoghq/v2alpha1/datadogagent_types.go index 2605ac972..bb51ed465 100644 --- a/api/datadoghq/v2alpha1/datadogagent_types.go +++ b/api/datadoghq/v2alpha1/datadogagent_types.go @@ -1158,6 +1158,10 @@ type GlobalConfig struct { // Registry is the image registry to use for all Agent images. // Use 'public.ecr.aws/datadog' for AWS ECR. + // Use 'datadoghq.azurecr.io' for Azure Container Registry. + // Use 'gcr.io/datadoghq' for Google Container Registry. + // Use 'eu.gcr.io/datadoghq' for Google Container Registry in the EU region. + // Use 'asia.gcr.io/datadoghq' for Google Container Registry in the Asia region. // Use 'docker.io/datadog' for DockerHub. // Default: 'gcr.io/datadoghq' // +optional diff --git a/config/crd/bases/v1/datadoghq.com_datadogagents.yaml b/config/crd/bases/v1/datadoghq.com_datadogagents.yaml index 5ead3f217..7505a9224 100644 --- a/config/crd/bases/v1/datadoghq.com_datadogagents.yaml +++ b/config/crd/bases/v1/datadoghq.com_datadogagents.yaml @@ -2050,6 +2050,10 @@ spec: description: |- Registry is the image registry to use for all Agent images. Use 'public.ecr.aws/datadog' for AWS ECR. + Use 'datadoghq.azurecr.io' for Azure Container Registry. + Use 'gcr.io/datadoghq' for Google Container Registry. + Use 'eu.gcr.io/datadoghq' for Google Container Registry in the EU region. + Use 'asia.gcr.io/datadoghq' for Google Container Registry in the Asia region. Use 'docker.io/datadog' for DockerHub. Default: 'gcr.io/datadoghq' type: string diff --git a/docs/configuration.v2alpha1.md b/docs/configuration.v2alpha1.md index bdb28d7cf..333f859f9 100644 --- a/docs/configuration.v2alpha1.md +++ b/docs/configuration.v2alpha1.md @@ -222,7 +222,7 @@ spec: | global.originDetectionUnified.enabled | Enabled enables unified mechanism for origin detection. Default: false | | global.podAnnotationsAsTags | Provide a mapping of Kubernetes Annotations to Datadog Tags. : | | global.podLabelsAsTags | Provide a mapping of Kubernetes Labels to Datadog Tags. : | -| global.registry | Registry is the image registry to use for all Agent images. Use 'public.ecr.aws/datadog' for AWS ECR. Use 'docker.io/datadog' for DockerHub. Default: 'gcr.io/datadoghq' | +| global.registry | Registry is the image registry to use for all Agent images. Use 'public.ecr.aws/datadog' for AWS ECR. Use 'datadoghq.azurecr.io' for Azure Container Registry. Use 'gcr.io/datadoghq' for Google Container Registry. Use 'eu.gcr.io/datadoghq' for Google Container Registry in the EU region. Use 'asia.gcr.io/datadoghq' for Google Container Registry in the Asia region. Use 'docker.io/datadog' for DockerHub. Default: 'gcr.io/datadoghq' | | global.site | Site is the Datadog intake site Agent data are sent to. Set to 'datadoghq.com' to send data to the US1 site (default). Set to 'datadoghq.eu' to send data to the EU site. Set to 'us3.datadoghq.com' to send data to the US3 site. Set to 'us5.datadoghq.com' to send data to the US5 site. Set to 'ddog-gov.com' to send data to the US1-FED site. Set to 'ap1.datadoghq.com' to send data to the AP1 site. Default: 'datadoghq.com' | | global.tags | Tags contains a list of tags to attach to every metric, event and service check collected. Learn more about tagging: https://docs.datadoghq.com/tagging/ | | override | Override the default configurations of the agents |