docs: def _parse_agent_section(cfg, parser, section):
      '''
      Example of agent section:
      [agent:dns_production]
      application: feat
      agent_type: dns_agent
      descriptor.some_integer: 5
      descriptor.some_string: "hello"
      initiate.suffix: "service.lan"
      initiate.array_of_strings: ["string1", "string2"]
      '''
      agent_type = cfg.get(section, 'agent_type')
      desc_keywords = dict()
      initiate_keywords = dict()
      for name, value in cfg.items(section):
          if name.startswith('descriptor'):
              key = name.split('.')[1]
              desc_keywords[key] = _unserialize_json_field(
                  section, name, value)
          elif name.startswith('initiate'):
              key = name.split('.')[1]
              initiate_keywords[key] = _unserialize_json_field(
                  section, name, value)
      name = section.split(':', 2)[1]
      append_agent(parser, agent_type, desc_keywords, initiate_keywords, name)