Checkins for a raspberry pi setup and k3s cluster I'm playing around with.
I got tired of having to pick what to eat for dinner each month, thus recipe-maker was born. recipe-maker selects and renders a month's worth of recipes, including related grocery list. Comes in two modes:
Deployed on k3s using a Deployment + NodePort Service. This allows viewing this month + next month's meals from my phon, laptop, or tablet by hitting the same URL. Links are clickable for finding related recipes.
Deployed on k3s using a CronJob. Every Friday, finds next week's recipes and compiles a grocery list for all items, combining like items by quantity, and assigning each item to its respective aisle. This is then formatted and emailed to me and my partner.
Recipes are stored in a JSON file in a private repository shared with my partner. This repo has CI/CD setup to validate the contents, and push the JSON file's latest state to S3. This state is then pulled by the recipe-maker.
While we could just pull from the GitHub repo itself, CD in this way is far more fun!
Ansible install:
$ sudo apt install ansible-core
Terraform install: https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli#install-terraform
Required non-checked files:
ansible/inventory/pi
:[common] <FILL IN> [artifactors] <FILL IN> [all:vars] ansible_python_interpreter=/usr/bin/python3
ansible/roles/common/vars/vars.yml
:pub_ssh_key_path: <FILL IN>
ansible/roles/workers/vars/vars.yml
:k3s_token: <FILL IN> k3s_url: <FILL IN>
terraform/nexus/local.tfvars
:nexus_url = <FILL IN> nexus_username = <FILL IN> nexus_password = <FILL IN> nexus_docker_repo_port = <FILL IN>