3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Terraformでいまいちな自動バージョンアップ

Posted at

話の流れ

毎日cronで terraform plan 実行して差分チェックとかやってるんですけど、今日も差分やエラーを検知。

で、調べてみると

$ terraform --version
Terraform v0.11.10

Your version of Terraform is out of date! The latest version
is 0.11.11. You can update by downloading from www.terraform.io/downloads.html

「あなたのバージョンは時代遅れ~」
あーなるほどね。また、バージョン上がったのね。

これ、terraformってパッケージ管理じゃなくて、バイナリ落としてきてるんだよなぁ
なんか自動でアップグレードとか出来ないのかなぁ…


Google先生後

うーん、なんかmacは普通に homebrew で出来るっポイ…
(自分は windows 使ってて、cron動かしてるのはLinux)


更にGoogle先生後

この記事を見て何やら tfenv と言うツールを知る

Terraform職人入門: 日々の運用で学んだ知見を淡々とまとめる

試してみる

インストールは README の通り

git clone https://github.com/kamatama41/tfenv.git ~/.tfenv
echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.bash_profile

ではさっそく
tfenv install latest ってやると最新版インストールしてくれるらしい

$ tfenv install latest
[INFO] Installing Terraform v0.12.0
[INFO] Downloading release tarball from https://releases.hashicorp.com/terraform/0.12.0/terraform_0.12.0_linux_amd64.zip

curl: (22) The requested URL returned error: 403 Forbidden
tfenv: tfenv-install: [ERROR] Tarball download failed

あれ…なんか faild ってでた。。
確かにダウンロード先のリンククリックすると403が返ってくる。なにこれ。。

ソースを見てみると、以下にアクセスして、最新を判別してるっぽくて、
terraform_0.12.0-alpha4 のお尻の alpha の部分がリンク組み立てる所から抜けてるのかな…?
…しかもalphaとか使いたくないなぁ
https://releases.hashicorp.com/terraform/

issuesも上がってたけど、直ってないのかな…(ちゃんと見てない)
https://github.com/tfutils/tfenv/issues/95


ちょっと弄る

この部分でバージョンの一覧を取得してたので、
https://github.com/tfutils/tfenv/blob/master/libexec/tfenv-list-remote#L11

curlw -sf https://releases.hashicorp.com/terraform/ | grep -o -E "[0-9]+\.[0-9]+\.[0-9]+(-(rc|beta)[0-9]+)?" | uniq

このに | grep -v alpha を追加する

リトライ

次はうまくいった。alphaではない、最新版がインストールされた

$ tfenv install latest
[INFO] Installing Terraform v0.11.11
[INFO] Downloading release tarball from https://releases.hashicorp.com/terraform/0.11.11/terraform_0.11.11_linux_amd64.zip
######################################################################## 100.0%
[INFO] Downloading SHA hash file from https://releases.hashicorp.com/terraform/0.11.11/terraform_0.11.11_SHA256SUMS
tfenv: tfenv-install: [WARN] No keybase install found, skipping GPG signature verification
tfenv: tfenv-install: [WARN] No shasum tool available. Skipping SHA256 hash validation
Archive:  tfenv_download.YZmMIj/terraform_0.11.11_linux_amd64.zip
  inflating: /home/akiyo.ando/.tfenv/versions/0.11.11/terraform
[INFO] Installation of terraform v0.11.11 successful
[INFO] Switching to v0.11.11
[INFO] Switching completed

pathの場所も変わっていた。

$ terraform --version
Terraform v0.11.11

$ which terraform
~/.tfenv/bin/terraform

仕上げ

MyPC は shell 起動時に実行してもらうようにした

echo 'tfenv install latest >/dev/null' >> ~/.bash_profile

Cron で terraform plan 実行してる Linux は Cron に登録した

0 8 * * * tfenv install latest
0 9 * * * python ${HOME}/terraform/terraform/slackbot/plugins/terraformer_by_python.py

感想

なんか大分いまいちだけど、自動化はできました。
(mac 以外の人で)みんな、この辺の運用どうやってるんだろ?
やっぱ、macやなぁ…

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?