Comments (9)
@analytically unfortunately this resource can't use the built-in remote state backends at all right now. Concourse resources are required to implement a check
function that can look for new versions of a resource. To have tighter control over the state files, the resource currently supports only S3. However, now that backends are listed directly in the Terraform config files it becomes even more desirable to support all the backends. I'll have to do some more thinking on this.
Out of curiosity, would you use any backends other than S3?
from terraform-resource.
I'm just using S3.
from terraform-resource.
Opened a Concourse issue here to see if the Concourse team has any ideas for a nice implementation around supporting state backends.
Also if anyone has a strong need for backend support other than the current S3 support this resource provides, please leave a comment 👍
from terraform-resource.
Hello,
That's gonna be a mandatory change to run it automatically before any terraform command because of : https://github.com/hashicorp/terraform/blob/master/CHANGELOG.md#0100-beta1-unreleased
I don't like to have a dependency to terraform's server/availability.
Maybe could it be possible to have an option to share attach an external volume that may contains the providers binaries ? What do you think about it ?
from terraform-resource.
@Seraf thanks for the heads up, I'll start looking into how to handle that breaking change. Definitely agree that adding a runtime dependency on Terraform's servers isn't great. Baking the providers into the docker image and rebuilding on a daily timer or similar doesn't seem too bad.
from terraform-resource.
I agree but then we'll loose the capability to stick with a specific provider version. I'll try to think about how could it be handled
from terraform-resource.
@ljfranklin, I thought a little bit about it, I'm not sure that a docker image with providers will be enough : because of the version constraint in configuration, the providers will be setup in the local .terraform
folder.
It also means that each project using different providers should have their own terraform image. Sounds a bit complicated to maintain in the long run.
But anyway, I think it's the same deal than npm
, composer
, bundle
and all these libraries managers, it needs some "cache" from concourse itself. Maybe worth to use http://concourse.ci/running-tasks.html#caches to deal with it ?
Also, there was a new update about the apply feature : https://github.com/hashicorp/terraform/blob/master/website/upgrade-guides/0-10.html.markdown#interactive-approval-in-terraform-apply
It will be a breaking change for the way terraform is used by the terraform resource, so it needs to be handled before switching to the 0.10 version
from terraform-resource.
Here's a branch with the 0.10 changes. This calls init
before running other CLI commands in order to download the providers. Will merge after the Terraform team officially releases 0.10.
@Seraf after looking at the provider distribution more closely, it does seem difficult to cache all the providers in the docker image. I'm leaning towards no caching for now and we'll see if anyone has reliability issues when fetching providers from the Hashicorp servers.
@analytically even though the resource now runs init
, it still won't support the built-in state backends just yet. Still on my radar though.
from terraform-resource.
The latest image now includes Terraform v0.10.0 which makes calling init
mandatory. Spinning out a separate issue for supporting remote state backends: #39.
from terraform-resource.
Related Issues (20)
- "parameters" contains an invalid JSON: invalid character ':' after top-level value
- The terraform-provider-azurerm_v2.71.0_x5.exe plugin crashed! HOT 2
- [Feature Request] Install `curl` on images HOT 2
- [feature request] Ability to customize the `name`, `metadata`, `plan.json` filenames (support for across step) HOT 2
- HCSEC-2021-12 - Missing Tags/Releases HOT 2
- Timeout no longer seems to work with Concourse v7.5.0 HOT 2
- put with `plan_only: true` returns non zero exit code HOT 4
- Accessing local files HOT 2
- unknown provider "registry.terraform.io/-/stateful" (we don't use this) HOT 2
- Read backend configuration from source files HOT 4
- Ability to specify state locking timeout HOT 1
- TF_LOG environment variable doesn't seem to work HOT 1
- Error installing provider "random": openpgp: signature made by unknown entity. HOT 1
- Error refreshing state error HOT 3
- Other plan output options besides .json file HOT 2
- terraform apply --replace method or taint HOT 3
- SSH warnings during module download HOT 1
- "No satisfiable builds from passed jobs found for set of inputs" when using plan_only. HOT 3
- Building image from Dockerfile - COPY failed: no source files were specified HOT 1
- Plan fails due to the size when uploading to backend HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terraform-resource.