# Composing Doppler Run Commands

**URL:** <https://community.doppler.com/t/composing-doppler-run-commands/220>\
**Category:** Show & Tell\
**Created:** [May 8, 2021, 11:26pm UTC](https://community.doppler.com/t/composing-doppler-run-commands/220 "2021-05-08T23:26:13Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![avaitla16](https://sea2.discourse-cdn.com/flex016/user_avatar/community.doppler.com/avaitla16/32/136_2.png) [@avaitla16](https://community.doppler.com/u/avaitla16)\
**Post date:** [May 8, 2021, 11:26pm UTC](https://community.doppler.com/t/composing-doppler-run-commands/220/1 "2021-05-08T23:26:14Z")

</div>

Have you ever needed to compose doppler commands before? Did you ever get surprised looks wondering why you’d ever want to do that (overengineering…)? Well I had a use case for storing and using both user and environment specific keys: [https://www.avaitla16.com/composing-doppler-run-commands](https://www.avaitla16.com/composing-doppler-run-commands)

---

<div class="post-metadata">

**Author:** ![brian-vallelunga](https://sea2.discourse-cdn.com/flex016/user_avatar/community.doppler.com/brian-vallelunga/32/3_2.png) [@brian-vallelunga](https://community.doppler.com/u/brian-vallelunga)\
**Post date:** [May 9, 2021, 9:11pm UTC](https://community.doppler.com/t/composing-doppler-run-commands/220/2 "2021-05-09T21:11:19Z")

</div>

Thanks for sharing! This is a really interesting take on using environments as a way to access configs specific to users. In the future, we will be supporting permissions per config and possibly the ability to merge multiple configs together on `doppler run`.

---

<div class="post-metadata">

**Author:** ![avaitla16](https://sea2.discourse-cdn.com/flex016/user_avatar/community.doppler.com/avaitla16/32/136_2.png) [@avaitla16](https://community.doppler.com/u/avaitla16)\
**Post date:** [May 9, 2021, 9:26pm UTC](https://community.doppler.com/t/composing-doppler-run-commands/220/3 "2021-05-09T21:26:54Z")

</div>

Ive been thinking of the way to best support development/debugging locally. For instance say some issue occurs in qa, you may need to tunnel into your network vpn and the remote db isn’t actually the same as in qa itself it may be a pass through jump box revealed as 127.0.0.1 with an ephemeral port whereas the qa config is an internal domain and fixed port. In this case you want to take the base qa config (but not the host or user) and combine it with your pass through host and your own credentials to actually safely debug locally. This is where merge is powerful (have local env specific variables override a qa config for triage).

---

<div class="post-metadata">

**Author:** ![brian-vallelunga](https://sea2.discourse-cdn.com/flex016/user_avatar/community.doppler.com/brian-vallelunga/32/3_2.png) [@brian-vallelunga](https://community.doppler.com/u/brian-vallelunga)\
**Post date:** [May 9, 2021, 9:40pm UTC](https://community.doppler.com/t/composing-doppler-run-commands/220/4 "2021-05-09T21:40:15Z")

</div>

That makes a ton of sense! I can definitely see merging being a powerful feature. I have shared it with our team!

---

<div class="post-metadata">

**Author:** ![avaitla16](https://sea2.discourse-cdn.com/flex016/user_avatar/community.doppler.com/avaitla16/32/136_2.png) [@avaitla16](https://community.doppler.com/u/avaitla16)\
**Post date:** [May 9, 2021, 9:57pm UTC](https://community.doppler.com/t/composing-doppler-run-commands/220/5 "2021-05-09T21:57:00Z")

</div>

Thanks Brian, let me know if there’s anything I can do to help.
