zaki work log

作業ログやら生活ログやらなんやら

2025-01-01から1年間の記事一覧

お台場の三代目博多だるまさんが2026年1月に閉店してしまうのでメニューの紹介や思い出を振り返ってみる

以前からときどき食べてたけど、2023年に虹ヶ咲のコラボがラーメン国技館 舞で開催されるよ、という情報が発表されたくらいから週1回以上は通うようになって2年半以上かな…そんなひいきのお店が閉店するということで、メニューとかいろいろ振り返ってみたい…

Ansible BuilderをGitLab RunnerのCIで起動してEEコンテナイメージの自動ビルド(Red Hat認証込み)

本エントリは「Ansible Advent Calendar 2025」の18日目のエントリです。 今回はおそろしく速いシリーズじゃないです。 EEカスタムイメージのビルドについては、GitHub Actionsを使った自動ビルドと、AWSのCodeDeployを使った自動ビルドは以前試してみてたけ…

AnsibleでID番号の自動採番をdifferenceフィルターやbreak_whenを使って実装

本エントリは「Ansible Advent Calendar 2025」の17日目のエントリです。 IDの採番という業務でありがちだけど割とマニアックな処理を実装してみたけれど、13日目の穴埋めに投下したエントリに続いて速度ネタになってしまった(笑) やりたいこと 何が難しい?…

mise + uv構成で外部と分離されたAnsible環境の構築

本エントリは「Ansible Advent Calendar 2025」の13日目のエントリです。 ちなみにEmacs育ちなのでCtrl-a/e/n/pなどの基本的なカーソル移動は(bashでも使うので)当然、Ctrl-x 4 aでChangelogドキュメントの自動作成など、たいていの操作は(脳は忘れてるけど)…

[Proxmox / Terraform] Cloud-initのパッケージインストール等を併用したVMプロビジョニング (bpg/proxmoxプロバイダ)

先日telmate/proxmoxプロバイダを使ったProxmoxのTerraformによる自動化を試したが、Cloud-initの自由度に難易度があり、いろいろ調査した結果、TerraformのProxmoxプロバイダっていろいろあって、試した中ではbpg/proxmoxプロバイダの使い勝手がよかったの…

[AAP 2.4/2.5/2.6] 自己署名証明書などのinsecureなコンテナレジストリからイメージをpullするワークアラウンド

2025.12.16:AWXの場合を追記 AAP(Ansible Automation Platform)のAutomation Controller標準機能の設定で(Container Registryの認証情報でSSL検証をオフにしておけば)できると思っていたら実はできなかったので、回避策について調べてみた。 結論としては、…

Ansible BuilderでEEコンテナのイメージビルドの際にAutomation Hubのトークン情報を定義ファイルに書かないためのポイント

Ansible Builderを使ったイメージビルドでAutomation Hub(console.redhat.com)のコレクションをインストールする場合の定義ファイルについて。 条件として、各定義ファイル内に認証情報を記述せずに実行時に外部から指定し、バージョン管理対象のファイルに…

Automation Hub( console.redhat.com )のコレクションをansible-galaxyでインストールする手順

手順をあまりよくわかっていなかったのでまとめた。 認証設定 インストール 参考 EEのイメージビルドする場合 認証設定 ansible.cfgに記載する。 以下はパブリックアクセスできるAnsible Galaxyと、Automation Hubを併用する場合。 [galaxy] server_list = r…

[AAP 2.5] AAP上のユーザーを作成するタスクはansible.platformコレクションを使う

AAP 2.5からControllerとPlatform Gatewayに分かれた関係で、ユーザー作成周りの処理(エンドポイント)に変更があり、以前までのモジュールだとAAP 2.5に対しては正常に動作しなくなっている。 結論としては、「組織」「チーム」「ユーザー」に関する操作はan…

[Zed] 保存時に行末のスペースを自動削除する設定の解除

