def process_augmentation_fields()

in mysqloperator/controller/innodbcluster/logs/logs_collector_fluentd_api.py [0:0]


    def process_augmentation_fields(self) -> None:
        if not self.filter_enabled():
            return

        records: Dict[str] = {}
        envs: List[Dict] = []
        if self.labels:
            for recordDef in self.labels:
                labelName = recordDef['labelName']
                env_name = self._mangle_label_for_env(labelName)
                env = {
                    "name" : env_name,
                    "valueFrom": {
                        "fieldRef" : {
                            "fieldPath" : f"metadata.labels['{labelName}']"
                        }
                    }
                }
                envs.append(env)
                records[recordDef["fieldName"]] = """ "${ENV['""" +  env_name + """']}" """

        if self.annotations:
            for recordDef in self.annotations:
                annotationName = recordDef['annotationName']
                env_name = self._mangle_annotation_for_env(annotationName)
                env = {
                    "name" : env_name,
                    "valueFrom": {
                        "fieldRef" : {
                            "fieldPath" : f"metadata.annotations['{annotationName}']"
                        }
                    }
                }
                envs.append(env)
                records[recordDef["fieldName"]] = """ "${ENV['""" +  env_name + """']}" """

        if self.staticFields:
            for recordDef in self.staticFields:
                records[recordDef["fieldName"]] = self.escape_value_for_fluent_conf(recordDef["fieldValue"])

        if self.podFields:
            for recordDef in self.podFields:
                fieldPath = recordDef['fieldPath']
                env_name = self._mangle_pod_field_for_env(fieldPath)
                env = {
                    "name" : env_name,
                    "valueFrom": {
                        "fieldRef" : {
                            "fieldPath" : fieldPath
                        }
                    }
                }
                envs.append(env)
                records[recordDef["fieldName"]] = """ "${ENV['""" +  env_name + """']}" """

        if self.resourceFields:
            for recordDef in self.resourceFields:
                containerName = recordDef['containerName']
                resource = recordDef['resource']
                env_name = self._mangle_resource_field_for_env(f"{containerName}_{resource}")
                env = {
                    "name" : env_name,
                    "valueFrom": {
                        "resourceFieldRef" : {
                            "containerName" : containerName,
                            "resource" : resource
                        }
                    }
                }
                envs.append(env)
                records[recordDef["fieldName"]] = """ "${ENV['""" +  env_name + """']}" """

        self.records = records
        self.envs = envs