Commit Graph

31 Commits

Author SHA1 Message Date
Sander van Harmelen
0b1dbf31a3 core: close provider/provisioner connections
Currently Terraform is leaking goroutines and with that memory. I know
strictly speaking this maybe isn’t a real concern for Terraform as it’s
mostly used as a short running command line executable.

But there are a few of us out there that are using Terraform in some
long running processes and then this starts to become a problem.

Next to that it’s of course good programming practise to clean up
resources when they're not needed anymore. So even for the standard
command line use case, this seems an improvement in resource management.

Personally I see no downsides as the primary connection to the plugin
is kept alive (the plugin is not killed) and only unused connections
that will never be used again are closed to free up any related
goroutines and memory.
2015-06-19 21:52:50 +02:00
Mitchell Hashimoto
5611b9b8a8 terraform: add Input API to ResourceProvider 2014-09-28 23:50:37 -07:00
Mitchell Hashimoto
1835a03842 terraform: hook parameter is an InstanceInfo 2014-09-25 10:40:44 -07:00
Mitchell Hashimoto
9b2b3a963f ResourceDiff => InstanceDiff 2014-09-17 16:33:24 -07:00
Mitchell Hashimoto
95f3e626a5 terraform: modify the ResourceProvider API super hardcore 2014-09-16 16:20:11 -07:00
Mitchell Hashimoto
3a79a1ca1a terraform: add ResourceProviderFactoryFixed 2014-07-10 09:46:21 -07:00
Mitchell Hashimoto
b0a83adea4 terraform: manually interpolate variables in walker functions
This avoids issues where we were interpolating when we didn't need to
2014-07-07 16:56:23 -07:00
Mitchell Hashimoto
d0577fda02 terraform: add ValidateResource API to ResourceProvider 2014-07-02 20:35:03 -07:00
Mitchell Hashimoto
2fd129ddc4 terraform: support both raw and clean config 2014-06-20 12:07:18 -07:00
Mitchell Hashimoto
dc193f5f33 terraform: call refresh before every diff
In the future, we'll make this a separate thing...
2014-06-19 21:22:07 -07:00
Mitchell Hashimoto
b3e20a3e85 terraform: basic apply, more tests needed 2014-06-18 15:35:03 -07:00
Mitchell Hashimoto
6bef265514 terraform: IsSet can be called on nil 2014-06-12 23:23:15 -07:00
Mitchell Hashimoto
c10eed752f terraform: tests for ResourceConfig.Get 2014-06-12 23:16:28 -07:00
Mitchell Hashimoto
9751878513 terraform: helpers on ResourceConfig 2014-06-12 23:08:47 -07:00
Mitchell Hashimoto
8a2eb95a42 terraform: Validate called on provider 2014-06-12 22:30:09 -07:00
Mitchell Hashimoto
a256f27b24 terraform: pass through the unknown keys 2014-06-12 18:11:21 -07:00
Mitchell Hashimoto
7e421dd89b terraform: ResourceConfig 2014-06-12 17:59:59 -07:00
Mitchell Hashimoto
fd39728cbb terraform: start using the RawConfig interpolations 2014-06-12 17:51:38 -07:00
Mitchell Hashimoto
02a3603a9a rpc: Diff implementation 2014-06-06 00:48:32 -07:00
Mitchell Hashimoto
0561edc2fd terraform: check for errors initializing a provider 2014-06-06 00:28:57 -07:00
Mitchell Hashimoto
796dfd54e9 terraform: just hardcode a UUID in there for computed placeholders 2014-06-05 20:03:16 -07:00
Mitchell Hashimoto
9018beda81 terraform: placeholder key for computed values 2014-06-05 11:30:48 -07:00
Mitchell Hashimoto
d77a72ba84 terraform: take into account dependency variables in diffs 2014-06-05 07:27:01 -07:00
Mitchell Hashimoto
7c6920bba1 terraform: diff/state work better together, merge 2014-06-05 06:57:06 -07:00
Mitchell Hashimoto
e904fca3da terraform: Diff! 2014-06-05 02:32:10 -07:00
Mitchell Hashimoto
9480783ee4 terraform: add Diff to ResourceProvider
rpc and plugin don't compile yet
2014-06-03 16:42:21 -07:00
Mitchell Hashimoto
c9d8413431 terraform: New happy path works decently well 2014-06-03 15:08:00 -07:00
Mitchell Hashimoto
0c1a341d90 terraform: Resources method for providers 2014-06-03 14:26:31 -07:00
Mitchell Hashimoto
f8dc3286d9 rpc: ResourceProvider over RPC 2014-05-28 15:07:47 -07:00
Mitchell Hashimoto
1b5dfa043b terraform: some files laying out an API 2014-05-28 13:56:43 -07:00
Mitchell Hashimoto
a4a4e3784d Implement CLI, version command 2014-05-24 12:04:43 -07:00