tellerops / teller

Cloud native secrets management for developers - never leave your command line for secrets.
https://github.com/tellerops/teller
Apache License 2.0
2.8k stars 183 forks source link

Support externally defined providers #285

Open vetsin opened 2 months ago

vetsin commented 2 months ago

A mockup for #280.

Any external provider should manage it's own auth, e.g. maybe it will use /var/run/secrets/kubernetes.io/serviceaccount/token

Looking for feedback on this idea/code.

Questions:

jondot commented 2 months ago

Looks great as a start, some feedback:

This can allow people to more extensively customize how they run their custom binaries. A custom binary can be some app like 1password or it can be just some shell script they made.

I believe some thought should be made to the "protocol" where the command returns results. Is it in JSON? what would be the shape of it?

vetsin commented 2 months ago

How about just:

struct Credential {
    path: String,
    key: String,
    value: String,
}
jondot commented 2 months ago

You're correct on -k and -v, it would indeed require someone to have a concept of a parser or use a parsing library. your suggestion sounds good.

For the Credential struct, it sounds good as well, a few notes: