--- - name: Clone SSH repos, inject private key, build and run container hosts: localhost connection: local gather_facts: false vars: main_br: "{{ lookup('env', 'MAIN_BR') | default('main', true) }}" env_br: "{{ lookup('env', 'ENV_BR') | default('main', true) }}" playbook_file: "{{ lookup('env', 'PLAYBOOK_FILE') | default('base.yaml') }}" ssh_private_key: "{{ lookup('env', 'SSH_PRIVATE_KEY') }}" repo_core_url: "git@git.felcloud.io:felcloud/ansible_core_init_ansible.git" repo_env_url: "git@git.felcloud.io:felcloud/ansible_env_staging.git" repo_core_dir: "ansible_core_init_ansible" repo_env_dir: "ansible_env_staging" tasks: - name: Remove existing core repo ansible.builtin.file: path: "{{ repo_core_dir }}" state: absent - name: Remove existing env repo ansible.builtin.file: path: "{{ repo_env_dir }}" state: absent - name: Clone core repo via SSH ansible.builtin.git: repo: "{{ repo_core_url }}" dest: "{{ repo_core_dir }}" version: "{{ main_br }}" accept_hostkey: yes - name: Clone env repo via SSH ansible.builtin.git: repo: "{{ repo_env_url }}" dest: "{{ repo_env_dir }}" version: "{{ env_br }}" accept_hostkey: yes - name: Inject SSH private key into custom_files/id_rsa ansible.builtin.copy: content: "{{ ssh_private_key }}" dest: "{{ repo_core_dir }}/custom_files/id_rsa" mode: '0600' - name: Build the Docker image from core repo community.docker.docker_image: name: ansible-pulumi tag: local build: path: "{{ repo_core_dir }}" args: branch: fix_packages_dependencies nocache: true - name: Run the admin container (playbook not yet executed) community.docker.docker_container: name: admin-ansible-run image: ansible-pulumi:local command: bash tty: true interactive: true auto_remove: true volumes: - "{{ ansible_env_dir | realpath }}:/home/cloud/ansible_env_staging"