NEW: Complete Ansible role for automated POTE deployment Files Added: ============ 📁 ansible/ ├── README.md - Overview and usage ├── roles/pote/defaults/main.yml - ⭐ 200+ variables defined ├── group_vars/ │ ├── all.yml - Common variables │ ├── development.yml - Dev environment (branch: dev) │ ├── staging.yml - QA environment (branch: qa) │ └── production.yml - Prod environment (branch: main) ├── inventory.example.yml - Example inventory └── vault.example.yml - Example secrets 📄 ANSIBLE_INTEGRATION.md - Complete integration guide What Ansible Needs to Know: ============================ ✅ Git repository & branch (per environment) ✅ Application user & paths ✅ Python & system dependencies ✅ Database configuration (per environment) ✅ Email/SMTP settings ✅ Monitoring configuration ✅ Cron/automation schedules ✅ Deployment options ✅ Security settings ✅ Feature flags ✅ Environment-specific overrides Variable Categories (11): ========================== 1. Project basics (5 vars) 2. User & paths (7 vars) 3. Python & dependencies (3 lists) 4. Database (8 vars) 5. Email/SMTP (6 vars) 6. Monitoring (2 vars) 7. Logging (2 vars) 8. Cron/automation (7 vars) 9. Deployment (6 vars) 10. Security (4 vars) 11. Feature flags (4 vars) Integration: ============ ✅ Compatible with base_os role ✅ Multi-environment support (dev/qa/prod) ✅ Branch-based deployment (dev→qa→main) ✅ Ansible Vault for secrets ✅ Sensible defaults for everything ✅ Minimal required config (3 vars!) Usage: ====== ansible-playbook deploy-pote.yml --limit development ansible-playbook deploy-pote.yml --limit staging ansible-playbook deploy-pote.yml --limit production Ready for your Ansible auto-configure system!
51 lines
2.1 KiB
YAML
51 lines
2.1 KiB
YAML
---
|
|
# =============================================================================
|
|
# POTE Ansible Vault Example
|
|
# =============================================================================
|
|
# This file shows what secrets should be stored in Ansible Vault
|
|
#
|
|
# To create your actual vault:
|
|
# ansible-vault create group_vars/all/vault.yml
|
|
#
|
|
# To edit:
|
|
# ansible-vault edit group_vars/all/vault.yml
|
|
# =============================================================================
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Git SSH Key (for cloning repository)
|
|
# -----------------------------------------------------------------------------
|
|
vault_git_ssh_key: |
|
|
-----BEGIN OPENSSH PRIVATE KEY-----
|
|
your_ssh_private_key_here
|
|
-----END OPENSSH PRIVATE KEY-----
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# User SSH Public Key (for poteapp user)
|
|
# -----------------------------------------------------------------------------
|
|
vault_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC... your_public_key"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# SMTP Password
|
|
# -----------------------------------------------------------------------------
|
|
vault_smtp_password: "your_mailbox_password_here"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Database Passwords (per environment)
|
|
# -----------------------------------------------------------------------------
|
|
vault_db_password_dev: "dev_password_123"
|
|
vault_db_password_qa: "qa_password_123"
|
|
vault_db_password_prod: "changeme123"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Optional API Keys
|
|
# -----------------------------------------------------------------------------
|
|
vault_quiverquant_key: ""
|
|
vault_fmp_key: ""
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Notification Webhooks (optional)
|
|
# -----------------------------------------------------------------------------
|
|
vault_notification_webhook: ""
|
|
vault_slack_webhook: ""
|
|
|