Image Update Automations and Pull Requests with FluxCD

Automated pull requests with Flux requires the Image Update Automation controller and setting up push options for your Git host. It is not super well documented by the Flux team. There is a single example show how to use a similar feature, "Merge Requests", in GitLab. As I am using Gitea and will be unable to use this example in my home lab, I will work on the issue in the GitHub repository for Gitea.

I expect to be able to push using the options and have Gitea automatically open a pull request.

Files I expect I will need to work with and around:

I would like to use this feature to separate my environments using branches instead of multiple folders. Each branch can be protected from unwanted changes and, it will be possible to review the potential changes the new image may require.

fluxcd/image-updatedevelopmentstagingproduction

UPDATE: December 13, 2023

Looks like Gitea already has support for this under the help heading "Agit Setup". I have already tested the feature as working using git options locally and will continue with moving my Kubernetes resources into a repository with image automations set up.

NixOS in Crostini (Part 1)

On a machine with Nix and nixos-generate:

nixos-generate -f lxc
nixos-generate -f lxc-metadata

Copy the files generated to the ChromeOS device.
Open crosh

crosh> vsh termina
(termina) chronos@localhost ~ $ lxc image import /mnt/shared/MyFiles/Downloads/nixos-system-metadata.tar.xz /mnt/shared/MyFiles/Downloads/nixos-system.tar.xz --alias=nixos
(termina) chronos@localhost ~ $ lxc launch nixos nix

At this time, the LXC container does not show up in the terminal. To enter the container use the following commands in crosh

crosh> vsh termina
(termina) chronos@localhost ~ $ lxc list
(termina) chronos@localhost ~ $ lxc console nix

If the container is not running, run lxc start nix to start the container

(termina) chronos@localhost ~ $ lxc start nix

Need to look into the Crostini Container Guest Utilities and having them embedded in the NixOS image as well as configuration for running inside of a LXC container.