I’m a big fan of “Infrastructure as Code”, documenting all my settings and keeping them versioned. Is there any way to configure inputs and other settings without the web UI? Preferably in simple files.
If that’s not possible, I could use the REST API configure Graylog, but I’d rather avoid having to fiddle with shell scripts, curl and jq (or some Python script).
Well, if you do not want to do that, you’ll be out of luck. The Web-UI itself relies completely on the REST-API of Graylog, so this API is the go-to solution if you want to implement a non-web-way for managing inputs.
However, to keep scripting to a minumum: Stick to using JSON for the definition or use a library that converts your data format (e.g. CSV) to JSON while using the same field names the Graylog API uses. Then your curl-script will only involve iterating over files in a directory and sending the JSON file to the Graylog-API and some helpful response parsing.