Skip to content

Commit

Permalink
Add history (#7)
Browse files Browse the repository at this point in the history
* Add history

* Update desc

* Add link to reddit
  • Loading branch information
osterman authored Jan 15, 2019
1 parent 3d4c141 commit adc4ce1
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 2 deletions.
21 changes: 20 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Command line utility to transform environment variables for use with Terraform.

It can also intelligently map environment variables to terraform command line arguments (e.g. `TF_CLI_INIT_BACKEND_CONFIG_BUCKET=example``TF_CLI_ARGS_init=-backend-config=bucket=example`).

__NOTE__: `tfenv` is **not** a [terraform version manager](https://github.com/tfutils/tfenv). It strictly manages environment variables.
__NOTE__: `tfenv` is **not** a [terraform version manager](#history). It strictly manages environment variables much like `env` or `direnv`.


---
Expand Down Expand Up @@ -66,6 +66,15 @@ __NOTE__: `tfenv` will preserve the existing environment and add the new environ

With `tfenv` we can surgically assign a value to any terraform argument using per-argument environment variables.

## History


**Why is this project called `tfenv`?**

This `tfenv` project borrows it's naming convention from popular tools like [`env`](https://en.wikipedia.org/wiki/Env), [`direnv`](http://direnv.net), and [`autoenv`](https://github.com/kennethreitz/autoenv). These tools provide various ways to export variables in the environment.

The `env` command has been [around since the early 90s](http://pdplab.it.uom.gr/project/sysadm/unix.pdf), while [environment variables](https://en.wikipedia.org/wiki/Environment_variable) were first conceived of in 1979. On the other hand there are tools like `rbenv` Et al., which are ["version managers"](https://en.wikipedia.org/wiki/Ruby_Version_Manager) that were conceived of sometime around 2010.

## Usage


Expand Down Expand Up @@ -204,7 +213,17 @@ Check out these related projects.
- [Packages](https://github.com/cloudposse/packages) - Cloud Posse installer and distribution of native apps
- [build-harness](https://github.com/cloudposse/build-harness) - Collection of Makefiles to facilitate building Golang projects, Dockerfiles, Helm charts, and more
- [geodesic](https://github.com/cloudposse/geodesic) - Geodesic is the fastest way to get up and running with a rock solid, production grade cloud platform built on strictly Open Source tools.
- [direnv](https://direnv.net/) - Unclutter your .profile with an environment switcher for the shell
- [env](https://en.wikipedia.org/wiki/Env) - Used to either print a list of environment variables or run another utility in an altered environment without having to modify the currently existing environment.




## References

For additional context, refer to some of these links.

- [Terraform Without Wrappers is AWESOME!](https://www.reddit.com/r/Terraform/comments/afznb2/terraform_without_wrappers_is_awesome/) - Reddit discussion regarding this project.


## Help
Expand Down
21 changes: 20 additions & 1 deletion README.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ description: |-
It can also intelligently map environment variables to terraform command line arguments (e.g. `TF_CLI_INIT_BACKEND_CONFIG_BUCKET=example` → `TF_CLI_ARGS_init=-backend-config=bucket=example`).
__NOTE__: `tfenv` is **not** a [terraform version manager](https://github.com/tfutils/tfenv). It strictly manages environment variables.
__NOTE__: `tfenv` is **not** a [terraform version manager](#history). It strictly manages environment variables much like `env` or `direnv`.
introduction: |-
Expand All @@ -62,6 +62,14 @@ introduction: |-
With `tfenv` we can surgically assign a value to any terraform argument using per-argument environment variables.
## History
**Why is this project called `tfenv`?**
This `tfenv` project borrows it's naming convention from popular tools like [`env`](https://en.wikipedia.org/wiki/Env), [`direnv`](http://direnv.net), and [`autoenv`](https://github.com/kennethreitz/autoenv). These tools provide various ways to export variables in the environment.
The `env` command has been [around since the early 90s](http://pdplab.it.uom.gr/project/sysadm/unix.pdf), while [environment variables](https://en.wikipedia.org/wiki/Environment_variable) were first conceived of in 1979. On the other hand there are tools like `rbenv` Et al., which are ["version managers"](https://en.wikipedia.org/wiki/Ruby_Version_Manager) that were conceived of sometime around 2010.
# How to use this project
usage: |-
Expand Down Expand Up @@ -134,6 +142,11 @@ usage: |-
Learn more about `TF_CLI_ARGS` and `TF_CLI_ARGS_*` in the [official documentation](https://www.terraform.io/docs/configuration/environment-variables.html#tf_cli_args-and-tf_cli_args_name).
references:
- name: "Terraform Without Wrappers is AWESOME!"
description: "Reddit discussion regarding this project."
url: "https://www.reddit.com/r/Terraform/comments/afznb2/terraform_without_wrappers_is_awesome/"

related:
- name: "Packages"
description: "Cloud Posse installer and distribution of native apps"
Expand All @@ -144,6 +157,12 @@ related:
- name: "geodesic"
description: "Geodesic is the fastest way to get up and running with a rock solid, production grade cloud platform built on strictly Open Source tools."
url: "https://github.com/cloudposse/geodesic"
- name: "direnv"
description: "Unclutter your .profile with an environment switcher for the shell"
url: "https://direnv.net/"
- name: "env"
description: "Used to either print a list of environment variables or run another utility in an altered environment without having to modify the currently existing environment."
url: "https://en.wikipedia.org/wiki/Env"

examples: |-
Expand Down

0 comments on commit adc4ce1

Please sign in to comment.