无法初始化tflint

问题描述 投票:0回答:2

我在我的 Mac 上安装了 tflint,当我尝试执行 --init 时,它抛出 401 错误。 你能告诉我是否需要导出任何环境变量来获取 git 存储库。

tflint --init
   Installing `azurerm` plugin...
   Failed to install a plugin. An error occurred:

   Error: Failed to fetch GitHub releases: GET https://api.github.com/repos/terraform- 
   linters/tflint-ruleset-azurerm/releases/tags/v0.14.0: 401 Bad credentials []

.tflint.hcl 文件

plugin "azurerm" {
    enabled = true
    version = "0.14.0"
    source  = "github.com/terraform-linters/tflint-ruleset-azurerm"
}

我搜索了 tflint 文档但找不到任何内容。

谢谢, 桑托什

terraform lint
2个回答
0
投票

tflint 需要安装 azurem 插件。为此,请在此处下载 azurem 正确的插件二进制文件:https://github.com/terraform-linters/tflint-ruleset-azurerm/releases/tag/v0.16.0(检查您需要的版本),解压缩,然后将其移动到您用户的

.tflint.d/plugins
目录(如果不存在则创建它)

mv ~/Downloads/tflint-ruleset-azurerm ~/.tflint.d/plugins/

0
投票

我最近尝试在公司防火墙后面使用

tflint
,但遇到了校验和错误。我能够通过以下方式解决它:

  1. 将以下内容添加到我的
    .zshrc
    文件中。尝试
    open ~/.zshrc
    从 Mac 终端打开文件。
setup_local_tflint_plugin() {
    for PLUGIN in ${PLUGINS[@]}; do
        TFLINT_PLUGIN_NAME=${PLUGIN%|*}
        TFLINT_PLUGIN_VERSION=${PLUGIN#*|}
 
        TFLINT_PLUGIN_DIR=~/.tflint.d/plugins/terraform-linters/tflint-ruleset-${TFLINT_PLUGIN_NAME}/${TFLINT_PLUGIN_VERSION}
        mkdir -p $TFLINT_PLUGIN_DIR
        FILE=$TFLINT_PLUGIN_DIR/tflint-ruleset-${TFLINT_PLUGIN_NAME}
        if [ ! -f "$FILE" ]; then
            echo "Downloading version ${TFLINT_PLUGIN_VERSION} of the ${TFLINT_PLUGIN_NAME} plugin."
            curl -L "https://github.com/terraform-linters/tflint-ruleset-${TFLINT_PLUGIN_NAME}/releases/download/v${TFLINT_PLUGIN_VERSION}/tflint-ruleset-${TFLINT_PLUGIN_NAME}_${PLATFORM_ARCHITECTURE}.zip" > ${TFLINT_PLUGIN_DIR}/provider.zip
            yes yes | unzip "${TFLINT_PLUGIN_DIR}/provider.zip" -d ${TFLINT_PLUGIN_DIR} | rm ${TFLINT_PLUGIN_DIR}/provider.zip
        fi
    done
    chmod -R +x ~/.tflint.d/plugins
}
 
# Valid values for PLATFORM_ARCHITECTURE are:
# 'darwin_amd64', 'darwin_arm64', 'linux_386', 'linux_amd64',
# 'linux_arm', 'linux_arm64', 'windows_386', 'windows_amd64'
PLATFORM_ARCHITECTURE="darwin_amd64"
PLUGINS=("azurerm|0.16.0" "aws|0.16.0")
 
setup_local_tflint_plugin
  1. 打开我的代码编辑器并导航到我的 Terraform 脚本。
  2. 在与我的 Terraform 脚本相同的文件夹中创建
    .tflint.hcl
    配置文件(如下所示)。
config {
    module = true
    force = false
    disabled_by_default = false
 
    plugin_dir = "~/.tflint.d/plugins/terraform-linters/tflint-ruleset-azurerm/0.16.0"
}
 
plugin "azurerm" {
    enabled = true
}
  1. 打开一个新的终端窗口(插件应该开始安装)。
  2. 跑步
    tflint . --config ./.tflint.hcl

注意:这一次仅适用于一个插件(例如 azurerm、aws 等)。

要安装新插件或插件版本,只需向

PLUGINS
文件中的
.zshrc
属性添加更多内容即可。要选择插件,请更新
.tflint.hcl
文件
plugin_dir
属性以指向正确的插件和版本。

© www.soinside.com 2019 - 2024. All rights reserved.