From 648b7c785b679945dc32e499ae55148b065fc7c5 Mon Sep 17 00:00:00 2001 From: Fanny Jiang Date: Thu, 10 Oct 2024 17:14:01 -0400 Subject: [PATCH] release v1.10.0-rc.1 --- ...atadog-operator.clusterserviceversion.yaml | 14 +- .../datadoghq.com_datadogagents.yaml | 332 +++++++++++++++++- config/manager/kustomization.yaml | 4 +- ...atadog-operator.clusterserviceversion.yaml | 13 +- 4 files changed, 336 insertions(+), 27 deletions(-) diff --git a/bundle/manifests/datadog-operator.clusterserviceversion.yaml b/bundle/manifests/datadog-operator.clusterserviceversion.yaml index 0972d4d53..04355a548 100644 --- a/bundle/manifests/datadog-operator.clusterserviceversion.yaml +++ b/bundle/manifests/datadog-operator.clusterserviceversion.yaml @@ -183,12 +183,12 @@ metadata: ] capabilities: Full Lifecycle categories: Monitoring, Logging & Tracing - createdAt: "2024-10-07 17:49:58" + createdAt: "2024-10-10 21:08:34" description: Datadog provides a modern monitoring and analytics platform. Gather metrics, logs and traces for full observability of your Kubernetes cluster with Datadog Operator. operators.operatorframework.io/builder: operator-sdk-v1.34.1 operators.operatorframework.io/project_layout: go.kubebuilder.io/v4 repository: https://github.com/DataDog/datadog-operator - containerImage: gcr.io/datadoghq/operator:1.9.0 + containerImage: gcr.io/datadoghq/operator:1.10.0-rc.1 support: Datadog, Inc. features.operators.openshift.io/disconnected: "true" features.operators.openshift.io/fips-compliant: "false" @@ -197,12 +197,12 @@ metadata: features.operators.openshift.io/token-auth-aws: "false" features.operators.openshift.io/token-auth-azure: "false" features.operators.openshift.io/token-auth-gcp: "false" - olm.skipRange: '>=1.7.0 <1.9.0' + olm.skipRange: '>=1.7.0 <1.10.0-rc.1' labels: operatorframework.io/arch.amd64: supported operatorframework.io/arch.arm64: supported operatorframework.io/os.linux: supported - name: datadog-operator.v1.9.0 + name: datadog-operator.v1.10.0-rc.1 namespace: placeholder spec: apiservicedefinitions: {} @@ -1085,7 +1085,7 @@ spec: fieldPath: metadata.annotations['olm.targetNamespaces'] - name: DD_TOOL_VERSION value: redhat - image: gcr.io/datadoghq/operator:1.9.0 + image: gcr.io/datadoghq/operator:1.10.0-rc.1 imagePullPolicy: IfNotPresent livenessProbe: httpGet: @@ -1183,5 +1183,5 @@ spec: minKubeVersion: 1.16.0 provider: name: Datadog - version: 1.9.0 - replaces: datadog-operator.v1.8.0 + version: 1.10.0-rc.1 + replaces: datadog-operator.v1.9.0 diff --git a/bundle/manifests/datadoghq.com_datadogagents.yaml b/bundle/manifests/datadoghq.com_datadogagents.yaml index 1d96b5459..39dd2a0e1 100644 --- a/bundle/manifests/datadoghq.com_datadogagents.yaml +++ b/bundle/manifests/datadoghq.com_datadogagents.yaml @@ -491,9 +491,7 @@ spec: Port Default: 8126 properties: enabled: - description: |- - Enabled enables host port configuration - Default: false + description: Enabled enables host port configuration type: boolean hostPort: description: |- @@ -809,9 +807,7 @@ spec: Port Default: 8125 properties: enabled: - description: |- - Enabled enables host port configuration - Default: false + description: Enabled enables host port configuration type: boolean hostPort: description: |- @@ -1340,7 +1336,8 @@ spec: ingest OTLP/gRPC receiver. properties: enabled: - description: Enable the OTLP/gRPC endpoint. + description: Enable the OTLP/gRPC endpoint. Host + port is enabled by default and can be disabled. type: boolean endpoint: description: |- @@ -1349,19 +1346,50 @@ spec: The Datadog Operator supports only 'host:port' (usually `0.0.0.0:port`). Default: `0.0.0.0:4317`. type: string + hostPortConfig: + description: |- + Enable hostPort for OTLP/gRPC + Default: true + properties: + enabled: + description: Enabled enables host port configuration + type: boolean + hostPort: + description: |- + Port takes a port number (0 < x < 65536) to expose on the host. (Most containers do not need this.) + If HostNetwork is enabled, this value must match the ContainerPort. + format: int32 + type: integer + type: object type: object http: description: HTTP contains configuration for the OTLP ingest OTLP/HTTP receiver. properties: enabled: - description: Enable the OTLP/HTTP endpoint. + description: Enable the OTLP/HTTP endpoint. Host + port is enabled by default and can be disabled. type: boolean endpoint: description: |- Endpoint for OTLP/HTTP. Default: '0.0.0.0:4318'. type: string + hostPortConfig: + description: |- + Enable hostPorts for OTLP/HTTP + Default: true + properties: + enabled: + description: Enabled enables host port configuration + type: boolean + hostPort: + description: |- + Port takes a port number (0 < x < 65536) to expose on the host. (Most containers do not need this.) + If HostNetwork is enabled, this value must match the ContainerPort. + format: int32 + type: integer + type: object type: object type: object type: object @@ -1616,6 +1644,124 @@ spec: description: URL defines the endpoint URL. type: string type: object + env: + description: Env contains a list of environment variables that + are set for all Agents. + items: + description: EnvVar represents an environment variable present + in a Container. + properties: + name: + description: Name of the environment variable. Must be a + C_IDENTIFIER. + type: string + value: + description: |- + Variable references $(VAR_NAME) are expanded + using the previously defined environment variables in the container and + any service environment variables. If a variable cannot be resolved, + the reference in the input string will be unchanged. Double $$ are reduced + to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. + "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". + Escaped references will never be expanded, regardless of whether the variable + exists or not. + Defaults to "". + type: string + valueFrom: + description: Source for the environment variable's value. + Cannot be used if value is not empty. + properties: + configMapKeyRef: + description: Selects a key of a ConfigMap. + properties: + key: + description: The key to select. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap or its + key must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + fieldRef: + description: |- + Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, + spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. + properties: + apiVersion: + description: Version of the schema the FieldPath + is written in terms of, defaults to "v1". + type: string + fieldPath: + description: Path of the field to select in the + specified API version. + type: string + required: + - fieldPath + type: object + x-kubernetes-map-type: atomic + resourceFieldRef: + description: |- + Selects a resource of the container: only resources limits and requests + (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. + properties: + containerName: + description: 'Container name: required for volumes, + optional for env vars' + type: string + divisor: + anyOf: + - type: integer + - type: string + description: Specifies the output format of the + exposed resources, defaults to "1" + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + resource: + description: 'Required: resource to select' + type: string + required: + - resource + type: object + x-kubernetes-map-type: atomic + secretKeyRef: + description: Selects a key of a secret in the pod's + namespace + properties: + key: + description: The key of the secret to select from. Must + be a valid secret key. + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret or its key + must be defined + type: boolean + required: + - key + type: object + x-kubernetes-map-type: atomic + type: object + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map fips: description: FIPS contains configuration used to customize the FIPS proxy sidecar. @@ -1912,6 +2058,28 @@ spec: Default: true type: boolean type: object + kubernetesResourcesAnnotationsAsTags: + additionalProperties: + additionalProperties: + type: string + type: object + description: "Provide a mapping of Kubernetes Resource Groups + to annotations mapping to Datadog Tags.\n:\n\t\t: + \nKUBERNETES_RESOURCE_GROUP should be in the + form `{resource}.{group}` or `{resource}` (example: deployments.apps, + pods)" + type: object + kubernetesResourcesLabelsAsTags: + additionalProperties: + additionalProperties: + type: string + type: object + description: "Provide a mapping of Kubernetes Resource Groups + to labels mapping to Datadog Tags.\n:\n\t\t: + \nKUBERNETES_RESOURCE_GROUP should be in the + form `{resource}.{group}` or `{resource}` (example: deployments.apps, + pods)" + type: object localService: description: LocalService contains configuration to customize the internal traffic policy service. @@ -2047,9 +2215,64 @@ 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 + secretBackend: + description: |- + Configure the secret backend feature https://docs.datadoghq.com/agent/guide/secrets-management + See also: https://github.com/DataDog/datadog-operator/blob/main/docs/secret_management.md + properties: + args: + description: List of arguments to pass to the command (space-separated + strings). + type: string + command: + description: |- + The secret backend command to use. Datadog provides a pre-defined binary `/readsecret_multiple_providers.sh`. + Read more about `/readsecret_multiple_providers.sh` at https://docs.datadoghq.com/agent/configuration/secrets-management/?tab=linux#script-for-reading-from-multiple-secret-providers. + type: string + enableGlobalPermissions: + description: |- + Whether to create a global permission allowing Datadog agents to read all Kubernetes secrets. + Default: `false`. + type: boolean + roles: + description: |- + Roles for Datadog to read the specified secrets, replacing `enableGlobalPermissions`. + They are defined as a list of namespace/secrets. + Each defined namespace needs to be present in the DatadogAgent controller using `WATCH_NAMESPACE` or `DD_AGENT_WATCH_NAMESPACE`. + See also: https://github.com/DataDog/datadog-operator/blob/main/docs/secret_management.md#how-to-deploy-the-agent-components-using-the-secret-backend-feature-with-datadogagent. + items: + description: SecretBackendRolesConfig provides configuration + of the secrets Datadog agents can read for the SecretBackend + feature + properties: + namespace: + description: Namespace defines the namespace in which + the secrets reside. + type: string + secrets: + description: Secrets defines the list of secrets for + which a role should be created. + items: + type: string + type: array + x-kubernetes-list-type: set + type: object + type: array + x-kubernetes-list-type: atomic + timeout: + description: |- + The command timeout in seconds. + Default: `30`. + format: int32 + type: integer + type: object site: description: |- Site is the Datadog intake site Agent data are sent to. @@ -3895,6 +4118,49 @@ spec: x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map + envFrom: + description: |- + EnvFrom specifies the ConfigMaps and Secrets to expose as environment variables. + Priority is env > envFrom. + items: + description: EnvFromSource represents the source of a set + of ConfigMaps + properties: + configMapRef: + description: The ConfigMap to select from + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the ConfigMap must be + defined + type: boolean + type: object + x-kubernetes-map-type: atomic + prefix: + description: An optional identifier to prepend to each + key in the ConfigMap. Must be a C_IDENTIFIER. + type: string + secretRef: + description: The Secret to select from + properties: + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + TODO: Add other useful fields. apiVersion, kind, uid? + type: string + optional: + description: Specify whether the Secret must be defined + type: boolean + type: object + x-kubernetes-map-type: atomic + type: object + type: array extraChecksd: description: |- Checksd configuration allowing to specify custom checks placed under /etc/datadog-agent/checks.d/ @@ -4270,6 +4536,12 @@ spec: type: string type: object type: object + serviceAccountAnnotations: + additionalProperties: + type: string + description: Sets the ServiceAccountAnnotations used by this + component. + type: object serviceAccountName: description: |- Sets the ServiceAccount used by this component. @@ -6696,9 +6968,7 @@ spec: Port Default: 8126 properties: enabled: - description: |- - Enabled enables host port configuration - Default: false + description: Enabled enables host port configuration type: boolean hostPort: description: |- @@ -7016,9 +7286,7 @@ spec: Port Default: 8125 properties: enabled: - description: |- - Enabled enables host port configuration - Default: false + description: Enabled enables host port configuration type: boolean hostPort: description: |- @@ -7551,6 +7819,8 @@ spec: properties: enabled: description: Enable the OTLP/gRPC endpoint. + Host port is enabled by default and can + be disabled. type: boolean endpoint: description: |- @@ -7559,6 +7829,22 @@ spec: The Datadog Operator supports only 'host:port' (usually `0.0.0.0:port`). Default: `0.0.0.0:4317`. type: string + hostPortConfig: + description: |- + Enable hostPort for OTLP/gRPC + Default: true + properties: + enabled: + description: Enabled enables host port + configuration + type: boolean + hostPort: + description: |- + Port takes a port number (0 < x < 65536) to expose on the host. (Most containers do not need this.) + If HostNetwork is enabled, this value must match the ContainerPort. + format: int32 + type: integer + type: object type: object http: description: HTTP contains configuration for the @@ -7566,12 +7852,30 @@ spec: properties: enabled: description: Enable the OTLP/HTTP endpoint. + Host port is enabled by default and can + be disabled. type: boolean endpoint: description: |- Endpoint for OTLP/HTTP. Default: '0.0.0.0:4318'. type: string + hostPortConfig: + description: |- + Enable hostPorts for OTLP/HTTP + Default: true + properties: + enabled: + description: Enabled enables host port + configuration + type: boolean + hostPort: + description: |- + Port takes a port number (0 < x < 65536) to expose on the host. (Most containers do not need this.) + If HostNetwork is enabled, this value must match the ContainerPort. + format: int32 + type: integer + type: object type: object type: object type: object diff --git a/config/manager/kustomization.yaml b/config/manager/kustomization.yaml index e1ae19d04..c1800a5c4 100644 --- a/config/manager/kustomization.yaml +++ b/config/manager/kustomization.yaml @@ -2,7 +2,7 @@ resources: - manager.yaml images: - name: controller - newName: fannyatdd/operator - newTag: saa + newName: gcr.io/datadoghq/operator + newTag: 1.10.0-rc.1 apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/config/manifests/bases/datadog-operator.clusterserviceversion.yaml b/config/manifests/bases/datadog-operator.clusterserviceversion.yaml index 0007d919f..70cf27a07 100644 --- a/config/manifests/bases/datadog-operator.clusterserviceversion.yaml +++ b/config/manifests/bases/datadog-operator.clusterserviceversion.yaml @@ -21,6 +21,11 @@ spec: apiservicedefinitions: {} customresourcedefinitions: owned: + - description: DatadogAgent Deployment with Datadog Operator. + displayName: Datadog Agent + kind: DatadogAgent + name: datadogagents.datadoghq.com + version: v1alpha1 - description: DatadogAgentProfile is the Schema for the datadogagentprofiles API displayName: Datadog Agent Profile @@ -32,10 +37,10 @@ spec: kind: DatadogAgent name: datadogagents.datadoghq.com version: v2alpha1 - - description: DatadogAgent Deployment with Datadog Operator. - displayName: Datadog Agent - kind: DatadogAgent - name: datadogagents.datadoghq.com + - description: DatadogDashboard is the Schema for the datadogdashboards API + displayName: Datadog Dashboard + kind: DatadogDashboard + name: datadogdashboards.datadoghq.com version: v1alpha1 - description: DatadogMetric allows autoscaling on arbitrary Datadog query displayName: Datadog Metric