Commit Graph

20546 Commits

Author SHA1 Message Date
James Bardin f9fb2b4c9e move local module detection ahead of the registry
The getter.FileDetector was intended to be the final detector, only
converting a path to a file URL and returning a true in all cases. We
want to check for a local module before checking the registry so no
local modules that happen to match a registry module are broken.

Wrap the getter.FileDetector to check the module source's existence
before delegating the search to the registry.
2017-09-15 16:16:28 -04:00
James Bardin d216d19f21 change the FolderStorage key
updating the key will cause the FolderStorage hash to change forcing
modules to be re-fetched. This is required because any configurations
using the subDir notation will have the configuration in the wrong
directory.
2017-09-15 16:16:28 -04:00
James Bardin 6c20141c30 remove subdir handling from Tree.Load
Terraform was redundantly handling `//dir` notation which should be
handled by go-getter. Rather than allowing go-getter to unpack a subdir
as expected, the subdir was stripped off and accessed through the module
configuration.

This scheme will no longer works now that go-getter supports `*`
subdirectories
    (e.g. `//*` would be analogous to `tar --strip-components=1`).

Even though this allows Terraform to use go-getter's native unpacking,
detection is still done separately because Detect requires a `pwd` which
is dependent on the configuration directory and not known to the
global FolderStorage.
2017-09-15 16:16:28 -04:00
James Bardin a83ff57aea Add registry detector
Add a getter.Detector for detecting registry modules and looking up
the download location of the latest version. This is essentially a
temporary API until constraint solving is supported by the registry, as
then we'll have to supply the full set of known contraints to the
registry at once for resolution and we will fetch specific versions of
modules.
2017-09-15 16:16:28 -04:00
Jearvon Dharrie 5afe1d39d1 Add `/downloads` to the outdated version message 2017-09-15 12:58:40 -07:00
Paul Banks 197bbc6114 Add screenshots, make registry the default module source example, remove dead support link in registry submenu 2017-09-15 17:50:22 +01:00
Paul Banks 722b3c6708 API examples updated to use Consul modules 2017-09-15 16:26:37 +01:00
Martin Atkins 67bdadf5c6 release: clean up after v0.10.5 2017-09-14 21:40:05 +00:00
Martin Atkins 1f054df752
v0.10.5 2017-09-14 18:15:35 +00:00
Martin Atkins 625de9c961 Update CHANGELOG.md 2017-09-14 10:55:37 -07:00
Martin Atkins b161be0b8e Update CHANGELOG.md 2017-09-14 10:54:11 -07:00
Martin Atkins 0fe43c8977 cli: allow disabling "next steps" message in terraform plan
In #15884 we adjusted the plan output to give an explicit command to run
to apply a plan, whereas before this command was just alluded to in the
prose.

Since releasing that, we've got good feedback that it's confusing to
include such instructions when Terraform is running in a workflow
automation tool, because such tools usually abstract away exactly what
commands are run and require users to take different actions to
proceed through the workflow.

To accommodate such environments while retaining helpful messages for
normal CLI usage, here we introduce a new environment variable
TF_IN_AUTOMATION which, when set to a non-empty value, is a hint to
Terraform that it isn't being run in an interactive command shell and
it should thus tone down the "next steps" messaging.

The documentation for this setting is included as part of the "...in
automation" guide since it's not generally useful in other cases. We also
intentionally disclaim comprehensive support for this since we want to
avoid creating an extreme number of "if running in automation..."
codepaths that would increase the testing matrix and hurt maintainability.

The focus is specifically on the output of the three commands we give in
the automation guide, which at present means the following two situations:

* "terraform init" does not include the final paragraphs that suggest
  running "terraform plan" and tell you in what situations you might need
  to re-run "terraform init".
* "terraform plan" does not include the final paragraphs that either
  warn about not specifying "-out=..." or instruct to run
  "terraform apply" with the generated plan file.
2017-09-14 10:51:41 -07:00
Martin Atkins 5221e51749 Update CHANGELOG.md 2017-09-14 09:56:35 -07:00
Martin Atkins 2b8160cafe Update CHANGELOG.md 2017-09-14 09:52:27 -07:00
Martin Atkins b95610c173 Merge #15387: terraform fmt -check option
This new option causes fmt to return a non-zero exit code if any inconsistencies are detected.
2017-09-14 09:51:10 -07:00
Martin Atkins f208fc5a03 Update CHANGELOG.md 2017-09-14 09:48:37 -07:00
Micah Hausler 7fa4b648bb config: multi-line "indent" function
This function prepends a number of spaces on to all but the first line
of a string containing multiple lines of text.
2017-09-14 09:47:48 -07:00
James Bardin 4789045911 Merge pull request #16099 from hashicorp/jbardin/update-go-getter
update go-getter
2017-09-14 12:44:56 -04:00
James Bardin e39da6e1c9 update go-getter 2017-09-14 12:30:55 -04:00
Martin Atkins 144bc9e5f6 Update CHANGELOG.md 2017-09-14 09:29:11 -07:00
Wang Guoliang 9a97c348f0
optimization:Merge slices 2017-09-13 21:08:41 +08:00
Wang Guoliang 383b0c176c
optimization:use bytes.Equal instead of bytes.Compare 2017-09-13 20:58:14 +08:00
Florian Forster ce85600cd4 backend/local: Remove unused const DefaultDataDir.
Not to be confused with the const of the same name in the "command"
package.
2017-09-12 08:20:12 +02:00
Martin Atkins fe4cfd03b5 command/format: restore "(forces new resource)" caption
In 3ea1592 the plan rendering was refactored to add an extra indirection
of producing a display-oriented plan object first and then rendering from
that object.

