Nic Cope
011841124b
Support 'customer supplied encryption keys' in the GCS backend
...
https://cloud.google.com/storage/docs/encryption#customer-supplied
GCS state created using customer supplied encryption keys can only be read or
modified using the same key.
2017-12-17 19:27:52 -08:00
James Bardin
52eced589f
accept a path or contents for credentials
...
Match the operation of the google provider, by accepting either a file
path or contents for both `credentials` and `GOOGLE_CREDENTIALS`
2017-12-06 18:33:59 -05:00
James Bardin
aec45e6967
backends should never create unmanaged resources
...
The backend was creating bucket named in the configuration if it didn't
exist. We don't allow other backends to do this, because these are not
managed resources that terraform can control.
2017-12-06 18:32:41 -05:00
Nic Cope
27ba7de77d
backend/gcs: automatically add trailing slash to prefix
...
The backend doesn't function correctly if a trailing slash is not present, due to how workspaces are enumerated.
2017-11-08 11:24:36 -08:00
Florian Forster
afa13a3d8e
backend/remote-state/gcs: Move toBucketName to the tests.
2017-10-27 16:52:21 -04:00
Florian Forster
dcb84ee2c2
backend/remote-state/gcs: Sanitize bucket names.
2017-10-27 16:52:21 -04:00
Florian Forster
a6669c9e99
backend/remote-state/gcs: Don't enable versioning on new buckets.
...
Enabling versioning without setting up lifecycle management leads to
every lock file being archived, slowly accruing useless data.
2017-10-27 16:52:21 -04:00
Florian Forster
927085289d
backend/remote-state/gcs: Implement the "region" config option.
...
This allows to select the region in which a bucket is created.
This copies behavior from the Google Cloud provider.
2017-10-27 16:52:21 -04:00
Florian Forster
9583d0945c
backend/remote-state/gcs: Add support for the GOOGLE_PROJECT environment variable.
...
This copies behavior from the Google Cloud provider.
2017-10-27 16:52:21 -04:00
Florian Forster
37dc95158d
backend/remote-state/gcs: Enable versioning on automatically created buckets.
2017-10-27 16:52:21 -04:00
Florian Forster
df386d3133
backend/remote-state/gcs: Automatically create the bucket if needed.
...
This resurrects the previously documented but unused "project" option.
This option is required to create buckets (so they are associated with the
right cloud project) but not to access the buckets later on (because their
names are globally unique).
2017-10-27 16:52:21 -04:00
Florian Forster
14263223e7
backend/remote-state/gcs: Simplify initialization of the GCS client.
...
This also implements the (already documented) behavior of checking the
GOOGLE_CREDENTIALS environment variable.
2017-10-27 16:52:21 -04:00
Florian Forster
816c98f387
backend/remote-state/gcs: Read credentials with ioutil.ReadFile().
...
We never expect the raw JSON to appear in the config, so pathorcontents is
not the right package here.
2017-10-27 16:52:21 -04:00
Florian Forster
c00e929ee5
backend/remote-state/gcs: Mark the "path" option as deprecated.
2017-10-27 16:52:21 -04:00
Florian Forster
14bfbf0617
backend/remote-state/gcs: Document the "prefix" option.
...
"state_dir" has been renamed to "prefix" to better fix the GCS
terminology.
2017-10-27 16:51:21 -04:00
Florian Forster
c054bd0939
backend/remote-state/gcs: Rename "gcloud" to "gcs" for backwards compatibility.
2017-10-27 16:51:21 -04:00