github.com/terramate-io/tf@v0.0.0-20230830114523-fce866b4dfcd/depsfile/doc.go (about) 1 // Copyright (c) HashiCorp, Inc. 2 // SPDX-License-Identifier: MPL-2.0 3 4 // Package depsfile contains the logic for reading and writing Terraform's 5 // dependency lock and development override configuration files. 6 // 7 // These files are separate from the main Terraform configuration files (.tf) 8 // for a number of reasons. The first is to help establish a distinction 9 // where .tf files configure a particular module while these configure 10 // a whole configuration tree. Another, more practical consideration is that 11 // we intend both of these files to be primarily maintained automatically by 12 // Terraform itself, rather than by human-originated edits, and so keeping 13 // them separate means that it's easier to distinguish the files that Terraform 14 // will change automatically during normal workflow from the files that 15 // Terraform only edits on direct request. 16 // 17 // Both files use HCL syntax, for consistency with other files in Terraform 18 // that we expect humans to (in this case, only occasionally) edit directly. 19 // A dependency lock file tracks the most recently selected upstream versions 20 // of each dependency, and is intended for checkin to version control. 21 // A development override file allows for temporarily overriding upstream 22 // dependencies with local files/directories on disk as an aid to testing 23 // a cross-codebase change during development, and should not be saved in 24 // version control. 25 package depsfile