YAML unmarshall errors in config.yml

I’m trying to config a tunnel for port 80, 443, and 22. Everything seems to work fine until cloudflared tries to parse the config. My file is:


tunnel: <string redacted>
credentials-file: /etc/cloudflared/<tunnelid>.json

ingress:
  - hostname: somehost.domain.com
    service: http://localhost:80
    service: https://localhost:443
    service: ssh://localhost:22
  - service: http_status:404

The actual file has the tunnel id strings in it. If config.yml is in /etc/cloudflared I can’t even run simple info commands like ‘tunnel list’ because I get this:

error parsing YAML in config file at ./config.yml: yaml: unmarshal errors:
  line 7: mapping key "service" already defined at line 6
  line 8: mapping key "service" already defined at line 6
  line 8: mapping key "service" already defined at line 7

This is identical to a config file I used on another host, with different tunnelids. Every example of a config file I have found uses this format. This is running on a CentOS box. I’ve tried typing the config by hand, wondering if some character codes got flipped on paste, but no dice.

Any ideas?

Looks like I can only map one service per hostname in the config. I guess I can just make different hostnames for the different services I want o expose. I suspect the config I posted never worked.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.