mirror of
https://github.com/moghtech/komodo.git
synced 2026-05-08 21:28:16 -05:00
[GH-ISSUE #677] [Feature Request] External secrets integration #7429
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Deester4x4jr on GitHub (Jul 22, 2025).
Original GitHub issue: https://github.com/moghtech/komodo/issues/677
Originally posted by @ravensorb in #324
I would like to second this comment and officially request a method in Komodo to integrate secrets injection with external secrets management platforms. Whether self-hosted or cloud... I use doppler but I know a lot of people use Infisical. There are obviously many others out there. Would be really cool to have first class support for the most widely used, or maybe a framework for integrating the platform of your choice in a repeatable fashion. Currently, I am using pre/post deploy shell scripts to achieve the desired results, but there are certainly significant drawbacks to this method:
Here is my current flow:
The goal here was to try and create something similar to how doppler ephemeral secrets injection works. This implementation is a bit hacky, but it gets the job done. Again, taking it a step further I should be creating docker secrets with these instead of injecting as env vars.
Ideally, an in-built framework would allow you to either:
doppler run <args> -- ${DOCKER_COMPOSE_COMMAND_FROM_KOMODO}This is obviously very high level, and I am thinking of it pretty 1-dimensionally to solve my specific need. But it certainly feels like a useful feature that many people could take advantage of.
Hopefully, others agree with me. Either way, I can't thank you enough for building this in the first place. This is a breath of fresh air coming from portainer. Really appreciate the work you are doing.
-Josh
@mbecker20 commented on GitHub (Jul 22, 2025):
I have considered this as well
@Deester4x4jr commented on GitHub (Jul 23, 2025):
Awesome to hear! Let me know if I can help in any way. Ive never done any Rust development, but the front-end stack seems to be things I am pretty comfortable with. Or if I can help by just testing things, i can do that too.
@adrianipopescu commented on GitHub (Aug 5, 2025):
it's interesting, infisical works pretty much the same way
@Deester4x4jr commented on GitHub (Jan 21, 2026):
@mbecker20 is this being worked on as part of V2 or is that wishful thinking?
@adrianipopescu commented on GitHub (Jan 22, 2026):
@Deester4x4jr do note, you can always set up a pre-authenticated container to pull secrets, and inside the deployments pre and post actions you have access to the host's docker if you passed through your docker socket, so nothing's stopping you from doing a docker exec -i secrets_provider secprov dump format=env > .env and in post to chmod .env to 600
@sippeangelo commented on GitHub (Apr 14, 2026):
This is direly needed. The comments in the Komodo docs about dedicated secret management tools and that "Komodo is not intended as an enterprise level secret management solution" misses the point entirely, as secrets are very commonly needed when deploying and building images. Komodo doesn't have to commit to managing these secrets, but currently there is no way to manage them myself either!
Just the ability to wrap the Docker commands with a different executable like this issue suggests would already make it compatible with most secret management tools. Another option could be to let exported env vars be passed down from the pre-script into the Docker command somehow.
There is also no way to manage SSH keys that I can find? A secret variable in Komodo doesn't seem to be able to contain newlines, and there is no "file secret" concept. There also doesn't seem to be support for Docker build SSH secrets. The only way to achieve this seems to be to have a pre-script that downloads a file and leaves it on disk, and then pray that it gets cleaned up afterwards, which is far from ideal 😕