Conversation
|
|
So, first of all. What is this? :) Second of all, it's all obviously llm generated so I'm not even going to take a glance before your refactor it all and give it a humane touch. I'm not saying llms are bad for generating initial code, but I expect you to go over it and make it easier to read and grasp for HUMANs. Thanks. |
|
Hello @Skarlso :) Yes, everything is definitely a first POC, llm based, and that's why I put it as a draft, to definitely not merge it. The main reason of all this work is to able to add private internal providers to ESO. The goal is to get ESO less dependent on providers code integration. Basically, for a company like us, with our own vault technology. |
|
Ahh I see. Interesting. Though I think the contract for external plugins or providers should be API based. I'm imagining something like the capi/capa relationship. But we'll see how that goes. :) |
|
Yes, could also be with the kubernetes interface. I think a provider could be as simple as "implement this go interface" (just like the current provider in ESO code). I've done something like that for kubeswitch we are using for an internal platform |
|
Hey @guilhem, thanks for your effort so far. I'd like to raise awareness for #4792 - where we're designing out of tree providers for ESO (SecretStore v2 essentially) which overlaps 100% with your proposal. I think your implementation will be beneficial to the proposal while you're exploring this domain. Please keep this in mind that we may raise concerns related to the design/implementation of the out of tree providers. I've looked into the plugin functionality an eternity ago: and found that |
Thanks for linking to this. :)
You are perfectly right; that's why the example provider doesn't use go-plugin at all. |
|
I removed any go-plugin reference. |
|
Hey @guilhem how are you progressing with the plugin system? Do you have capacity to work on this? Please let me know, i may want to take a shot at this in the near future, too. I want to prevent two people working on this simultaneously ;) |
Extand external-secret with plugins Signed-off-by: Guilhem Lettron <glettron@akamai.com>
Signed-off-by: Guilhem Lettron <glettron@akamai.com>
Signed-off-by: Guilhem Lettron <glettron@akamai.com>
Signed-off-by: Guilhem Lettron <glettron@akamai.com>
|
|
@moolen what do you think of the current plugin architecture in this PR? Because some adjustment can be done, but most of it is already ok. |
|
Just thinking out loud: systemd has a concept of loading credentials from unix socket as well (https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#Credentials) - how about using the exact same mechanism? Here is a nice blog post that provides an example implementation in python: https://medium.com/@umglurf/using-systemd-credentials-to-pass-secrets-from-hashicorp-vault-to-systemd-services-928f0e804518 |
|
I guess for a PoC using a unix socket would be fine, but for the real deal i would like to avoid that due to:
I would like to force users to have separate deployments for eso-core and the plugin provider. |
|
@moolen you convince me :) |
| // GetSecret retrieves a single secret from the plugin. | ||
| rpc GetSecret(GetSecretRequest) returns (GetSecretResponse); |
There was a problem hiding this comment.
Forgot to mention: You're modelling the API around the current interface. Could you please amend it and follow the V2 interfaces?
This is still in draft but i think they'll more or less stay like that.
There was a problem hiding this comment.
This draft changes the logic of this implementation a lot.
I begin to do a draft to see if it fits, but it does a lot of changes.
I think it's even better to recreate from scratch.
There was a problem hiding this comment.
After beginning to work on the controller, I added a quick review on V2 interface:
https://github.com/external-secrets/external-secrets/pull/4792/files#r2376172798
|
This pr is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 30 days. |
|
This pr is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 30 days. |



Extand external-secret with plugins
Problem Statement
What is the problem you're trying to solve?
Related Issue
Fixes #...
Proposed Changes
How do you like to solve the issue and why?
Checklist
git commit --signoffmake testmake reviewable