new-site/infra/ansible/roles/minio/tasks/main.yml
justin f8cd37ac8c Initial commit — Performance West telecom compliance platform
Includes: API (Express/TypeScript), Astro site, Python workers,
document generators, FCC compliance tools, Canada CRTC formation,
Ansible infrastructure, and deployment scripts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-27 06:54:22 -05:00

48 lines
1.3 KiB
YAML

---
# Performance West — MinIO role
# Starts MinIO and creates the required bucket.
- name: Ensure MinIO container is running
community.docker.docker_compose_v2:
project_src: "{{ project_dir }}"
services:
- minio
state: present
register: minio_compose
- name: Wait for MinIO to be ready
ansible.builtin.uri:
url: "http://127.0.0.1:{{ minio_port }}/minio/health/live"
status_code: 200
timeout: 5
register: minio_health
retries: 12
delay: 5
until: minio_health.status == 200
- name: Install MinIO client (mc)
ansible.builtin.get_url:
url: https://dl.min.io/client/mc/release/linux-amd64/mc
dest: /usr/local/bin/mc
mode: "0755"
force: false
- name: Configure mc alias for local MinIO
ansible.builtin.command:
cmd: >-
mc alias set local
http://127.0.0.1:{{ minio_port }}
{{ minio_access_key }}
{{ minio_secret_key }}
changed_when: false
- name: Create performancewest bucket if not exists
ansible.builtin.command:
cmd: mc mb --ignore-existing local/{{ minio_bucket }}
register: bucket_create
changed_when: "'Bucket created' in bucket_create.stdout"
- name: Set bucket policy — private (no public access)
ansible.builtin.command:
cmd: mc anonymous set none local/{{ minio_bucket }}
changed_when: false