file{"/path/to/foo.key": source=>"puppet:///keys/foo.key"} , because
any valid puppet client could access foo.key.
[...]
I also suffer from this problem distributing binary GPG private keys.
I would propose Puppet automatically base-64 encode/decode when a
parameter's value (in this case a file's content but it could be
anything) does not contain valid UTF-8 bytes. Would that fix the
problem completely? Would it break anything?
> How are other people getting around this? Do you just allow all
> clients to access all keys? Is there a native type, or an auth.conf
> trick, that I'm missing? Or a more binary-friendly encoding than JSON/
> PSON ?
I send a different message with a rather long hack as a workaround, but I would also file a bug for this.
Yes, except that approach suffers from the same administrative
problems as using puppet:/// and auth.conf. HTTPS certs aren't
specific to hosts. If I have 20 servers all requiring foo.key (because
they all have the foo-application class in their manifest), then
either I have to copy foo.key into 20 different directories, or else
have one export with 20 allowed hosts. And every time I add the foo-
application class to another host, I need to remember to also expose
the key to that host. With large numbers of keys and hosts, and
moderate levels of churn, this becomes difficult to manage and prone
to errors.
This works perfectly for PEM-formatted keys because they're ASCII,
which is a subset of UTF-8. Binary keys are not (usually) valid UTF-8
and thus can't be crammed into a catalog without some encoding.
This works perfectly for PEM-formatted keys because they're ASCII,
which is a subset of UTF-8. Binary keys are not (usually) valid UTF-8
and thus can't be crammed into a catalog without some encoding.
In my particular case because its unclear if ASCII encodings of
trusted.gpg and trustdb.gpg are indeed possible.
In the general case, even completely legitimate (and common) Latin-1
text files can cause Puppet problems because some Latin-1 bytes are
not valid UTF-8. In my opinion, the content parameter of a file
resource should be able to handle these cases.
Richard
I think you should file a bug then.
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Thinking back to the original PSON bug, the workaround back then was to
use YAML serialization. I did notice that that could make clients crash
though, I think the 0.25.5 were the afflicted ones.
You may want to give it shot though, anyway. The YAML encoder seems to
be less picky where encodings are concerned.
Regards,
Felix
Thinking back to the original PSON bug, the workaround back then was to use YAML serialization. I did notice that that could make clients crash though, I think the 0.25.5 were the afflicted ones.
You may want to give it shot though, anyway. The YAML encoder seems to be less picky where encodings are concerned.
Regards,
Felix
I see, but this is plain stupid. Such things are not supposed to happen.
You may want to find out which part of your catalogue causes this (i.e.,
which subset of your manifest is sufficient to reproduce this behaviour)
and raise a bug.
That is, unless this goes away with newer clients.
Regards,
Felix