ansible/dns.yml
Phil 68f0276ac0 feat: complete infrastructure cleanup and optimization
This comprehensive update improves maintainability and removes unused services:

## Major Changes
- Remove 5 unused services (beaver, grist, stirlingpdf, tasksmd, redlib)
- Convert remaining static compose files to Jinja2 templates
- Clean up Caddyfile removing orphaned proxy configurations
- Align DNS records with active services

## Service Cleanup
- Remove habits.thesatelliteoflove.com DNS record (beaver service)
- Add missing DNS records for active services:
  - post.thesatelliteoflove.com (Postiz)
  - files.thesatelliteoflove.com (Pingvin Share)
  - bookmarks.thesatelliteoflove.com (Hoarder)

## Template Standardization
- Convert caddy-compose.yml to template
- Convert dockge-compose.yml to template
- Convert hoarder-compose.yml to template
- All services now use consistent template-driven approach

## Documentation Updates
- Update CLAUDE.md with new service organization
- Update README.md files with category-based deployment examples
- Update todo.md with completed work summary
- Service count updated to 22+ active services

Infrastructure is now fully organized, cleaned up, and ready for future enhancements.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 12:16:44 -06:00

69 lines
1.8 KiB
YAML

---
# dns.yml
- name: Add A Records for thesatelliteoflove.com and nerder.land
hosts: localhost
gather_facts: false
vars:
# Domains to manage DNS records for
domains:
- name: thesatelliteoflove.com
dns_records:
- name: "pin"
ip: "152.53.36.98"
- name: "home"
ip: "152.53.36.98"
- name: "git"
ip: "152.53.36.98"
- name: "social"
ip: "152.53.36.98"
- name: "auth"
ip: "152.53.36.98"
- name: "audio"
ip: "152.53.36.98"
- name: "books"
ip: "152.53.36.98"
- name: "paper"
ip: "152.53.36.98"
- name: "code"
ip: "152.53.36.98"
- name: cal
ip: "152.53.36.98"
- name: phlog
ip: "152.53.36.98"
- name: loclog
ip: "152.53.36.98"
- name: watcher
ip: "152.53.36.98"
- name: chat
ip: "152.53.36.98"
- name: models
ip: "152.53.36.98"
- name: tasks
ip: "152.53.36.98"
- name: post
ip: "152.53.36.98"
- name: files
ip: "152.53.36.98"
- name: bookmarks
ip: "152.53.36.98"
- name: nerder.land
dns_records:
- name: "forms"
ip: "152.53.36.98"
- name: "repair"
ip: "152.53.36.98"
tasks:
- name: Add A records for subdomains of each domain
amazon.aws.route53:
state: present
zone: "{{ item.0.name }}"
record: "{{ item.0.name if item.1.name == '@' else item.1.name + '.' + item.0.name }}"
type: A
ttl: 300
value: "{{ item.1.ip }}"
loop: "{{ query('subelements', domains, 'dns_records') }}"
loop_control:
loop_var: item