Zedのデフォルト有効のこの動作、ほとんどの場合は余計なスペースを削ってくれるポジティブな機能だと思うんだけど、「改行したい場合は行末にスペース2つ」という書式のMarkdownファイルとの相性が最悪なので、無効にする設定を追加した。 やり方はGUI/sett…

Rust製エディタ「Zed」でリモートSSHを試してみた (Windows)

マルチプラットフォームでRust製のエディタZedが最近Windowsにも対応したので試してみた。 機能的にはSSHリモート処理が内蔵されているので、個人的な用途としてはこれで90%くらいクリアしてるので(笑) 概要と環境 リモートSSHの接続手順 Terminalのキーバイ…

[VS Code] Terminalで最後に実行したコマンド文字列が張り付くのを解除する設定 (Sticky Scroll)

いつのまにか有効化された機能で、Terminal画面の最上段にその出力を行ったコマンド文字列が常時表示されるようになったけど、以下の設定で解除できた。 (方法1) しゃしゃり出てきたコマンド文字列部分を右クリックして「Sticky Scroll」のチェックを外す (…

[Ansible] splitフィルター

何を今頃という感じもあるけど、ansible-core 2.11で split フィルターが導入されている。 それ以前(2.10以前)はPythonのsplit()組み込み関数を文字列変数に使うしかなかったので、よりAnsibleっぽい書き方ができるようになっている。 docs.ansible.com フィ…

miseを使ったPerl開発環境

個人開発で標準に入ってないPerlモジュールを使うコードを書こうとしたときに、ふとmiseで環境構築できるかな?と思って試してみた。 要件としてはユーザー権限で追加のモジュールを、ユーザーグローバルでなく指定のディレクトリ(アプリのプロジェクト用デ…

[AWX/AAP] メトリクス情報をPrometheusでモニタリングする

ドキュメントの通りに設定すればPrometheusでAWX/AAPのメトリクス情報を監視できる。 とりあえずモニタリングの設定のみ。アラートはまたそのうちどこかで。。 docs.redhat.com Prometheus設定 (prometheus.yml) scrape_config配下に、この設定を追加 - job_…

[Proxmox VE] Terraformを使った設定済みVMプロビジョニング (telmate/proxmoxプロバイダ)

2025.11.08:再実行時の変更について追記 2025.11.24:proxmox_cloud_init_diskリソースを使ったCloud-init設定と、bpg/proxmoxプロバイダについて追記 クラウドイメージのテンプレートとcloud-initを使ったProxmoxでの設定済みVMのプロビジョニングや、それ…

[Docker] PostgreSQLコンテナのボリューム未指定時の場合のデータサルベージとバックアップ・リストア

postgresコンテナのデータを永続化するにはボリューム指定するのが定石だけど、うっかりしてコンテナ再作成後にデータが消えていた場合のサルベージ方法について。 ちなみにアプリの都合でpostgres:12を使ってるけど、2024年にサポート終了してるのね。本文…

[mise] 環境変数などにコマンドの実行結果をセットする

miseの環境変数などの定義のテンプレート定義には関数があり、その中のexec(command)を使えばコマンドの実行結果を参照できる。 お題 例として、以下のようなTerraformの変数ファイルがあるとして、サーバーアドレス部分("192.168.1.89")を環境変数としても…

miseでffmpegを入れる場合はバイナリインストールでなくビルドが行われるのでgccなどが必要 (追記:最新8.0も可)

miseでffmpegをインストールする場合依存するあれやこれやが必要だったのでメモ。 エラー gcc nasm ビルドとインストール 追記:ver8.0 環境 コメント 参考 エラー 無邪気に入れようとすると、以下のようにエラーになる [zaki@fedora-dev ~]$ mise use ffmpe…

Proxmox VE(2ノードクラスタ)の8から9へのアップグレード

今月に入ってPVEのver9がリリースされていたので、個人環境をアップグレード。 www.proxmox.com pve.proxmox.com 7から使ってると対象外だが、8を新規インストールしたノードだと事前チェックでエラーがあったりしたので、ひとまず作業内容のまとめ。 基本的…

ラズパイへのSSH接続が「set_sock_tos: set socket 3 IP_TOS 0x48」で停止したときの回避策

Raspberry PiのSSHサーバーにいつの間にか接続できなくなってたので調査。 結論から言うと、クライアント側に IPQoS=none の設定を加えればOK 現象 SSH接続しようとすると応答がなくタイムアウトする。 -vvvを付与してログを確認すると、以下の出力のタイミ…

miseを使用した外部と分離されたプロジェクト固有のAnsible環境を整える (venvのみ)

おそらくpipxやuvを完全に理解したらもっと良い構成にできるかもしれないけど、今はこれが精一杯。 ※ 2025.12.13追記:uv連携バージョンを以下にアップしました。 zaki-hmkc.hatenablog.com miseで直接ansibleやansible-coreをインストールできるけど、依存…

k3sのアップグレードでTraefikのHelmChartデプロイが「This version of the Chart only supports Traefik Proxy v3」エラーになったので復旧させた(作業ログ)

教訓として、k3sのHelmChartを使って標準でインストールされるコンポーネントをHelmChartConfigで設定上書きする場合、特段の事情がない限りはイメージバージョンをカスタムしないのが吉。 k3sをv1.30から(1.31, 1.32を経て)1.33までアップグレードしたとこ…

miseとタスクランナー機能を使ったPython + venv環境の自動構築

miseはmise.tomlファイルのあるディレクトリあるいはそのサブディレクトリへ移動すると、mise.tomlファイル内の定義が使用される。 その際、Pythonのvenvを作る仕組みも用意されており、以下の手順を定義ファイルだけで実現できる。 指定ディレクトリへ移動…

[kubectl] アノテーションの編集はラベルと全く同じ要領でkubectl annotateで更新する

デプロイ済みリソースのアノテーションを編集する必要があって操作方法を調べてみたけど、ラベルの編集と全く同じだった。 ラベルの編集は5年前に一度エントリ作っていたので、アノテーションについてもとりあえずメモ。 before $ kubectl describe -n loggi…

PythonでJSONデータ変換いろいろ

PythonでJSONデータを扱ういろいろのメモ オブジェクト -> JSON文字列 / json.dumps() 人が読みやすいJSON文字列 日本語(非ASCII)を含む場合のエスケープ抑止 オブジェクト -> JSONファイル / json.dump() JSON文字列 -> オブジェクト / json.loads() JSONフ…

[Linux / systemd] OS起動時に1回だけコマンド実行する

systemdを使ってOS起動時にコマンドをワンショット実行するには、Type=oneshotを指定し、ExecStartに実行したいコマンドを指定すればだいたいOK 基本形 [Unit] Description=my one shot service sample After=network.target [Service] Type=oneshot ExecSta…

[kubectl] jsonpathでドットをキー名に含むパスにアクセスするには逆スラッシュでエスケープする

知ってれば何てことないんだけどプチはまりで時間をだいぶ溶かしてしまったので備忘録。 というか.dockerconfigjsonであれば以下の通り。 kubectl get secret ecr-credential -o jsonpath='{.data.\.dockerconfigjson}' | base64 -d ドットを含むキー名に含…

[Proxmox VE / Ansible] VM作成のためのテンプレートを作るAnsible Playbook

以前まとめた以下の「テンプレートの作成」をAnsibleで自動化する、という話。 zaki-hmkc.hatenablog.com 作業するのは年に数回なんでいつも心温まる手作業だったけど、コマンドの実行回数が6回くらいあってさすがに回を重ねるとダルくなってきたため、シェ…

[Linux] AWKで正規表現置換

コマンドの出力を正規表現使って文字列置換するならsedを使うことは多いけど、行ごとに処理するだけで「前の行の情報」などどうだったかとかの状態を維持する仕組みが(たぶん)ないので、例えば「特定の文字列パターンを正規表現で処理しつつ連番を振る」がse…