envoy: docs: getting started with lua config is not easy

I started with Envoy today and my first goal is to get a simple Lua filter working. I hit some hurdles, so I wanted to capture some feedback:

  • At first, I was looking in v2, but I learned I need v1 API config.
  • I now understand where an HTTP filter goes, but it took me probably 15-20 minutes to understand how to navigate the docs to figure out where a Lua filter goes.
  • The “Download” page uses “lyft/envoy:latest” which (I think) doesn’t support Lua yet, so I got errors about an unrecognized filter. I switched to “envoyproxy/envoy”.
  • While trying to debug the version issue in the previous point, I was surprised to find that both docker hub and ./envoy --version report commit hashes, but the release notes report version names 1.5.

Ideas for improvement:

  • Examples of config starting at the root for each type of entity (e.g. lua filter) would have given me a good picture of the config in one place.
  • Don’t use lyft:envoy
  • Tag versions by name (e.g. v1.5) in addition to commit hashes
  • Report both version name and commit hash in ./envoy --version

I won’t be offended if this issue is closed without action. In my projects, I find it hard to know if people find my docs confusing and really appreciate any feedback on them, so I wanted to capture my experience here.

Really stoked to use Envoy! Thanks!

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 18 (17 by maintainers)

Commits related to this issue

Most upvoted comments

Nice work! Thanks.

Unless you have a different idea, I think the best contribution I could make would be to add a Lua example to https://github.com/envoyproxy/envoy/tree/master/examples. I’ll work on that

@mbanikazemi Thanks very much for wrapping this up!

@mbanikazemi Sure thing!

@mbanikazemi works for me. Sorry I’m procrastinating on this, have been out of town on the weekends.