craftypath / gotf Goto Github PK
View Code? Open in Web Editor NEWManaging multiple environments with Terraform made easy
License: Apache License 2.0
Managing multiple environments with Terraform made easy
License: Apache License 2.0
When working with module var files, it is possible to define a hierarchy of files as those are being evaluated in the order given.
In many cases, all the necessary content may be already given in the top - level file, default-vars.tfvars
in the attached screenshot.
Still, it is currently required to also have the environment specific files present.
This may lead to module folders being cluttered with unnecessary variable files.
It could be worthwhile to introduce an option that allows for not providing variable files that are defined in gotf.yaml
.
This would allow for only specifying environment specific var files if the content deviates from default-vars.tfvars
Is this can be regarded a general pattern for your GOTF module, i would suggest to introduce this as a global option ignoreMissingVarFiles
in gotf.yaml
Hi,
thanks for sharing the project, the idea is quite promising.
I used gotf to try it in one of our projects.
We use azurerm as backend and I applied to following configuration in gotf.yaml for the state configuration:
backendConfigs:
key: "{{ .Vars.state_key }}"
storage_account_name: "xxx"
resource_group_name: "xxx"
container_name: "xxx"
snapshot: true
On every gotf command, it complains that I have to reconfigure the backend.
Error: configured backend does not match current environment
snapshot: got=true, want=true
Run terraform init -reconfigure!
It does not matter if I set snapshot to true
or 'true'
There is probably a problem with the datatypes of string vs. bool.
gotf --version
v0.17.0 (commit=49e4788, date=2022-02-09T17:18:13Z)
gotf should check whether a module directory exists and print a meaningful error if it doesn't. Otherwise, depending on the templating use in gotf.yaml
, error messages might not be helpful (e.g. Error: could not load config file "gotf.yaml": template: gotpl:1:24: executing "gotpl" at <.Params.moduleDir>: map has no entry for key "_1"
).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.