There was a logic error while adapting the existing plan rendering code
to use the new display-oriented object: the core InstanceDiff object sets
the "Destroy" flag (a boolean) for both DiffDestroy and DiffDestroyCreate,
and so this code previously checked r.Destroy to recognize the
"destroy-create" case. This was incorrectly adapted to a check for the
display action being DiffDestroy, when it should actually have been
DiffDestroyCreate.

The effect of this bug was to cause the "(forces new resource)"
annotations to not be displayed on attributes, though the resource-level
information still correctly reflected that a new resource was required.

This fix restores the attribute-level annotations.
2017-09-11 12:55:32 -07:00
Paul Banks 71b58abf9b Filling out API docs. Some TODOs remain 2017-09-11 20:11:02 +01:00
Martin Atkins 93651450b1 website: don't talk about graphs in the Getting Started guide
Previously we just assumed the reader was familiar with the idea of a
graph but didn't explain it.

Since graphs are an implementation detail of Terraform, rather than
essential information needed for new users, this revises the introduction
text to talk only about _dependencies_, which we assume the user is
familiar with as a more practical concept.

Additionally, Paul Hinze did a great talk on how Terraform uses graphs
at HashiConf 2016 which is good additional content for our existing
"Graph Internals" page, which includes a concise explanation of the
basics of graph theory.
2017-09-11 11:09:11 -07:00
Mitchell Hashimoto 3bb89e89d6 website: note repo desc for publishing, fix broken link 2017-09-11 14:00:55 +01:00
Mitchell Hashimoto 9b363cd7d4 website: add LICENSE to standard module structure 2017-09-11 14:00:55 +01:00
Mitchell Hashimoto e71b271492 website: publishing and private registry docs 2017-09-11 14:00:55 +01:00
Mitchell Hashimoto de50eeb6b6 website: more registry docs 2017-09-11 14:00:55 +01:00
Mitchell Hashimoto b4f2fae0a6 website: api docs for the registry 2017-09-11 14:00:55 +01:00
Mitchell Hashimoto 331b6f339a website: finding and using registry modules 2017-09-11 14:00:55 +01:00
Mitchell Hashimoto 0718e9ce3f website: standard module structure 2017-09-11 14:00:55 +01:00
Mitchell Hashimoto bf7f4d243d website: working on registry docs 2017-09-11 14:00:54 +01:00
Mitchell Hashimoto 1c098ce4ec website: trivial change to make branch 2017-09-11 14:00:54 +01:00
Bruno Miguel Custodio 4d23195846
Add a note about running the 'etcdv3' tests. 2017-09-09 08:17:56 +01:00
Bruno Miguel Custodio 524c3934c6
Add TLS support. 2017-09-09 08:03:59 +01:00
Bruno Miguel Custodio c8ff10f603
Reuse 'etcd' client. 2017-09-09 00:21:23 +01:00
Bruno Miguel Custodio 6daf1d9d84
Allow for username and password to be read from envvars. 2017-09-08 23:41:27 +01:00
Bruno Miguel Custodio 8f7b315037
Add documentation. 2017-09-08 23:40:05 +01:00
Bruno Miguel Custodio 54dc50ec5c
Cleanup 'etcd' after every test. 2017-09-08 22:49:23 +01:00
Bruno Miguel Custodio 3c21b9c56f
Get rid of 'keyEnvPrefix'. 2017-09-08 22:34:15 +01:00
Chris Marchesi 9504d17bd9 Merge pull request #16036 from hashicorp/f-import-state-testing-id-func
helper/resource: Add ImportStateIdFunc
2017-09-08 13:40:31 -07:00
Shih Oon Liong bcfb63098a website: Example of using maps with local values 2017-09-08 10:33:56 -07:00
Bruno Miguel Custodio 6570948bea
Fixing the test suite. 2017-09-08 17:46:39 +01:00
Bruno Miguel Custodio 038f5eb638
Remove 'lockSuffix' as not needed in 'etcd' v3. 2017-09-08 16:59:39 +01:00
Bruno Miguel Custodio bb4dec6032
Make sure we don't relock. 2017-09-08 16:22:14 +01:00
Bruno Miguel Custodio b8f4f6d3e2
Delete lock info when unlocking. 2017-09-08 15:21:06 +01:00
Bruno Miguel Custodio b896348230
Sort the result of 'Backend.States()'. 2017-09-08 12:25:15 +01:00
Bruno Miguel Custodio 70aad79b6e
Make 'endpoints' a schema.TypeList. 2017-09-08 12:16:00 +01:00