Skip to content

Cuttlefish for Application Users

Sean Cribbs edited this page Aug 16, 2013 · 3 revisions

If you're a user of an erlang application that supports cuttlefish conf files, welcome!

Cuttlefish is a pun on the pronunciation of 'sysctl'. As someone configuring an application, you might be familiar with 'sysctl' and it's with that in mind that we designed Cuttlefish.

Here are the simple rules of the syntax:

  • Everything you need to know about a single setting is on one line
  • Lines are structured Key = Value
  • Any line starting with # is a comment, and will be ignored.

The author of your particular application will have included a Cuttlefish schema as part of their application. That schema defines what keys can be defined and what the datatypes for those values can be. They also define how they map to the traditional app.config of an Erlang application. Honestly, Cuttlefish exists so you don't have to worry about app.configs anymore. Leave that to Erlang developers who actually like that syntax!

With that said, you probably know about app.configs from previous versions of the Erlang application you're dealing with. In that case, note that until you port your app.config to a .conf file, Cuttlefish will see your app.config sitting where it's supposed to, and use that instead.

There may be settings that an Erlang developer chooses not to expose via Cuttlefish, and in that scenario, you have the ability to add an advanced.config file to the same directory your .conf file lives in. This will allow you to override anything Cuttlefish does with a specific Erlang term, if you wind up missing that kind of thing.