Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
matt-allan authored Aug 20, 2021
1 parent ebad7d3 commit 7080de7
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# tplenv

A tiny binary for templating plain text with environment variables. Like [`envsubst`](https://linux.die.net/man/1/envsubst) but smaller and simpler.
A tiny binary for templating plain text with environment variables. Like [`envsubst`](https://linux.die.net/man/1/envsubst) but simpler.

# Installation

Expand All @@ -23,9 +23,9 @@ Hello matt!
- No dynamic memory allocations
- Available as a standalone, cross platform binary that's easy to install without a package manager
- Written in Zig instead of C
- Much smaller: ~100K instead of the ~19MB you will have to download to get `envsubst`
- Much smaller downloads: ~100K instead of the ~19MB you will have to download to get `envsubst` (the binary itself is about the same size though)
- Native binaries for ARM Macs and Alpine containers (links [musl](https://musl.libc.org/) instead of gcc)

# Why?

When you're building a [Twelve-Factor App](https://12factor.net/) you store config in environment variables. But some config file formats don't support environment variables (i.e. Nginx). You can use `envsubst` but then you have to install the entirety of [`gettext`](https://www.gnu.org/software/gettext/) in every environment, which pulls in about 2MB of binaries and isn't the easiest to install on all platforms. This tool is small enough you can usually afford to bundle it as a dependency.
When you're building a [Twelve-Factor App](https://12factor.net/) you store config in environment variables. But some config file formats don't support environment variables (i.e. Nginx). You can use `envsubst` but then you have to install the entirety of [`gettext`](https://www.gnu.org/software/gettext/) in every environment, which pulls in about 2MB of binaries and isn't the easiest to install on all platforms. This tool is small enough you can usually afford to bundle it as a dependency.

0 comments on commit 7080de7

Please # to comment.