2026年 8月 第一週

8月の第一週

技術的でないこと

睡眠

最近では、土日は両方とも寝て終ってしまう。

日中が暑い分、日が暮れてから外出しようと考えて、結局そのまま活動しないで終るといった感じですね。

スギ薬局のポイントカード

スギ薬局で、お茶とか軽食を良く買うのでアプリをインストールしました。

基本的には、ポイントカードなのですが、結構な頻度で15% offのクーポンが貰えるのでお得です。

技術的な話題

IaC周りの勉強

具体的には、Terraform + cloud-initで宣言的にVMを管理することです。

最初からTerraform + cloud-initでVMを立てる方向性で進めようと思ったのですが、思いの他ツマったので 一旦TerraformのDockerのプロバイダーで肩を慣らしました。

ここで、Terraform(OpenTofu)はNix Flakesを使ってプロジェクトローカルに置くことにしました。 以下はDockerのプロバイダーを使用する例です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";

  outputs = { self, nixpkgs }: {
    devShells.x86_64-linux.default =
      let
        pkgs = import nixpkgs { system = "x86_64-linux"; };

        opentofu-with-docker = pkgs.opentofu.withPlugins (p: [
          p.kreuzwerker_docker
        ]);

      in
      pkgs.mkShell {
        name = "opentofu-docker";

        packages = [
          pkgs.tofu-ls
          opentofu-with-docker
        ];
      };
  };
}

cloud-initも一旦それ自体でqemu-system-x86,libvirtでVMを起動するところからやってみようと思います。

cgroups

Cで/sys/cgroupsを直接操作するコードに加えてRustでも直接操作するコードを書きました。 libcgroupを使った実装はまだ途中です。

ある程度のところまで進んだら、別途記事にするかもです。

CC BY
Hugo で構築されています。
テーマ StackJimmy によって設計されています。