Infra: Add terraform no-color output.
[csit.git] / resources / libraries / bash / function / terraform.sh
index 29a2177..5313b62 100644 (file)
@@ -34,7 +34,7 @@ function terraform_apply () {
     pushd "${CSIT_DIR}"/fdio.infra.terraform || die "Pushd failed!"
     pushd "${NODENESS}_${FLAVOR}_c5n" || die "Pushd failed!"
     export TF_LOG=INFO
-    terraform apply -auto-approve  || die "Failed to run terraform apply!"
+    terraform apply -no-color -auto-approve  || die "Terraform apply failed!"
     popd || die "Popd failed!"
     popd || die "Popd failed!"
 }
@@ -57,7 +57,7 @@ function terraform_destroy () {
     pushd "${CSIT_DIR}"/fdio.infra.terraform || die "Pushd failed!"
     pushd "${NODENESS}_${FLAVOR}_c5n" || die "Pushd failed!"
     export TF_LOG=INFO
-    terraform destroy -auto-approve || die "Failed to run terraform destroy!"
+    terraform destroy -auto-approve -no-color || die "Terraform destroy failed!"
     popd || die "Popd failed!"
     popd || die "Popd failed!"
 }
@@ -75,22 +75,30 @@ function terraform_init () {
     set -exuo pipefail
 
     if ! installed terraform; then
-        die "Please install terraform!"
+        curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
+        os="$(lsb_release -cs)" || die "Failed to get OS release!"
+        repo="deb [arch=amd64] https://apt.releases.hashicorp.com ${os} main"
+        sudo apt-add-repository "${repo}" || die "Failed to add repo!"
+        apt update -y
+        apt install -y terraform
+        #die "Please install terraform!"
     fi
 
     pushd "${CSIT_DIR}"/fdio.infra.terraform || die "Pushd failed!"
     pushd "${NODENESS}_${FLAVOR}_c5n" || die "Pushd failed!"
-    export TF_LOG=INFO
-    terraform init || die "Failed to run terraform init!"
 
     plugin_url="https://github.com/radekg/terraform-provisioner-ansible/"
     plugin_url+="releases/download/v2.5.0/"
     plugin_url+="terraform-provisioner-ansible-linux-amd64_v2.5.0"
     plugin_dir="${HOME}/.terraform.d/plugins/"
-    plugin_path+="${plugin_dir}terraform-provisioner-ansible-linux-amd64_v2.5.0"
+    plugin_path+="${plugin_dir}terraform-provisioner-ansible_v2.5.0"
 
     mkdir -p "${plugin_dir}" || die "Failed to create dir!"
     wget -O "${plugin_path}" "${plugin_url}" || die "Failed to download plugin!"
+    chmod +x "${plugin_path}" || die "Failed to add execute rights!"
+
+    export TF_LOG=INFO
+    terraform init || die "Failed to run terraform init!"
 
     popd || die "Popd failed!"
     popd || die "Popd failed!"