53 lines
1.1 KiB
Bash
Executable File
53 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
source "$(dirname $0)/utils.sh"
|
|
init
|
|
echo "Check terraform CI"
|
|
|
|
# Clean when exit
|
|
err() {
|
|
rm -f "${module}/tmp.tf"
|
|
}
|
|
trap 'err $LINENO' ERR TERM EXIT INT
|
|
|
|
provider_version=$(grep -m1 ^[[:space:]]*version[[:space:]]= README.md | awk '{print $3}')
|
|
|
|
# loop over every modules
|
|
for module in $(browse_modules "$(get_scope ${1:-})" 'inputs.tf'); do
|
|
echo -e "\t- Terraform validate on module: ${module}"
|
|
if [[ ${module} != ./common/* ]]; then
|
|
cat <<EOF > ${module}/tmp.tf
|
|
provider "datadog" {
|
|
api_key = var.datadog_api_key
|
|
app_key = var.datadog_app_key
|
|
}
|
|
|
|
variable "datadog_api_key" {
|
|
type = string
|
|
default = "xxx"
|
|
}
|
|
|
|
variable "datadog_app_key" {
|
|
type = string
|
|
default = "yyy"
|
|
}
|
|
|
|
EOF
|
|
|
|
if ! [ -f ${module}/versions.tf ]; then
|
|
cp ./common/module/versions.tf ${module}/
|
|
fi
|
|
fi
|
|
|
|
if [ -f ${module}/test.tf.ci ]; then
|
|
cat ${module}/test.tf.ci >> ${module}/tmp.tf
|
|
fi
|
|
terraform -chdir=${module} init > /tmp/null
|
|
terraform -chdir=${module} validate
|
|
rm -f ${module}/tmp.tf
|
|
done
|
|
|
|
echo -e "\t- Terraform fmt recursive"
|
|
terraform fmt -recursive
|
|
|