## Summary - Deploy miniflux in k8s via ArgoCD - Expose via Tailscale Ingress at feed.tail8d86e.ts.net - Retire brew PostgreSQL (no longer needed) - Rename k8s-pg to pg (canonical hostname) - Remove ansible miniflux and postgresql roles - Update borgmatic to backup pg.tail8d86e.ts.net - Update all zk documentation ## Deployment and Testing - [x] Miniflux pod running in k8s - [x] User login works at https://feed.tail8d86e.ts.net - [x] Feeds and entries visible - [x] brew miniflux and postgresql stopped - [x] Tailscale services migrated (feed, pg) - [x] zk documentation updated - [x] Run ansible to apply role removals - [ ] Verify borgmatic backup with new pg hostname 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.tail8d86e.ts.net/eblume/blumeops/pulls/33
58 lines
2.2 KiB
YAML
58 lines
2.2 KiB
YAML
---
|
|
# Podman installation and machine setup for indri
|
|
# Used as container runtime for minikube
|
|
#
|
|
# KNOWN ISSUE: podman machine init/start has reliability issues when run via
|
|
# Ansible/SSH. The machine sometimes gets stuck in "Starting" state due to a
|
|
# race condition (see https://github.com/containers/podman/issues/16945).
|
|
# Additionally, Apple Hypervisor may require GUI session context.
|
|
#
|
|
# WORKAROUND: If the machine fails to start via Ansible, manually run on indri:
|
|
# podman machine rm -f podman-machine-default
|
|
# podman machine init --cpus 4 --memory 8192 --disk-size 220
|
|
# podman machine start
|
|
#
|
|
# TODO: Investigate proper LaunchAgent or other solution for reliable automation.
|
|
|
|
- name: Install podman via homebrew
|
|
community.general.homebrew:
|
|
name: podman
|
|
state: present
|
|
|
|
- name: Check if podman machine exists
|
|
ansible.builtin.command:
|
|
cmd: podman machine list --format json
|
|
register: podman_machine_list
|
|
changed_when: false
|
|
check_mode: false # Safe to run in check mode - read-only
|
|
|
|
- name: Initialize podman machine (if not exists)
|
|
ansible.builtin.command:
|
|
cmd: podman machine init --cpus 4 --memory 8192 --disk-size 220
|
|
register: podman_init
|
|
changed_when: podman_init.rc == 0
|
|
failed_when: podman_init.rc not in [0, 125] # 125 = already exists
|
|
when: podman_machine_list.stdout == '[]'
|
|
|
|
- name: Check if podman machine is running
|
|
ansible.builtin.command:
|
|
cmd: podman machine list --format "{{ '{{' }}.Running{{ '}}' }}"
|
|
register: podman_running
|
|
changed_when: false
|
|
check_mode: false # Safe to run in check mode - read-only
|
|
|
|
- name: Start podman machine (if stopped)
|
|
ansible.builtin.command:
|
|
cmd: podman machine start
|
|
register: podman_start
|
|
changed_when: "'started successfully' in podman_start.stdout"
|
|
failed_when: false # Don't fail - see known issue above
|
|
when: "'true' not in podman_running.stdout"
|
|
|
|
- name: Warn if podman machine failed to start
|
|
ansible.builtin.debug:
|
|
msg: "WARNING: podman machine may not have started. Run 'podman machine start' manually on indri if needed."
|
|
when:
|
|
- "'true' not in podman_running.stdout"
|
|
- podman_start is defined
|
|
- podman_start.rc != 0 or "'started successfully' not in podman_start.stdout"
|