getsops / sops

Simple and flexible tool for managing secrets
https://getsops.io/
Mozilla Public License 2.0
16.68k stars 868 forks source link

Allow easy embedding of sops inside other Go CLI #1404

Open mitar opened 9 months ago

mitar commented 9 months ago

Currently there is a lot of logic in cmd/sops package. But because it is a main package it is not really possible to reuse that from another CLI. I made gitlab-config tool which allows one to configure GitLab projects from a file. And I encrypt secrets using sops. So to make life easier for users I wanted to embed sops as a sub-command in gitlab-config tool, so that you can call gitlab-config sops .... Current code structure does not allow that. But it is relatively easy to do so, I made it in two commits in my fork:

Would this be something I could made a PR for? It would remove my last reason why I have a SOPS fork.

felixfontein commented 9 months ago

I know too little about go to be able to judge the changes. What do @getsops/maintainers think?

mitar commented 9 months ago

It is really just a way to get main function to be importable. This introduces a new API landscape, but CLI is in my view already kinda API.