Is base64 really the best way to use complex config values

James Hebden james.hebden at
Thu Jun 8 05:32:24 UTC 2017

Hi Tilman

Just wanted to lend a +1 to this. Often config values also don't clearly
call out that they are needing base64 data, or do not generate an error
if non-compliant base64 is encountered. It's a layer of obfuscation that
doesn't really add any benefit, unless binary data needed to be passed
in. I can't really think of a place where that would be needed or a good

I've submitted MPs to charms to simplify the config.yaml format in the
past and removing the requirement for base64 config values is high on my
list when trying to improve the user experience of a charm.

Kind Regards
James Hebden
Cloud Reliability Engineer
BootStack Squad @ Canonical Ltd.

On Wed, Jun 07, 2017 at 06:22:33PM +0200, Tilman Baumann wrote:
> I see a lot of charms use base64 values in config parameters. Especially
> when the values are stuff like custom templates.
> Is this really the way to go? It may avoid shell quoting hell for
> parameters set via command line. (Usually trivial)
> But when set via --file option (which is clearly the better way with
> complex fields) then I have to say the 'here document' features of YAML
> are actually quite good.
> The problem I see with bas64 is that nobody can read it without decoding
> it every time.
> Opinions?
> Just as a example of what I mean:
> application: logstash-supportcloud
> charm: logstash-conf-d
> settings:
>   config:
>     value: |
>            filter {
>                if [message] == "" {
>                    drop { }
>                }
>            }
>            output {
>                gelf {
>                    host => "foobar"
>                    port => "5002"
>                }
>            }
> Cheers
>  Tilman Baumann
> -- 
> Juju mailing list
> Juju at
> Modify settings or unsubscribe at:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: not available
URL: <>

More information about the Juju mailing list