This document tracks all features and configurations implemented for the Oracle host management.
- Role:
packages - Description: Installs common system packages
- Packages: curl, wget, git, htop, vim, unzip, software-properties-common, apt-transport-https, ca-certificates, gnupg, lsb-release, locales
- Status: ✅ Implemented
- Role:
docker - Description: Docker CE installation with ARM64 architecture support
- Features:
- ARM64 repository configuration
- User addition to docker group
- Automatic architecture detection
- Status: ✅ Implemented
- Role:
borg - Description: Automated backup solution using BorgBackup
- Features:
- Borg 1.4.1 ARM64 binary installation
- Remote backup to Synology NAS
- Systemd timer for scheduled backups (daily at 02:30)
- SSH key authentication
- Repository encryption (repokey-blake2)
- Backup paths:
/home,/root,/etc,/usr/local - Retention policy: 7 daily, 4 weekly, 6 monthly, 1 yearly
- Remote path configuration for Synology NAS
- Status: ✅ Implemented
- Role:
datadog - Description: System monitoring and log collection
- Features:
- ARM64 support via official installation script
- Custom hostname:
oracle-vps - Log collection via journald (Ubuntu 24.04 systemd)
- Process monitoring enabled
- Tags: env:production, role:oracle-host, managed_by:ansible
- Status: ✅ Implemented
- Role:
tailscale - Description: Mesh VPN networking
- Features:
- Automatic installation and configuration
- Custom hostname:
oracle-oracle-server - Auth key from vault
- Status: ✅ Implemented
- Role:
common - Description: Basic system setup
- Features:
- Timezone configuration (UTC)
- Locale configuration (en_US.UTF-8)
- Swap disable for Kubernetes compatibility
- Status: ✅ Implemented
- Role:
cron - Description: Scheduled task management
- Status: ✅ Implemented
- Encrypted storage for sensitive data
- API keys, passwords, and authentication tokens
- File:
group_vars/oracle_hosts/vault.yml
- Existing SSH key usage for Borg backups (
/home/ubuntu/.ssh/nas) - Secure authentication without password storage
- Role:
k3s - Description: Lightweight Kubernetes cluster using k3s
- Features:
- k3s v1.31.3 with ARM64 support
- Cilium CNI v1.16.5 with eBPF dataplane
- Single-node setup optimized for edge/IoT
- Cluster CIDR: 10.42.0.0/16
- Service CIDR: 10.43.0.0/16
- Cilium CLI for management
- External IP access configured
- Traefik and ServiceLB disabled
- Status: ✅ Implemented
- Role:
kubernetes(disabled) - Reason: CNI networking issues, replaced with k3s
- Status: ❌ Removed - use
cleanup-k0s.ymlto clean up
- Role:
flux(disabled) - Reason: Will be re-enabled after k3s is stable
- Status: ⏸️ Temporarily disabled
- Re-enable Flux CD for GitOps
- MetalLB for load balancing
- Ingress controller configuration
- Target Platform: ARM64 (aarch64)
- OS: Ubuntu 24.04 (systemd-based)
- Host: Oracle Cloud VPS (158.101.195.8)
- Management: Single host Ansible configuration
- Inventory:
inventory.ini - Main Playbook:
site.yml - Variables:
group_vars/oracle_hosts/main.yml - Secrets:
group_vars/oracle_hosts/vault.yml(encrypted)