@@ -1288,10 +1288,12 @@ operator:
12881288 # Additional annotations for the pods of the Edge Proxy deployment managed by the operator.
12891289 podAnnotations : {}
12901290
1291- # Settings related to the Agent0 connector (experimental/beta ).
1291+ # Settings related to the Agent0 connector (experimental).
12921292 agent0Connector :
12931293
1294- # The agent0-connector feature is currently experimental, do not enable it (yet).
1294+ # The agent0-connector feature is currently experimental, do not enable it.
1295+ #
1296+ # All other settings in operator.agent0Connector will be ignored if operator.agent0Connector.enabled is false.
12951297 enabled : false
12961298
12971299 # The address (host:port) of the Dash0 backend service the agent0-connector pod connects to. This value is mandatory
@@ -1323,8 +1325,8 @@ operator:
13231325 # secret with the command above (see property "name"), you would set the property to "token".
13241326 key :
13251327
1326- # Disables TLS for the agent0-connector workload 's connection to the Dash0 backend, connecting via plaintext
1327- # instead. This is only intended for local development.
1328+ # Disables TLS for the agent0-connector's connection to the Dash0 backend, connecting via plaintext instead. This
1329+ # is only intended for local development.
13281330 insecure : false
13291331
13301332 # Resource settings for the agent0-connector container of the agent0-connector deployment managed by the operator.
@@ -1341,6 +1343,47 @@ operator:
13411343 requests :
13421344 memory : 32Mi
13431345
1346+ # Additional labels to be set on the agent0-connector deployment managed by the operator.
1347+ labels : {}
1348+
1349+ # Additional annotations to be set on the agent0-connector deployment managed by the operator.
1350+ annotations : {}
1351+
1352+ # Additional labels to be set on the agent0-connector deployment pods managed by the operator.
1353+ podLabels : {}
1354+
1355+ # Additional annotations to be set on the agent0-connector deployment pods managed by the operator.
1356+ podAnnotations : {}
1357+
1358+ # An array of tolerations for the agent0-connector deployment managed by the operator. This can be used to make sure
1359+ # that the agent0-connector pod can be scheduled on nodes where it would not be scheduled otherwise due to
1360+ # Kubernetes taints.
1361+ # Example:
1362+ # tolerations:
1363+ # - key: "key1"
1364+ # operator: "Equal"
1365+ # value: "value1"
1366+ # effect: "NoSchedule"
1367+ # - key: "key2"
1368+ # operator: "Exists"
1369+ # effect: "NoSchedule"
1370+ tolerations : []
1371+
1372+ # The nodeAffinity for the agent0-connector deployment managed by the operator. This can be used to constrain which
1373+ # nodes the agent0-connector pod will be scheduled on.
1374+ #
1375+ # See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1376+ nodeAffinity :
1377+ requiredDuringSchedulingIgnoredDuringExecution :
1378+ nodeSelectorTerms :
1379+ - matchExpressions :
1380+ - key : " dash0.com/enable"
1381+ operator : " NotIn"
1382+ values : ["false"]
1383+ - key : " kubernetes.io/os"
1384+ operator : " In"
1385+ values : ["linux"]
1386+
13441387 # Settings for the cluster role the operator creates for the agent0-connector.
13451388 clusterRole :
13461389
@@ -1364,14 +1407,33 @@ operator:
13641407 # "kubectl auth can-i" requires and which cannot modify cluster state. Any other verb, in particular a write verb
13651408 # like "create", "update", "patch" or "delete", as well as the wildcard "*", makes the Helm installation fail.
13661409 #
1367- # Note that reading the content of Kubernetes secrets is rejected by the agent0-connector itself, independent of
1368- # the rules configured here.
1410+ # Allowing access to additional resources can have security implications. Only grant access to additional
1411+ # resources types when you are confident that it cannot be used to exfiltrate sensitive data (auth tokens,
1412+ # credentials, API secrets etc.) from the cluster. Failure to do so makes these secrets accessible to anyone who
1413+ # has access to your Dash0 organization. The agent0-connector component uses a set of restrictions and redaction
1414+ # mechanisms to prevent leaking secrets. The following are redacted:
1415+ # * the environment variable values and probe headers of any workload,
1416+ # * all credential fields in any of the Dash0 custom resources.
1417+ # Automatic redaction is also applied to the JSON or YAML content of ConfigMaps, if access to ConfigMaps is
1418+ # granted via custom RBAC rules. (ConfigMaps are inaccessible under the default RBAC rules.) The redaction of
1419+ # ConfigMap content is best-effort: the connector parses every value of data and binaryData that is a JSON or
1420+ # YAML object or list, including a YAML value that holds several documents, and replaces the values of certain
1421+ # key names (token, password, headers, queryParameters, httpHeaders). The values of binaryData are base64 and are
1422+ # decoded before they are inspected and encoded again afterwards. A credential in a format the connector cannot
1423+ # parse (a properties file, a shell script), or under a key name it does not know, is returned unredacted. That
1424+ # is to say, only allow access to ConfigMaps if they do not contain secrets, or if the redaction described here
1425+ # is sufficient.
1426+ #
1427+ # Note that a ConfigMap value the connector did redact something in is re-rendered as a whole, which drops its
1428+ # comments and normalizes its key order and scalar notation. A value nothing was redacted from is returned byte
1429+ # for byte.
13691430 #
1370- # For every other resource type, the agent0-connector redacts the credentials it knows about from a response
1371- # before it leaves the cluster. Secret redaction is applied to Dash0 custom resources and the Kubernetes resource
1372- # types which carry a pod spec (environment variable values are redacted). Granting access to a resource type
1373- # outside that set, for example a third-party custom resource which holds a credential, returns its content
1374- # unredacted.
1431+ # The content of every resource type outside the set mentioned above (standard Kubernetes workload resources,
1432+ # Dash0 custom resources, and JSON/YAML ConfigMap content) is returned verbatim, i.e. unredacted.
1433+ #
1434+ # Reading the *content* of Kubernetes secrets is rejected by the agent0-connector itself, independent of
1435+ # the rules configured here. (Listing secrets and checking for their presence is allowed, if the rules list the
1436+ # secrets resource type - the default rules do not include access to secrets).
13751437 #
13761438 # By default, Kubernetes grants the verb "get" for the API discovery URLs (/api, /apis, /openapi/v3, ..., all of
13771439 # which are required for this component) to the group system:authenticated via the system:discovery cluster role
@@ -1391,44 +1453,3 @@ operator:
13911453 # resources: ["selfsubjectaccessreviews", "selfsubjectrulesreviews"]
13921454 # verbs: ["create"]
13931455 rules : []
1394-
1395- # Additional labels to be set on the agent0-connector deployment managed by the operator.
1396- labels : {}
1397-
1398- # Additional annotations to be set on the agent0-connector deployment managed by the operator.
1399- annotations : {}
1400-
1401- # Additional labels to be set on the agent0-connector deployment pods managed by the operator.
1402- podLabels : {}
1403-
1404- # Additional annotations to be set on the agent0-connector deployment pods managed by the operator.
1405- podAnnotations : {}
1406-
1407- # An array of tolerations for the agent0-connector deployment managed by the operator. This can be used to make sure
1408- # that the agent0-connector pod can be scheduled on nodes where it would not be scheduled otherwise due to
1409- # Kubernetes taints.
1410- # Example:
1411- # tolerations:
1412- # - key: "key1"
1413- # operator: "Equal"
1414- # value: "value1"
1415- # effect: "NoSchedule"
1416- # - key: "key2"
1417- # operator: "Exists"
1418- # effect: "NoSchedule"
1419- tolerations : []
1420-
1421- # The nodeAffinity for the agent0-connector deployment managed by the operator. This can be used to constrain which
1422- # nodes the agent0-connector pod will be scheduled on.
1423- #
1424- # See https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
1425- nodeAffinity :
1426- requiredDuringSchedulingIgnoredDuringExecution :
1427- nodeSelectorTerms :
1428- - matchExpressions :
1429- - key : " dash0.com/enable"
1430- operator : " NotIn"
1431- values : ["false"]
1432- - key : " kubernetes.io/os"
1433- operator : " In"
1434- values : ["linux"]
0 commit comments