diff --git a/containerAdmin.yml b/containerAdmin.yml new file mode 100644 index 0000000..ca32e11 --- /dev/null +++ b/containerAdmin.yml @@ -0,0 +1,70 @@ +--- +- 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') }}" + env_br: "{{ lookup('env', 'ENV_BR') | default('main') }}" + 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" +