Title: Hey HN,<p>I&#x27;m so happy to finally show you all this release after years of hard work. I posted the first version of EnvKey to HN back in 2017 (<a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=15330757" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=15330757</a>), then went through YC in W18 (<a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16569534" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16569534</a>).<p>EnvKey is an end-to-end encrypted configuration and secrets manager. It protects your organization&#x27;s API keys, encryption keys, credentials, and other secrets, and makes it easy to run servers, scripts, tests, and everything else with the latest config. It also helps you avoid duplication in your configuration, react to environment updates in real-time, resolve conflicts smoothly, and a lot more.<p>You get an intuitive, spreadsheet-like UI for managing environments, along with a developer-friendly CLI that does almost anything the UI can. Running any program in any language with the latest environment variables is as simple as:<p><pre><code>  envkey-source -- any-shell-command
</code></pre>
You can use the `es` alias to type less:<p><pre><code>  es -- any-shell-command
</code></pre>
You can automatically reload a process whenever there&#x27;s a change using the -w flag:<p><pre><code>  es -w -- .&#x2F;start-server
</code></pre>
To avoid downtime on reloads, add the --rolling flag to reload gradually across all connected processes:<p><pre><code>  es -w --rolling -- .&#x2F;start-server
</code></pre>
You can run custom logic when there&#x27;s a change instead of restarting:<p><pre><code>  es -r .&#x2F;reload-env.sh -- .&#x2F;start-server
</code></pre>
Or run something <i>only</i> when there&#x27;s a change:<p><pre><code>  es -r .&#x2F;env-change-hook.sh
</code></pre>
You can pass command line arguments from EnvKey variables (just wrap your command in single quotes):<p><pre><code>  es &#x27;curl https:&#x2F;&#x2F;$HOST_URL&#x27;
</code></pre>
You can export your environment to the current shell:<p><pre><code>  eval &quot;$(es)&quot;
</code></pre>
Or auto-load the latest environment in any EnvKey-enabled directory (like direnv):<p><pre><code>  echo $&#x27;\n\neval &quot;$(es --hook bash)&quot;\n&#x27; &gt;&gt; ~&#x2F;.bash_profile
</code></pre>
EnvKey is now open source under the MIT license and can be self-hosted. Our Cloud and Enterprise Self-Hosted products also include commercially licensed server-side extensions for auto-scaling, highly available infrastructure and advanced user management. Cloud is free for up to 20 user devices and 40 server keys.<p>EnvKey&#x27;s client-side end-to-end encryption is built with the NaCl crypto library. Whether you use EnvKey Cloud or host EnvKey yourself, no configuration or secrets are ever sent to the host running EnvKey in plaintext. Public keys are verified by a web of trust. Invitations are verified out-of-band. Secrets are never accessed through a web browser. More details on security and encryption can be found here: <a href="https:&#x2F;&#x2F;docs-v2.envkey.com&#x2F;docs&#x2F;security" rel="nofollow">https:&#x2F;&#x2F;docs-v2.envkey.com&#x2F;docs&#x2F;security</a><p>Let me know what you think! Thanks!
Upvote: