GitOps / Infrastructure as Code для homelab

Немного формальностей

Для начала определиться с СI/CD и GitOps результат у них одинаковый, а подход разный - CD -push, GitOps - pull

Что касается docker и разворачивания, то я надавно перешел на Komodo и даже тут создал тему соответствующую, рекомендую к ознакомлению.

В целом,

Komodo с успехом реализует, но он как и dockge, как и arcane да и portainer использует в качестве основы стеки, это docker-compose файлы, описывающие приложения, но помимо стеков имеет еще возможности по сборке, деплою и работе с git.

Собственно, описанная Вами задача была реализована в сценарии 2 и 3 в выше указанной теме, но редеплой можно либо руками запустить из веб интерфейса или через git actions триггерить событие деплоя

Что же касается TrueNAS Scale, то это оооочень сырая штука и очень глючная, они долгое время использовали k3s под катом, но потом ушли в строну docker-compose или чего-то похожего (ковырялся в конфигах приложений и там такой :shit: , что лучше не смотреть + легаси на легаси и костылями обмазано.

Вообще TrueNas это операционка поверх ZFS и лучше внутрь не лезть, максимум, что можно сделать это через API попытаться работать с этой штукой.

Если хост система на truenas, и хочется IaC, то лучше развернуть LXC или KVM (правда, они тоже недавно обновились и сейчас в бете), поставить туда komodo periphery и разворачивать уже внутри приложения. Но при этом потеряете в гибкости работы с датасетами, которые для приложений truenasа создаются автоматом

Штатные приложения имеют собственные манифесты, режим обновлениям, миграции форматов манифестов и работу с датасетами, я пробовал создавать кастомные приложения со своими образами, работает, но оооочень криво. + приложения версионируются опять же на уровне ZFS (я писал выше, что это операционка на ZFS, а не дебиан)

2 лайка