アクティビティ (今までの走行 (歩行) 距離)
Fitibit Charge2 のアクティビティから走行 (歩行) 距離を Fitbit Web API で取得して Pixela で草生やしている。色が濃くなれば濃くなる程強度が高い (歩行、走行距離が長い) ということで。実装の詳細はこちら。
ジョギング
ランオフ。ダラダラ過ごしつつ、TV を見ながら補強をやったり、ストレッチをやったり。
レアジョブ
明日、9:30 から予約を入れている。
夕飯
今日も居酒屋「自分勝手」 (適当に冷蔵庫のあまりものでつまみを作って、作りながら飲む) だった。引き続き、奥さんは体調を崩してしまっているので、おかゆを作って食べてもらった。
dagger
CI/CD がどこでも実行出来るという触れ込みで最近リリースされた dagger を半日くらいチュートリアルしてみた。
github.com
全てが Docker コンテナ上で実行することで、そのポータビリティ性が非常に魅力的で、各種 CI/CD ベンダーの環境以外にもローカル環境でも実行出来るというのは嬉しいと思う。
しかし、自分が dagger を使ってやりたいなーと思っていた terraform の各種コマンドの実行を cue を使って書いていて、「あれ、これは make コマンドでもよくね?」という気持ちが芽生えてきた。
もう少し、make コマンドと比較しての優位性等について探す旅を続けたいと思う。
ちなみに、以下は terraform の各種コマンドの実行を落とし込んだ dagger で実行可能なコード。
package main
import (
"dagger.io/dagger"
"dagger.io/dagger/core"
"universe.dagger.io/alpine"
"universe.dagger.io/bash"
"universe.dagger.io/docker"
)
dagger.#Plan & {
actions: {
source: core.#Source & {
path: "."
exclude: [
"*.cue",
"*.md",
".git",
]
}
deps: docker.#Build & {
steps: [
alpine.#Build & {
packages: {
bash: {}
git: {}
curl: {}
}
},
docker.#Copy & {
contents: client.filesystem.".".read.contents
dest: "/work"
},
bash.#Run & {
workdir: "/work"
script: {
contents: #"""
git clone https://github.com/tfutils/tfenv.git ~/.tfenv
ln -s ~/.tfenv/bin/* /usr/local/bin
tfenv install
"""#
}
},
]
}
validate: bash.#Run & {
input: deps.output
workdir: "/work"
script: {
contents: #"""
terraform validate
"""#
}
}
plan: bash.#Run & {
input: deps.output
workdir: "/work"
script: {
contents: #"""
terraform plan
"""#
}
}
apply: bash.#Run & {
input: deps.output
workdir: "/work"
script: {
contents: #"""
terraform apply -auto-approve
"""#
}
}
}
client: {
filesystem: ".": {
read: {
contents: dagger.#FS
}
}
env: {
TEST_VALUE: string | *"barbarbar"
}
}
}