Skip to content

Thank you #5

@jochumdev

Description

@jochumdev

Hey,

I'm using your "little" project here, think I came by your blog post.

Working GREAT :)

IP Detection isn't working, think it's an api limit or something.

Using a hack to rebuild incus containers outside of it:

deploy_scripts.json:

{
    "configurator": "/deploy/configurator.sh"
}

/deploy/configurator.sh

#!/usr/bin/env -S bash
set -euo pipefail

printf "%s\n" "$(date +'%s')" > /deploy/configurator

systemd-unit:

[Unit]
Description=Rebuild the configurator

[Service]
Type=oneshot
Environment=HOME=/home/nuttyb
ExecStart=/home/nuttyb/server/scripts/rebuild_configurator.sh

systemd-path:

[Unit]
Description=Monitor deploy/configurator for changes

[Path]
PathChanged=/home/nuttyb/server/deploy/configurator
Unit=rebuild_configurator.service

[Install]
WantedBy=paths.target

rebuild.sh

#!/usr/bin/env -S bash
set -euo pipefail

SCRIPT_DIR="$(dirname "$(readlink -f "${0}")")"

pushd "${SCRIPT_DIR}/../nuttyb" > /dev/null
git fetch
podman build . --output "type=tar,dest=../configurator-rootfs.tar"
popd >/dev/null

pushd "${SCRIPT_DIR}/../configurator-metadata" > /dev/null
echo '{"architecture":"x86_64", "creation_date":'$(date +'%s')', "expiry_date":0, "properties": {"type": "oci", "description": "NuttyB Configurator (OCI)", }, "templates":null }' > metadata.yaml
tar cf ../configurator-metadata.tar *
popd >/dev/null

cd "${SCRIPT_DIR}/.."
incus image import configurator-metadata.tar configurator-rootfs.tar --alias configurator/latest --reuse
incus rebuild -f local:configurator/latest configurator2

You can see it all together here: https://github.com/nuttyb-community/server (see the justfile)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions