Introduce Terraform

最近転職活動を少しやっていまして,その中でお断りされる理由が以下の 2 つです. パブリッククラウドの経験 これはプライベートクラウドをばりばりやっている弊社ではどうしようもない. その代わり自社 DC 運用経験というのがあるわけですが,オンプレの「オ」の字も考えていない企業からしたらムダな経験ってワケですね. Terraform の経験 パブリッククラウドの IaC を Terraform でやるなんてもう当たり前です. 上述のとおりプライベートクラウドかつ自社向け PF が提供されているので,これまで利用する必要がありませんでした. 正直 Terraform というか構成管理については Python Fabric から始まり,Chef を利用しそこから Ansible に移行するまで実施していたので,やればできるだろぐらいに考えていました. とはいえ Terraform の実務経験がないことに渋られるのもなんかムカついてきたので,チーム内で Terraform を利用することにしました. 利用するだけだと職務経歴書に書いても響かないと思うので,Provider の作成も実施しました. 今回は Terraform Provider を自作して導入してみた,ということで記事を書かせていただきます.

Try nix

Photo by Aditya Vyas on Unsplash Nix に入門してみました. homebrew 代替となる home-manager や nix-darwin などがありますが,今回は開発環境整備で利用してみることにします. devcontainer 的な感じですね.

Installing k3s on rasberry pi 5

Photo by Jainath Ponnala on Unsplash Raspberry Pi Imager ssh とか昔は mkdir とかやった記憶なんですが,今は Imager の設定で ssh や鍵認証まで設定できるようになっていました. Static IP 現在は NetworkManager で設定するのがナウいようです. 初期は設定ファイルがないので名前を設定することでまずはファイルを生成します.

Try launchd on macOS

Photo by Joshua Hoehne on Unsplash macOS でのデーモン系の管理は launchd というものを利用するみたいですね. 早速 yaskkserv2 を launchd で管理してみました. 以下に記載の通りですが,ユーザ管理ものは ~/Library/LaunchAgents に配置するようなのでそこに置きます.

Arch Linux Install Battle

Photo by svklimkin on Unsplash grub から systemd-boot にしたいなぁと思っていて,どうせなら綺麗にするかということで Environment Surface Pro Type Cover Keyboard (US) インターネット接続 WiFi でやっていく ip link set wlan0 up wpa_supplicant -B -i wlan0 -c <(wpa_passphrase SSID password) dhcpcd パーティションの作成 gdisk と思ったら最近はワンライナーでいけるらしい

Get RedirectUri on PowerShell

Photo by Marc Rentschler on Unsplash PowerShell で curl -w “%{redirect_url}” 相当がしたくなったのでメモ. Param( [String]$Uri ) $request = Invoke-WebRequest -Method Head -Uri $Uri $redirectedUri = $request.BaseResponse.ResponseUri.AbsoluteUri echo $redirectedUri

Try flet

Photo by Andrew Neel on Unsplash 雑にいうと Python で Flutter web みたいなことができる. Build multi-platform apps in Python powered by Flutter とりあえずサンプルコードだけ載せておく. import flet from flet import IconButton, Page, Row, TextField, icons def main(page: Page): page.title = "Flet counter example" page.vertical_alignment = "center" txt_number = TextField(value="0", text_align="right", width=100) def minus_click(e): txt_number.value = int(txt_number.value) - 1 page.update() def plus_click(e): txt_number.value = int(txt_number.value) + 1 page.update() page.add( Row( [ IconButton(icons.REMOVE, on_click=minus_click), txt_number, IconButton(icons.ADD, on_click=plus_click), ], alignment="center", ) ) flet.app(target=main) Flutter の Widget 的なやつを Page class に add していくと良い感じに Frontend ができるという感じです. やはり Dart は採用しにくいというところもあると思うので,Python で雑というか簡単に Frontend ができるのは良いです.

Melbourne memo

飛行機 カンタス航空を利用しました. 行きは羽田 -> メルボルン,帰りはメルボルン -> シドニー -> 羽田という感じでした. 帰りメルボルン空港はカンタス航空専用ターミナルからの出発のため,PP で利用できるラウンジがなかったのが残念. シドニー国際線ターミナルは PP で利用できるラウンジがありますが追加料金が $20 必要なタイプ,そのほかには $36 分の配給が得られるレストランが利用できます. 今回はトランジットの時間が短く利用はできませんでした.

Prometheus time unittest

現在の unixtime を返してくれる time() を使ったときの Prometheus Unittest の書き方です. よくあるのは SSL 証明書が切れそうなときアラートを発破したいという時かと思います. このアラートのテストをしたいと思ったとき,time() をどう mock するかみたいなことを考えるかと思います.

California Disneyland Resort memo

カリフォルニア の Disneyland Resort に行ってきました.事前準備などのメモです. 飛行機 ZIPAIR を利用しました.LCC なので受託手荷物は追加料金が必要です. 今回は事前座席指定・機内食・受託手荷物のセットになっている Value パッケージを追加しました. 座席については充電用 USB ポート・タブレット用ホルダーがあったり,無料で WiFi が利用できるので不便はありませんでした. これで格安でいけるならありですね.

See more posts