Tonight, I started looking at automated deployment of services within my homelab.
I've been using ansible already, so I figured I would just start by going through my current virtual machines, harvest the config files, create ansible roles and templates, then go from there.
But then I wondered about my containerized services.
I've just migrated from Portainer to Arcane, and I realized all of my precious compose files weren't stored or tracked anywhere.
So, I did what any normal person would do, and set up a new Gitea organisation to handle my compose files and went ahead and set up each compose file (with example .env files) in new repositories. Now, a change in a compose.yml file in gitea causes the appropriate container stack to redeploy.
This is great, but how would I get these container hosts to point at arcane and get their relevant projects?
Easy! Ansible.
I can use a module to run a compose file, which links my machine to Arcane for management.
But now, I'll need to manually create an entry in Arcane for each new host before I deploy the agent. Can I automate that?
I can. Using Arcane's API, I can programmatically register a new environment, thus allowing my new device to have new gitea projects deployed to it.
So much to do!