Container Linux とは、Dockerでドカドカしたい人向けのOSらしいです。
OSインストール時に、 Container Linux Config
という設定ファイルをトランスパイルして生成できる Ignition Config
というJSONファイルを食わせてOS全体を一気に設定する仕組みになっているのですが、その設定ファイルを書いていたらなんか飽きたので、途中までのものをメモって供養します。
ちょっとしたsystemdの勉強にはなった。
storage: files: - path: /etc/sysctl.d/80-swappiness.conf filesystem: root contents: inline: "vm.swappiness=10" systemd: units: - name: set-timezone.service enabled: true contents: | [Unit] Description=Set the time zone [Service] ExecStart=/usr/bin/timedatectl set-timezone Asia/Tokyo RemainAfterExit=yes Type=oneshot [Install] WantedBy=multi-user.target - name: var-vm-swapfile1.swap enabled: true contents: | [Unit] Description=Turn on swap Requires=create-swapfile.service After=create-swapfile.service [Swap] What=/var/vm/swapfile1 [Install] WantedBy=multi-user.target - name: create-swapfile.service contents: | [Unit] Description=Create a swapfile RequiresMountsFor=/var ConditionPathExists=!/var/vm/swapfile1 [Service] Type=oneshot ExecStart=/usr/bin/mkdir -p /var/vm ExecStart=/usr/bin/fallocate -l 1024m /var/vm/swapfile1 ExecStart=/usr/bin/chmod 600 /var/vm/swapfile1 ExecStart=/usr/sbin/mkswap /var/vm/swapfile1 RemainAfterExit=true networkd: units: - name: 00-eth0.network contents: | [Match] Name=eth0 [Network] LinkLocalAddressing=no IPv6AcceptRA=no DNS=8.8.8.8 8.8.4.4 Address=xxx.xxx.xxx.xxx/xx Gateway=xxx.xxx.xxx.xxx passwd: users: - name: core ssh_authorized_keys: - ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx... locksmith: reboot_strategy: "reboot"