feat: CI/CD pipeline setup complete - Ansible playbooks updated, secrets configured, workflow ready

This commit is contained in:
2025-10-31 01:39:24 +01:00
parent 55c04e4fd0
commit e26eb2aa12
601 changed files with 44184 additions and 32477 deletions

View File

@@ -0,0 +1,57 @@
---
# Ansible Playbook: Setup Production Secrets
# Purpose: Deploy Docker Secrets and environment configuration to production
# Usage: ansible-playbook -i inventory/production.yml playbooks/setup-production-secrets.yml --ask-vault-pass
- name: Setup Production Secrets and Environment
hosts: production_server
become: no
vars_files:
- ../secrets/production-vault.yml # Encrypted with ansible-vault
tasks:
- name: Ensure secrets directory exists
file:
path: /home/deploy/secrets
state: directory
mode: '0700'
owner: deploy
group: deploy
- name: Deploy environment file from vault
template:
src: ../templates/production.env.j2
dest: /home/deploy/secrets/.env.production
mode: '0600'
owner: deploy
group: deploy
notify: Restart services
- name: Create Docker secrets (if swarm is initialized)
docker_secret:
name: "{{ item.name }}"
data: "{{ item.value }}"
state: present
loop:
- { name: "db_password", value: "{{ vault_db_password }}" }
- { name: "redis_password", value: "{{ vault_redis_password }}" }
- { name: "app_key", value: "{{ vault_app_key }}" }
- { name: "jwt_secret", value: "{{ vault_jwt_secret }}" }
- { name: "registry_password", value: "{{ vault_registry_password }}" }
no_log: true # Don't log secrets
- name: Verify secrets are accessible
shell: docker secret ls
register: secret_list
changed_when: false
- name: Display deployed secrets (names only)
debug:
msg: "Deployed secrets: {{ secret_list.stdout_lines }}"
handlers:
- name: Restart services
shell: |
docker service update --force framework_web
docker service update --force framework_queue-worker
when: ansible_check_mode is not defined